Irrlicht 3D Engine
IrrCompileConfig.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __IRR_COMPILE_CONFIG_H_INCLUDED__
6 #define __IRR_COMPILE_CONFIG_H_INCLUDED__
7 
9 #define IRRLICHT_VERSION_MAJOR 1
10 #define IRRLICHT_VERSION_MINOR 9
11 #define IRRLICHT_VERSION_REVISION 0
12 // This flag will be defined only in SVN, the official release code will have
13 // it undefined
14 #define IRRLICHT_VERSION_SVN alpha
15 #define IRRLICHT_SDK_VERSION "1.9.0"
16 
17 #include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw
18 
27 
36 
42 
43 
45 //#define _IRR_COMPILE_WITH_SDL_DEVICE_
46 #ifdef NO_IRR_COMPILE_WITH_SDL_DEVICE_
47 #undef _IRR_COMPILE_WITH_SDL_DEVICE_
48 #endif
49 
51 #define _IRR_COMPILE_WITH_CONSOLE_DEVICE_
52 #ifdef NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_
53 #undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
54 #endif
55 
58 // The windows platform and API support SDL and WINDOW device
59 #if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
60 #define _IRR_WINDOWS_
61 #define _IRR_WINDOWS_API_
62 #define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
63 #endif
64 
65 #if defined(_MSC_VER) && (_MSC_VER < 1500)
66 # error "Only Microsoft Visual Studio 9.0 and later are supported."
67 #endif
68 
69 // XBox is deprecated (as DX8 is removed). Use Irrlicht 1.8 if you still want to work on this.
70 #if defined(_XBOX)
71  #undef _IRR_WINDOWS_
72  #define _IRR_XBOX_PLATFORM_ // deprecated
73  #define _IRR_WINDOWS_API_
74  //#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
75  #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
76  //#define _IRR_COMPILE_WITH_SDL_DEVICE_
77 
78  #include <xtl.h>
79 #endif
80 
81 #if defined(__APPLE__) || defined(MACOSX)
82 #if !defined(MACOSX)
83 #define MACOSX // legacy support
84 #endif
85 #define _IRR_OSX_PLATFORM_
86 #define _IRR_COMPILE_WITH_OSX_DEVICE_
87 #endif
88 
89 #if defined(__SVR4) && defined(__sun)
90 #define _IRR_SOLARIS_PLATFORM_
91 #if defined(__sparc)
92  #define __BIG_ENDIAN__
93 #endif
94 #endif
95 
96 #if !defined(_IRR_WINDOWS_API_) && !defined(_IRR_OSX_PLATFORM_)
97 #ifndef _IRR_SOLARIS_PLATFORM_
98 #define _IRR_LINUX_PLATFORM_
99 #endif
100 #define _IRR_POSIX_API_
101 #define _IRR_COMPILE_WITH_X11_DEVICE_
102 #endif
103 
104 
106 #define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
107 #ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
108 #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
109 #endif
110 
111 
113 #define _IRR_MATERIAL_MAX_TEXTURES_ 8
114 
116 #define _IRR_COMPILE_WITH_XML_
117 #ifdef NO_IRR_COMPILE_WITH_XML_
118 #undef _IRR_COMPILE_WITH_XML_
119 #endif
120 
123 //#define _IRR_COMPILE_WITH_LEAK_HUNTER_
124 #ifdef NO_IRR_COMPILE_WITH_LEAK_HUNTER_
125 #undef _IRR_COMPILE_WITH_LEAK_HUNTER_
126 #endif
127 
129 
132 //#define _IRR_COMPILE_WITH_PROFILING_
133 #ifdef NO_IRR_COMPILE_WITH_PROFILING_
134 #undef _IRR_COMPILE_WITH_PROFILING_
135 #endif
136 
138 
146 #if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
147 
149 
151 #define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
152 #ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
153 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
154 #endif
155 // can't get this to compile currently under borland, can be removed if someone has a better solution
156 #if defined(__BORLANDC__)
157 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
158 #endif
159 
161 #define _IRR_COMPILE_WITH_DIRECT3D_9_
162 #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
163 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
164 #endif
165 
166 #endif
167 
169 
171 #define _IRR_COMPILE_WITH_OPENGL_
172 #ifdef NO_IRR_COMPILE_WITH_OPENGL_
173 #undef _IRR_COMPILE_WITH_OPENGL_
174 #endif
175 
177 #if defined(_IRR_COMPILE_WITH_OPENGL_)
178 #if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_)
179 #define _IRR_OPENGL_USE_EXTPOINTER_
180 #define _IRR_COMPILE_WITH_WGL_MANAGER_
181 #elif defined(_IRR_COMPILE_WITH_X11_DEVICE_)
182 #define _IRR_OPENGL_USE_EXTPOINTER_
183 #define _IRR_COMPILE_WITH_GLX_MANAGER_
184 #elif defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
185 #define _IRR_COMPILE_WITH_NSOGL_MANAGER_
186 #elif defined(_IRR_SOLARIS_PLATFORM_)
187 #define _IRR_COMPILE_WITH_GLX_MANAGER_
188 #endif
189 #endif
190 
192 
194 #define _IRR_COMPILE_WITH_SOFTWARE_
195 #ifdef NO_IRR_COMPILE_WITH_SOFTWARE_
196 #undef _IRR_COMPILE_WITH_SOFTWARE_
197 #endif
198 
200 
201 #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
202 #ifdef NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
203 #undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
204 #endif
205 
207 
209 // Only used in LinuxDevice.
210 #define _IRR_COMPILE_WITH_X11_
211 #ifdef NO_IRR_COMPILE_WITH_X11_
212 #undef _IRR_COMPILE_WITH_X11_
213 #endif
214 
218 #if defined(_IRR_LINUX_PLATFORM_) && defined(_IRR_COMPILE_WITH_X11_)
219 #define _IRR_LINUX_X11_VIDMODE_
220 //#define _IRR_LINUX_X11_RANDR_
221 #ifdef NO_IRR_LINUX_X11_VIDMODE_
222 #undef _IRR_LINUX_X11_VIDMODE_
223 #endif
224 #ifdef NO_IRR_LINUX_X11_RANDR_
225 #undef _IRR_LINUX_X11_RANDR_
226 #endif
227 
231 //#define _IRR_LINUX_XCURSOR_
232 #ifdef NO_IRR_LINUX_XCURSOR_
233 #undef _IRR_LINUX_XCURSOR_
234 #endif
235 
236 #endif
237 
239 
241 #define _IRR_COMPILE_WITH_GUI_
242 #ifdef NO_IRR_COMPILE_WITH_GUI_
243 #undef _IRR_COMPILE_WITH_GUI_
244 #endif
245 
247 
248 #define _IRR_COMPILE_WITH_PARTICLES_
249 #ifdef NO_IRR_COMPILE_WITH_PARTICLES_
250 #undef _IRR_COMPILE_WITH_PARTICLES_
251 #endif
252 
254 
258 //#define _IRR_WCHAR_FILESYSTEM
259 #ifdef NO_IRR_WCHAR_FILESYSTEM
260 #undef _IRR_WCHAR_FILESYSTEM
261 #endif
262 
264 
266 #define _IRR_COMPILE_WITH_LIBJPEG_
267 #ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
268 #undef _IRR_COMPILE_WITH_LIBJPEG_
269 #endif
270 
272 
274 #define _IRR_USE_NON_SYSTEM_JPEG_LIB_
275 #ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_
276 #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
277 #endif
278 
280 
282 #define _IRR_COMPILE_WITH_LIBPNG_
283 #ifdef NO_IRR_COMPILE_WITH_LIBPNG_
284 #undef _IRR_COMPILE_WITH_LIBPNG_
285 #endif
286 
288 
290 #define _IRR_USE_NON_SYSTEM_LIB_PNG_
291 #ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_
292 #undef _IRR_USE_NON_SYSTEM_LIB_PNG_
293 #endif
294 
296 
305 #define _IRR_D3D_NO_SHADER_DEBUGGING
306 #ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
307 #undef _IRR_D3D_NO_SHADER_DEBUGGING
308 #endif
309 
311 
315 //#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
316 #ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
317 #undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
318 #endif
319 
321 
323 #undef _IRR_USE_NVIDIA_PERFHUD_
324 
326 
343 #define BURNINGVIDEO_RENDERER_BEAUTIFUL
344 //#define BURNINGVIDEO_RENDERER_FAST
345 //#define BURNINGVIDEO_RENDERER_ULTRA_FAST
346 //#define BURNINGVIDEO_RENDERER_CE
347 
349 //#define IGNORE_DEPRECATED_WARNING
350 
352 #define _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
353 #ifdef NO_IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
354 #undef _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
355 #endif
356 
358 #define _IRR_COMPILE_WITH_OCTREE_SCENENODE_
359 #ifdef NO_IRR_COMPILE_WITH_OCTREE_SCENENODE_
360 #undef _IRR_COMPILE_WITH_OCTREE_SCENENODE_
361 #endif
362 
364 #define _IRR_COMPILE_WITH_TERRAIN_SCENENODE_
365 #ifdef NO_IRR_COMPILE_WITH_TERRAIN_SCENENODE_
366 #undef _IRR_COMPILE_WITH_TERRAIN_SCENENODE_
367 #endif
368 
370 #define _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
371 #ifdef NO_IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
372 #undef _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
373 #endif
374 
376 #define _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
377 #ifdef NO_IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
378 #undef _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
379 #endif
380 
382 #define _IRR_COMPILE_WITH_SKYDOME_SCENENODE_
383 #ifdef NO_IRR_COMPILE_WITH_SKYDOME_SCENENODE_
384 #undef _IRR_COMPILE_WITH_SKYDOME_SCENENODE_
385 #endif
386 
388 #define _IRR_COMPILE_WITH_CUBE_SCENENODE_
389 #ifdef NO_IRR_COMPILE_WITH_CUBE_SCENENODE_
390 #undef _IRR_COMPILE_WITH_CUBE_SCENENODE_
391 #endif
392 
394 #define _IRR_COMPILE_WITH_SPHERE_SCENENODE_
395 #ifdef NO_IRR_COMPILE_WITH_SPHERE_SCENENODE_
396 #undef _IRR_COMPILE_WITH_SPHERE_SCENENODE_
397 #endif
398 
400 
401 #define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
402 #ifdef NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_
403 #undef _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
404 #endif
405 
407 
409 #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
410 #ifdef NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
411 #undef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
412 #endif
413 
414 #ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
415 #define _IRR_COMPILE_WITH_B3D_LOADER_
417 #ifdef NO_IRR_COMPILE_WITH_B3D_LOADER_
418 #undef _IRR_COMPILE_WITH_B3D_LOADER_
419 #endif
420 #define _IRR_COMPILE_WITH_MS3D_LOADER_
422 #ifdef NO_IRR_COMPILE_WITH_MS3D_LOADER_
423 #undef _IRR_COMPILE_WITH_MS3D_LOADER_
424 #endif
425 #define _IRR_COMPILE_WITH_X_LOADER_
427 #ifdef NO_IRR_COMPILE_WITH_X_LOADER_
428 #undef _IRR_COMPILE_WITH_X_LOADER_
429 #endif
430 #define _IRR_COMPILE_WITH_OGRE_LOADER_
432 #ifdef NO_IRR_COMPILE_WITH_OGRE_LOADER_
433 #undef _IRR_COMPILE_WITH_OGRE_LOADER_
434 #endif
435 #endif // _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
436 
438 #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
439 #ifdef NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_
440 #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
441 #endif
442 #define _IRR_COMPILE_WITH_HALFLIFE_LOADER_
444 #ifdef NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_
445 #undef _IRR_COMPILE_WITH_HALFLIFE_LOADER_
446 #endif
447 #define _IRR_COMPILE_WITH_MD2_LOADER_
449 #ifdef NO_IRR_COMPILE_WITH_MD2_LOADER_
450 #undef _IRR_COMPILE_WITH_MD2_LOADER_
451 #endif
452 #define _IRR_COMPILE_WITH_MD3_LOADER_
454 #ifdef NO_IRR_COMPILE_WITH_MD3_LOADER_
455 #undef _IRR_COMPILE_WITH_MD3_LOADER_
456 #endif
457 #define _IRR_COMPILE_WITH_3DS_LOADER_
459 #ifdef NO_IRR_COMPILE_WITH_3DS_LOADER_
460 #undef _IRR_COMPILE_WITH_3DS_LOADER_
461 #endif
462 #define _IRR_COMPILE_WITH_COLLADA_LOADER_
464 #ifdef NO_IRR_COMPILE_WITH_COLLADA_LOADER_
465 #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
466 #endif
467 #define _IRR_COMPILE_WITH_CSM_LOADER_
469 #ifdef NO_IRR_COMPILE_WITH_CSM_LOADER_
470 #undef _IRR_COMPILE_WITH_CSM_LOADER_
471 #endif
472 #define _IRR_COMPILE_WITH_BSP_LOADER_
474 #ifdef NO_IRR_COMPILE_WITH_BSP_LOADER_
475 #undef _IRR_COMPILE_WITH_BSP_LOADER_
476 #endif
477 #define _IRR_COMPILE_WITH_DMF_LOADER_
479 #ifdef NO_IRR_COMPILE_WITH_DMF_LOADER_
480 #undef _IRR_COMPILE_WITH_DMF_LOADER_
481 #endif
482 #define _IRR_COMPILE_WITH_LMTS_LOADER_
484 #ifdef NO_IRR_COMPILE_WITH_LMTS_LOADER_
485 #undef _IRR_COMPILE_WITH_LMTS_LOADER_
486 #endif
487 #define _IRR_COMPILE_WITH_MY3D_LOADER_
489 #ifdef NO_IRR_COMPILE_WITH_MY3D_LOADER_
490 #undef _IRR_COMPILE_WITH_MY3D_LOADER_
491 #endif
492 #define _IRR_COMPILE_WITH_OBJ_LOADER_
494 #ifdef NO_IRR_COMPILE_WITH_OBJ_LOADER_
495 #undef _IRR_COMPILE_WITH_OBJ_LOADER_
496 #endif
497 #define _IRR_COMPILE_WITH_OCT_LOADER_
499 #ifdef NO_IRR_COMPILE_WITH_OCT_LOADER_
500 #undef _IRR_COMPILE_WITH_OCT_LOADER_
501 #endif
502 #define _IRR_COMPILE_WITH_LWO_LOADER_
504 #ifdef NO_IRR_COMPILE_WITH_LWO_LOADER_
505 #undef _IRR_COMPILE_WITH_LWO_LOADER_
506 #endif
507 #define _IRR_COMPILE_WITH_STL_LOADER_
509 #ifdef NO_IRR_COMPILE_WITH_STL_LOADER_
510 #undef _IRR_COMPILE_WITH_STL_LOADER_
511 #endif
512 #define _IRR_COMPILE_WITH_PLY_LOADER_
514 #ifdef NO_IRR_COMPILE_WITH_PLY_LOADER_
515 #undef _IRR_COMPILE_WITH_PLY_LOADER_
516 #endif
517 #define _IRR_COMPILE_WITH_SMF_LOADER_
519 #ifdef NO_IRR_COMPILE_WITH_SMF_LOADER_
520 #undef _IRR_COMPILE_WITH_SMF_LOADER_
521 #endif
522 
524 #define _IRR_COMPILE_WITH_IRR_WRITER_
525 #ifdef NO_IRR_COMPILE_WITH_IRR_WRITER_
526 #undef _IRR_COMPILE_WITH_IRR_WRITER_
527 #endif
528 #define _IRR_COMPILE_WITH_COLLADA_WRITER_
530 #ifdef NO_IRR_COMPILE_WITH_COLLADA_WRITER_
531 #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
532 #endif
533 #define _IRR_COMPILE_WITH_STL_WRITER_
535 #ifdef NO_IRR_COMPILE_WITH_STL_WRITER_
536 #undef _IRR_COMPILE_WITH_STL_WRITER_
537 #endif
538 #define _IRR_COMPILE_WITH_OBJ_WRITER_
540 #ifdef NO_IRR_COMPILE_WITH_OBJ_WRITER_
541 #undef _IRR_COMPILE_WITH_OBJ_WRITER_
542 #endif
543 #define _IRR_COMPILE_WITH_PLY_WRITER_
545 #ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
546 #undef _IRR_COMPILE_WITH_PLY_WRITER_
547 #endif
548 #define _IRR_COMPILE_WITH_B3D_WRITER_
550 #ifdef NO_IRR_COMPILE_WITH_B3D_WRITER_
551 #undef _IRR_COMPILE_WITH_B3D_WRITER_
552 #endif
553 
556 #define _IRR_COMPILE_WITH_BMP_LOADER_
557 #ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
558 #undef _IRR_COMPILE_WITH_BMP_LOADER_
559 #endif
560 #define _IRR_COMPILE_WITH_JPG_LOADER_
562 #ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
563 #undef _IRR_COMPILE_WITH_JPG_LOADER_
564 #endif
565 #define _IRR_COMPILE_WITH_PCX_LOADER_
567 #ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
568 #undef _IRR_COMPILE_WITH_PCX_LOADER_
569 #endif
570 #define _IRR_COMPILE_WITH_PNG_LOADER_
572 #ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
573 #undef _IRR_COMPILE_WITH_PNG_LOADER_
574 #endif
575 #define _IRR_COMPILE_WITH_PPM_LOADER_
577 #ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
578 #undef _IRR_COMPILE_WITH_PPM_LOADER_
579 #endif
580 #define _IRR_COMPILE_WITH_PSD_LOADER_
582 #ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
583 #undef _IRR_COMPILE_WITH_PSD_LOADER_
584 #endif
585 #define _IRR_COMPILE_WITH_PVR_LOADER_
587 #ifdef NO_IRR_COMPILE_WITH_PVR_LOADER_
588 #undef _IRR_COMPILE_WITH_PVR_LOADER_
589 #endif
590 // Patent problem isn't related to this loader.
592 #define _IRR_COMPILE_WITH_DDS_LOADER_
593 #ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
594 #undef _IRR_COMPILE_WITH_DDS_LOADER_
595 #endif
596 // Outcommented because
599 // a) it doesn't compile on 64-bit currently
600 // b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
601 // is patented in the US by S3 and they do collect license fees when it's used in applications.
602 // So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
603 // #define _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
604 #ifdef NO_IRR_COMPILE_WITH_DDS_DECODER_LOADER_
605 #undef _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
606 #endif
607 #ifdef _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
608 #undef _IRR_COMPILE_WITH_DDS_LOADER_
609 #endif
610 #define _IRR_COMPILE_WITH_TGA_LOADER_
612 #ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
613 #undef _IRR_COMPILE_WITH_TGA_LOADER_
614 #endif
615 #define _IRR_COMPILE_WITH_WAL_LOADER_
617 #ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
618 #undef _IRR_COMPILE_WITH_WAL_LOADER_
619 #endif
620 #define _IRR_COMPILE_WITH_LMP_LOADER_
622 #ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
623 #undef _IRR_COMPILE_WITH_LMP_LOADER_
624 #endif
625 #define _IRR_COMPILE_WITH_RGB_LOADER_
627 #ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
628 #undef _IRR_COMPILE_WITH_RGB_LOADER_
629 #endif
630 
632 #define _IRR_COMPILE_WITH_BMP_WRITER_
633 #ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
634 #undef _IRR_COMPILE_WITH_BMP_WRITER_
635 #endif
636 #define _IRR_COMPILE_WITH_JPG_WRITER_
638 #ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
639 #undef _IRR_COMPILE_WITH_JPG_WRITER_
640 #endif
641 #define _IRR_COMPILE_WITH_PCX_WRITER_
643 #ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
644 #undef _IRR_COMPILE_WITH_PCX_WRITER_
645 #endif
646 #define _IRR_COMPILE_WITH_PNG_WRITER_
648 #ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
649 #undef _IRR_COMPILE_WITH_PNG_WRITER_
650 #endif
651 #define _IRR_COMPILE_WITH_PPM_WRITER_
653 #ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
654 #undef _IRR_COMPILE_WITH_PPM_WRITER_
655 #endif
656 #define _IRR_COMPILE_WITH_PSD_WRITER_
658 #ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
659 #undef _IRR_COMPILE_WITH_PSD_WRITER_
660 #endif
661 #define _IRR_COMPILE_WITH_TGA_WRITER_
663 #ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
664 #undef _IRR_COMPILE_WITH_TGA_WRITER_
665 #endif
666 
668 
669 #define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
670 #ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
671 #undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
672 #endif
673 #ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
674 
678 #define _IRR_COMPILE_WITH_ZLIB_
679 #ifdef NO_IRR_COMPILE_WITH_ZLIB_
680 #undef _IRR_COMPILE_WITH_ZLIB_
681 #endif
682 
686 #define _IRR_USE_NON_SYSTEM_ZLIB_
687 #ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_
688 #undef _IRR_USE_NON_SYSTEM_ZLIB_
689 #endif
690 #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
692 #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
693 #undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
694 #endif
695 
699 #define _IRR_COMPILE_WITH_BZIP2_
700 #ifdef NO_IRR_COMPILE_WITH_BZIP2_
701 #undef _IRR_COMPILE_WITH_BZIP2_
702 #endif
703 
707 #define _IRR_USE_NON_SYSTEM_BZLIB_
708 #ifdef NO_IRR_USE_NON_SYSTEM_BZLIB_
709 #undef _IRR_USE_NON_SYSTEM_BZLIB_
710 #endif
711 
714 #define _IRR_COMPILE_WITH_LZMA_
715 #ifdef NO_IRR_COMPILE_WITH_LZMA_
716 #undef _IRR_COMPILE_WITH_LZMA_
717 #endif
718 #endif
719 
721 #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
722 #ifdef NO__IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
723 #undef __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
724 #endif
725 #define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
727 #ifdef NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
728 #undef __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
729 #endif
730 #define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
732 #ifdef NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
733 #undef __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
734 #endif
735 #define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
737 #ifdef NO__IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
738 #undef __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
739 #endif
740 #define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
742 #ifdef NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
743 #undef __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
744 #endif
745 
747 
750 #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
751  //#define IRRLICHT_FAST_MATH
752  #ifdef NO_IRRLICHT_FAST_MATH
753  #undef IRRLICHT_FAST_MATH
754  #endif
755 #endif
756 
757 // Some cleanup and standard stuff
758 
759 #ifdef _IRR_WINDOWS_API_
760 
761 // To build Irrlicht as a static library, you must define _IRR_STATIC_LIB_ in both the
762 // Irrlicht build, *and* in the user application, before #including <irrlicht.h>
763 #ifndef _IRR_STATIC_LIB_
764 #ifdef IRRLICHT_EXPORTS
765 #define IRRLICHT_API __declspec(dllexport)
766 #else
767 #define IRRLICHT_API __declspec(dllimport)
768 #endif // IRRLICHT_EXPORT
769 #else
770 #define IRRLICHT_API
771 #endif // _IRR_STATIC_LIB_
772 
773 // Declare the calling convention.
774 #if defined(_STDCALL_SUPPORTED)
775 #define IRRCALLCONV __stdcall
776 #else
777 #define IRRCALLCONV __cdecl
778 #endif // STDCALL_SUPPORTED
779 
780 #else // _IRR_WINDOWS_API_
781 
782 // Force symbol export in shared libraries built with gcc.
783 #if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)
784 #define IRRLICHT_API __attribute__ ((visibility("default")))
785 #else
786 #define IRRLICHT_API
787 #endif
788 
789 #define IRRCALLCONV
790 
791 #endif // _IRR_WINDOWS_API_
792 
793 #ifndef _IRR_WINDOWS_API_
794  #undef _IRR_WCHAR_FILESYSTEM
795 #endif
796 
797 #if defined(_IRR_SOLARIS_PLATFORM_)
798  #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
799 #endif
800 
802 #define __IRR_HAS_S64
803 #ifdef NO__IRR_HAS_S64
804 #undef __IRR_HAS_S64
805 #endif
806 
807 // These depend on XML
808 #ifndef _IRR_COMPILE_WITH_XML_
809  #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
810  #undef _IRR_COMPILE_WITH_IRR_WRITER_
811  #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
812  #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
813 #endif
814 
815 #if defined(__BORLANDC__)
816  #include <tchar.h>
817 
818  // Borland 5.5.1 does not have _strcmpi defined
819  #if __BORLANDC__ == 0x551
820  // #define _strcmpi strcmpi
821  #undef _tfinddata_t
822  #undef _tfindfirst
823  #undef _tfindnext
824 
825  #define _tfinddata_t __tfinddata_t
826  #define _tfindfirst __tfindfirst
827  #define _tfindnext __tfindnext
828  typedef long intptr_t;
829  #endif
830 #endif
831 
832 #ifndef __has_feature
833  #define __has_feature(x) 0 // Compatibility with non-clang compilers.
834 #endif
835 
836 #ifdef _DEBUG
837  // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
839  // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
840  // A better solution in the long run is to break the interface and remove _all_ attribute
841  // access in functions like CSceneManager::drawAll and instead put that information in some
842  // own struct/class or in CSceneManager.
843  // See http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
844  #define _IRR_SCENEMANAGER_DEBUG
845  #ifdef NO_IRR_SCENEMANAGER_DEBUG
846  #undef _IRR_SCENEMANAGER_DEBUG
847  #endif
848 #endif
849 
850 #endif // __IRR_COMPILE_CONFIG_H_INCLUDED__
851