arsa  2.7
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 
29 
38 
44 
46 //#define _IRR_COMPILE_WITH_SDL_DEVICE_
47 #ifdef NO_IRR_COMPILE_WITH_SDL_DEVICE_
48 #undef _IRR_COMPILE_WITH_SDL_DEVICE_
49 #endif
50 
52 #define _IRR_COMPILE_WITH_CONSOLE_DEVICE_
53 #ifdef NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_
54 #undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
55 #endif
56 
59 // The windows platform and API support SDL and WINDOW device
60 #if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
61 #define _IRR_WINDOWS_
62 #define _IRR_WINDOWS_API_
63 #define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
64 #endif
65 
66 #if defined(_MSC_VER) && (_MSC_VER < 1500)
67 # error "Only Microsoft Visual Studio 9.0 and later are supported."
68 #endif
69 
70 // XBox is deprecated (as DX8 is removed). Use Irrlicht 1.8 if you still want to work on this.
71 #if defined(_XBOX)
72  #undef _IRR_WINDOWS_
73  #define _IRR_XBOX_PLATFORM_ // deprecated
74  #define _IRR_WINDOWS_API_
75  //#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
76  #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
77  //#define _IRR_COMPILE_WITH_SDL_DEVICE_
78 
79  #include <xtl.h>
80 #endif
81 
82 #if defined(__APPLE__) || defined(MACOSX)
83 #if !defined(MACOSX)
84 #define MACOSX // legacy support
85 #endif
86 #if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) || defined(__IPHONE_OS_VERSION_MIN_REQUIRED)
87 #define _IRR_IOS_PLATFORM_
88 #define _IRR_COMPILE_WITH_IOS_DEVICE_
89 #define NO_IRR_COMPILE_WITH_OPENGL_
90 // The application state events and following methods: IrrlichtDevice::isWindowActive, IrrlichtDevice::isWindowFocused,
91 // IrrlichtDevice::isWindowMinimized works out of box only if you'll use built-in CIrrDelegateiOS,
92 // so _IRR_COMPILE_WITH_IOS_BUILTIN_MAIN_ must be enabled in this case. If you need a custom UIApplicationDelegate
93 // you must disable _IRR_COMPILE_WITH_IOS_BUILTIN_MAIN_ definition and handle all application events yourself.
94 #define _IRR_COMPILE_WITH_IOS_BUILTIN_MAIN_
95 #else
96 #define _IRR_OSX_PLATFORM_
97 #define _IRR_COMPILE_WITH_OSX_DEVICE_
98 #define NO_IRR_COMPILE_WITH_OGLES1_
99 #define NO_IRR_COMPILE_WITH_OGLES2_
100 #define NO_IRR_COMPILE_WITH_WEBGL1_
101 #endif
102 #endif
103 
104 #if defined(__EMSCRIPTEN__)
105 #define _IRR_EMSCRIPTEN_PLATFORM_
106 #define NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
107 #define NO_IRR_COMPILE_WITH_OPENGL_
108 #define NO_IRR_COMPILE_WITH_OGLES1_
109 #define _IRR_COMPILE_WITH_OGLES2_
110 #define _IRR_COMPILE_WITH_WEBGL1_
111 #define _IRR_COMPILE_WITH_EGL_MANAGER_
112 #define _IRR_COMPILE_WITH_SDL_DEVICE_
113 #define NO_IRR_COMPILE_WITH_X11_DEVICE_
114 #define _IRR_LINUX_PLATFORM_ // emscripten basically working like a unix
115 #define NO_IRR_COMPILE_WITH_SOFTWARE_
116 #define NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
117 #endif // __EMSCRIPTEN__
118 
119 #if defined(__ANDROID__)
120 #define _IRR_ANDROID_PLATFORM_
121 #define _IRR_COMPILE_WITH_ANDROID_DEVICE_
122 #define _IRR_COMPILE_ANDROID_ASSET_READER_
123 #define NO_IRR_COMPILE_WITH_OPENGL_
124 #endif
125 
126 #if defined(__SVR4) && defined(__sun)
127 #define _IRR_SOLARIS_PLATFORM_
128 #if defined(__sparc)
129  #define __BIG_ENDIAN__
130 #endif
131 #endif
132 
133 #if !defined(_IRR_WINDOWS_API_) && !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_IOS_PLATFORM_) && !defined(_IRR_ANDROID_PLATFORM_) && !defined(_IRR_EMSCRIPTEN_PLATFORM_)
134 #ifndef _IRR_SOLARIS_PLATFORM_
135 #define _IRR_LINUX_PLATFORM_
136 #endif
137 #define _IRR_POSIX_API_
138 #define _IRR_COMPILE_WITH_X11_DEVICE_
139 #endif
140 
141 
143 #define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
144 #ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
145 #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
146 #endif
147 
148 
150 #define _IRR_MATERIAL_MAX_TEXTURES_ 8
151 
153 #define _IRR_COMPILE_WITH_XML_
154 #ifdef NO_IRR_COMPILE_WITH_XML_
155 #undef _IRR_COMPILE_WITH_XML_
156 #endif
157 
160 //#define _IRR_COMPILE_WITH_LEAK_HUNTER_
161 #ifdef NO_IRR_COMPILE_WITH_LEAK_HUNTER_
162 #undef _IRR_COMPILE_WITH_LEAK_HUNTER_
163 #endif
164 
166 
169 //#define _IRR_COMPILE_WITH_PROFILING_
170 #ifdef NO_IRR_COMPILE_WITH_PROFILING_
171 #undef _IRR_COMPILE_WITH_PROFILING_
172 #endif
173 
175 
183 #if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
184 
186 
188 #define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
189 #ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
190 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
191 #endif
192 // can't get this to compile currently under borland, can be removed if someone has a better solution
193 #if defined(__BORLANDC__)
194 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
195 #endif
196 
198 #define _IRR_COMPILE_WITH_DIRECT3D_9_
199 #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
200 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
201 #endif
202 
203 #endif
204 
206 
208 #define _IRR_COMPILE_WITH_OPENGL_
209 #ifdef NO_IRR_COMPILE_WITH_OPENGL_
210 #undef _IRR_COMPILE_WITH_OPENGL_
211 #endif
212 
214 #if defined(_IRR_COMPILE_WITH_OPENGL_)
215  #if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_)
216  #define _IRR_OPENGL_USE_EXTPOINTER_
217  #define _IRR_COMPILE_WITH_WGL_MANAGER_
218  #elif defined(_IRR_COMPILE_WITH_X11_DEVICE_)
219  #define _IRR_OPENGL_USE_EXTPOINTER_
220  #define _IRR_COMPILE_WITH_GLX_MANAGER_
221  #elif defined(_IRR_COMPILE_WITH_OSX_DEVICE_)
222  #define _IRR_COMPILE_WITH_NSOGL_MANAGER_
223  #elif defined(_IRR_SOLARIS_PLATFORM_)
224  #define _IRR_COMPILE_WITH_GLX_MANAGER_
225  #elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_)
226  #define _IRR_OPENGL_USE_EXTPOINTER_
227  #endif
228 #endif
229 
230 
231 // Debian 10 removed support for GLES1 in mesa.
232 // Can't tell about other Linux platforms or a way to test if it's still available,
233 // so removing OGLES1 support on Linux now to allow compiling to work by default.
234 #if defined(_IRR_LINUX_PLATFORM_) && !defined(_IRR_ANDROID_PLATFORM_)
235 #define NO_IRR_COMPILE_WITH_OGLES1_
236 #endif
237 
239 
241 #define _IRR_COMPILE_WITH_OGLES1_
242 #ifdef NO_IRR_COMPILE_WITH_OGLES1_
243 #undef _IRR_COMPILE_WITH_OGLES1_
244 #endif
245 
247 #if defined(_IRR_COMPILE_WITH_OGLES1_)
248 #if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
249 #define _IRR_OGLES1_USE_EXTPOINTER_
250 #ifndef _IRR_COMPILE_WITH_EGL_MANAGER_
251 #define _IRR_COMPILE_WITH_EGL_MANAGER_
252 #endif
253 #elif defined(_IRR_COMPILE_WITH_IOS_DEVICE_)
254 #ifndef _IRR_COMPILE_WITH_EAGL_MANAGER_
255 #define _IRR_COMPILE_WITH_EAGL_MANAGER_
256 #endif
257 #endif
258 #endif
259 
261 
263 #define _IRR_COMPILE_WITH_OGLES2_
264 #ifdef NO_IRR_COMPILE_WITH_OGLES2_
265 #undef _IRR_COMPILE_WITH_OGLES2_
266 #endif
267 
270 #define _IRR_COMPILE_WITH_WEBGL1_
271 #ifdef NO_IRR_COMPILE_WITH_WEBGL1_
272 #undef _IRR_COMPILE_WITH_WEBGL1_
273 #endif
274 #ifdef _IRR_COMPILE_WITH_WEBGL1_
275 #define _IRR_COMPILE_WITH_OGLES2_ // it's a subset of OGL ES2, so always needed when using WebGL
276 #endif
277 
279 #if defined(_IRR_COMPILE_WITH_OGLES2_)
280 #if defined(_IRR_COMPILE_WITH_WINDOWS_DEVICE_) || defined(_IRR_COMPILE_WITH_X11_DEVICE_) || defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_) || defined(__EMSCRIPTEN__)
281 #define _IRR_OGLES2_USE_EXTPOINTER_
282 #ifndef _IRR_COMPILE_WITH_EGL_MANAGER_
283 #define _IRR_COMPILE_WITH_EGL_MANAGER_
284 #endif
285 #elif defined(_IRR_COMPILE_WITH_IOS_DEVICE_)
286 #ifndef _IRR_COMPILE_WITH_EAGL_MANAGER_
287 #define _IRR_COMPILE_WITH_EAGL_MANAGER_
288 #endif
289 #endif
290 #endif
291 
292 
293 
295 
297 #define _IRR_COMPILE_WITH_SOFTWARE_
298 #ifdef NO_IRR_COMPILE_WITH_SOFTWARE_
299 #undef _IRR_COMPILE_WITH_SOFTWARE_
300 #endif
301 
303 
304 #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
305 #ifdef NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
306 #undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
307 #endif
308 
310 
312 // Only used in LinuxDevice.
313 #define _IRR_COMPILE_WITH_X11_
314 #ifdef NO_IRR_COMPILE_WITH_X11_
315 #undef _IRR_COMPILE_WITH_X11_
316 #endif
317 
321 #if defined(_IRR_LINUX_PLATFORM_) && defined(_IRR_COMPILE_WITH_X11_)
322 #define _IRR_LINUX_X11_VIDMODE_
323 //#define _IRR_LINUX_X11_RANDR_
324 #ifdef NO_IRR_LINUX_X11_VIDMODE_
325 #undef _IRR_LINUX_X11_VIDMODE_
326 #endif
327 #ifdef NO_IRR_LINUX_X11_RANDR_
328 #undef _IRR_LINUX_X11_RANDR_
329 #endif
330 
334 //#define _IRR_LINUX_XCURSOR_
335 #ifdef NO_IRR_LINUX_XCURSOR_
336 #undef _IRR_LINUX_XCURSOR_
337 #endif
338 
339 #endif
340 
342 
344 #define _IRR_COMPILE_WITH_GUI_
345 #ifdef NO_IRR_COMPILE_WITH_GUI_
346 #undef _IRR_COMPILE_WITH_GUI_
347 #endif
348 
350 
351 #define _IRR_COMPILE_WITH_PARTICLES_
352 #ifdef NO_IRR_COMPILE_WITH_PARTICLES_
353 #undef _IRR_COMPILE_WITH_PARTICLES_
354 #endif
355 
357 
361 //#define _IRR_WCHAR_FILESYSTEM
362 #ifdef NO_IRR_WCHAR_FILESYSTEM
363 #undef _IRR_WCHAR_FILESYSTEM
364 #endif
365 
367 
369 #define _IRR_COMPILE_WITH_LIBJPEG_
370 #ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
371 #undef _IRR_COMPILE_WITH_LIBJPEG_
372 #endif
373 
375 
379 #define _IRR_USE_NON_SYSTEM_JPEG_LIB_
380 #ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_
381 #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
382 #endif
383 
385 
387 #define _IRR_COMPILE_WITH_LIBPNG_
388 #ifdef NO_IRR_COMPILE_WITH_LIBPNG_
389 #undef _IRR_COMPILE_WITH_LIBPNG_
390 #endif
391 
393 
397 #define _IRR_USE_NON_SYSTEM_LIB_PNG_
398 #ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_
399 #undef _IRR_USE_NON_SYSTEM_LIB_PNG_
400 #endif
401 
403 
412 #define _IRR_D3D_NO_SHADER_DEBUGGING
413 #ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
414 #undef _IRR_D3D_NO_SHADER_DEBUGGING
415 #endif
416 
418 
422 //#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
423 #ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
424 #undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
425 #endif
426 
428 
430 #undef _IRR_USE_NVIDIA_PERFHUD_
431 
433 
450 #define BURNINGVIDEO_RENDERER_BEAUTIFUL
451 //#define BURNINGVIDEO_RENDERER_FAST
452 //#define BURNINGVIDEO_RENDERER_ULTRA_FAST
453 //#define BURNINGVIDEO_RENDERER_CE
454 
456 //#define IGNORE_DEPRECATED_WARNING
457 
459 #define _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
460 #ifdef NO_IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
461 #undef _IRR_COMPILE_WITH_SHADOW_VOLUME_SCENENODE_
462 #endif
463 
465 #define _IRR_COMPILE_WITH_OCTREE_SCENENODE_
466 #ifdef NO_IRR_COMPILE_WITH_OCTREE_SCENENODE_
467 #undef _IRR_COMPILE_WITH_OCTREE_SCENENODE_
468 #endif
469 
471 #define _IRR_COMPILE_WITH_TERRAIN_SCENENODE_
472 #ifdef NO_IRR_COMPILE_WITH_TERRAIN_SCENENODE_
473 #undef _IRR_COMPILE_WITH_TERRAIN_SCENENODE_
474 #endif
475 
477 #define _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
478 #ifdef NO_IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
479 #undef _IRR_COMPILE_WITH_BILLBOARD_SCENENODE_
480 #endif
481 
483 #define _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
484 #ifdef NO_IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
485 #undef _IRR_COMPILE_WITH_WATER_SURFACE_SCENENODE_
486 #endif
487 
489 #define _IRR_COMPILE_WITH_SKYDOME_SCENENODE_
490 #ifdef NO_IRR_COMPILE_WITH_SKYDOME_SCENENODE_
491 #undef _IRR_COMPILE_WITH_SKYDOME_SCENENODE_
492 #endif
493 
495 #define _IRR_COMPILE_WITH_CUBE_SCENENODE_
496 #ifdef NO_IRR_COMPILE_WITH_CUBE_SCENENODE_
497 #undef _IRR_COMPILE_WITH_CUBE_SCENENODE_
498 #endif
499 
501 #define _IRR_COMPILE_WITH_SPHERE_SCENENODE_
502 #ifdef NO_IRR_COMPILE_WITH_SPHERE_SCENENODE_
503 #undef _IRR_COMPILE_WITH_SPHERE_SCENENODE_
504 #endif
505 
507 
508 #define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
509 #ifdef NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_
510 #undef _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
511 #endif
512 
514 
516 #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
517 #ifdef NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
518 #undef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
519 #endif
520 
521 #ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
522 #define _IRR_COMPILE_WITH_B3D_LOADER_
524 #ifdef NO_IRR_COMPILE_WITH_B3D_LOADER_
525 #undef _IRR_COMPILE_WITH_B3D_LOADER_
526 #endif
527 #define _IRR_COMPILE_WITH_MS3D_LOADER_
529 #ifdef NO_IRR_COMPILE_WITH_MS3D_LOADER_
530 #undef _IRR_COMPILE_WITH_MS3D_LOADER_
531 #endif
532 #define _IRR_COMPILE_WITH_X_LOADER_
534 #ifdef NO_IRR_COMPILE_WITH_X_LOADER_
535 #undef _IRR_COMPILE_WITH_X_LOADER_
536 #endif
537 #define _IRR_COMPILE_WITH_OGRE_LOADER_
539 #ifdef NO_IRR_COMPILE_WITH_OGRE_LOADER_
540 #undef _IRR_COMPILE_WITH_OGRE_LOADER_
541 #endif
542 #endif // _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
543 
545 #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
546 #ifdef NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_
547 #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
548 #endif
549 #define _IRR_COMPILE_WITH_HALFLIFE_LOADER_
551 #ifdef NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_
552 #undef _IRR_COMPILE_WITH_HALFLIFE_LOADER_
553 #endif
554 #define _IRR_COMPILE_WITH_MD2_LOADER_
556 #ifdef NO_IRR_COMPILE_WITH_MD2_LOADER_
557 #undef _IRR_COMPILE_WITH_MD2_LOADER_
558 #endif
559 #define _IRR_COMPILE_WITH_MD3_LOADER_
561 #ifdef NO_IRR_COMPILE_WITH_MD3_LOADER_
562 #undef _IRR_COMPILE_WITH_MD3_LOADER_
563 #endif
564 #define _IRR_COMPILE_WITH_3DS_LOADER_
566 #ifdef NO_IRR_COMPILE_WITH_3DS_LOADER_
567 #undef _IRR_COMPILE_WITH_3DS_LOADER_
568 #endif
569 #define _IRR_COMPILE_WITH_COLLADA_LOADER_
571 #ifdef NO_IRR_COMPILE_WITH_COLLADA_LOADER_
572 #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
573 #endif
574 #define _IRR_COMPILE_WITH_CSM_LOADER_
576 #ifdef NO_IRR_COMPILE_WITH_CSM_LOADER_
577 #undef _IRR_COMPILE_WITH_CSM_LOADER_
578 #endif
579 #define _IRR_COMPILE_WITH_BSP_LOADER_
581 #ifdef NO_IRR_COMPILE_WITH_BSP_LOADER_
582 #undef _IRR_COMPILE_WITH_BSP_LOADER_
583 #endif
584 #define _IRR_COMPILE_WITH_DMF_LOADER_
586 #ifdef NO_IRR_COMPILE_WITH_DMF_LOADER_
587 #undef _IRR_COMPILE_WITH_DMF_LOADER_
588 #endif
589 #define _IRR_COMPILE_WITH_LMTS_LOADER_
591 #ifdef NO_IRR_COMPILE_WITH_LMTS_LOADER_
592 #undef _IRR_COMPILE_WITH_LMTS_LOADER_
593 #endif
594 #define _IRR_COMPILE_WITH_MY3D_LOADER_
596 #ifdef NO_IRR_COMPILE_WITH_MY3D_LOADER_
597 #undef _IRR_COMPILE_WITH_MY3D_LOADER_
598 #endif
599 #define _IRR_COMPILE_WITH_OBJ_LOADER_
601 #ifdef NO_IRR_COMPILE_WITH_OBJ_LOADER_
602 #undef _IRR_COMPILE_WITH_OBJ_LOADER_
603 #endif
604 #define _IRR_COMPILE_WITH_OCT_LOADER_
606 #ifdef NO_IRR_COMPILE_WITH_OCT_LOADER_
607 #undef _IRR_COMPILE_WITH_OCT_LOADER_
608 #endif
609 #define _IRR_COMPILE_WITH_LWO_LOADER_
611 #ifdef NO_IRR_COMPILE_WITH_LWO_LOADER_
612 #undef _IRR_COMPILE_WITH_LWO_LOADER_
613 #endif
614 #define _IRR_COMPILE_WITH_STL_LOADER_
616 #ifdef NO_IRR_COMPILE_WITH_STL_LOADER_
617 #undef _IRR_COMPILE_WITH_STL_LOADER_
618 #endif
619 #define _IRR_COMPILE_WITH_PLY_LOADER_
621 #ifdef NO_IRR_COMPILE_WITH_PLY_LOADER_
622 #undef _IRR_COMPILE_WITH_PLY_LOADER_
623 #endif
624 #define _IRR_COMPILE_WITH_SMF_LOADER_
626 #ifdef NO_IRR_COMPILE_WITH_SMF_LOADER_
627 #undef _IRR_COMPILE_WITH_SMF_LOADER_
628 #endif
629 
631 #define _IRR_COMPILE_WITH_IRR_WRITER_
632 #ifdef NO_IRR_COMPILE_WITH_IRR_WRITER_
633 #undef _IRR_COMPILE_WITH_IRR_WRITER_
634 #endif
635 #define _IRR_COMPILE_WITH_COLLADA_WRITER_
637 #ifdef NO_IRR_COMPILE_WITH_COLLADA_WRITER_
638 #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
639 #endif
640 #define _IRR_COMPILE_WITH_STL_WRITER_
642 #ifdef NO_IRR_COMPILE_WITH_STL_WRITER_
643 #undef _IRR_COMPILE_WITH_STL_WRITER_
644 #endif
645 #define _IRR_COMPILE_WITH_OBJ_WRITER_
647 #ifdef NO_IRR_COMPILE_WITH_OBJ_WRITER_
648 #undef _IRR_COMPILE_WITH_OBJ_WRITER_
649 #endif
650 #define _IRR_COMPILE_WITH_PLY_WRITER_
652 #ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
653 #undef _IRR_COMPILE_WITH_PLY_WRITER_
654 #endif
655 #define _IRR_COMPILE_WITH_B3D_WRITER_
657 #ifdef NO_IRR_COMPILE_WITH_B3D_WRITER_
658 #undef _IRR_COMPILE_WITH_B3D_WRITER_
659 #endif
660 
663 #define _IRR_COMPILE_WITH_BMP_LOADER_
664 #ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
665 #undef _IRR_COMPILE_WITH_BMP_LOADER_
666 #endif
667 #define _IRR_COMPILE_WITH_JPG_LOADER_
669 #ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
670 #undef _IRR_COMPILE_WITH_JPG_LOADER_
671 #endif
672 #define _IRR_COMPILE_WITH_PCX_LOADER_
674 #ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
675 #undef _IRR_COMPILE_WITH_PCX_LOADER_
676 #endif
677 #define _IRR_COMPILE_WITH_PNG_LOADER_
679 #ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
680 #undef _IRR_COMPILE_WITH_PNG_LOADER_
681 #endif
682 #define _IRR_COMPILE_WITH_PPM_LOADER_
684 #ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
685 #undef _IRR_COMPILE_WITH_PPM_LOADER_
686 #endif
687 #define _IRR_COMPILE_WITH_PSD_LOADER_
689 #ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
690 #undef _IRR_COMPILE_WITH_PSD_LOADER_
691 #endif
692 #define _IRR_COMPILE_WITH_PVR_LOADER_
694 #ifdef NO_IRR_COMPILE_WITH_PVR_LOADER_
695 #undef _IRR_COMPILE_WITH_PVR_LOADER_
696 #endif
697 // Patent problem isn't related to this loader.
699 #define _IRR_COMPILE_WITH_DDS_LOADER_
700 #ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
701 #undef _IRR_COMPILE_WITH_DDS_LOADER_
702 #endif
703 // Outcommented because
706 // a) it doesn't compile on 64-bit currently
707 // b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
708 // is patented in the US by S3 and they do collect license fees when it's used in applications.
709 // So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
710 // #define _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
711 #ifdef NO_IRR_COMPILE_WITH_DDS_DECODER_LOADER_
712 #undef _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
713 #endif
714 #ifdef _IRR_COMPILE_WITH_DDS_DECODER_LOADER_
715 #undef _IRR_COMPILE_WITH_DDS_LOADER_
716 #endif
717 #define _IRR_COMPILE_WITH_TGA_LOADER_
719 #ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
720 #undef _IRR_COMPILE_WITH_TGA_LOADER_
721 #endif
722 #define _IRR_COMPILE_WITH_WAL_LOADER_
724 #ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
725 #undef _IRR_COMPILE_WITH_WAL_LOADER_
726 #endif
727 #define _IRR_COMPILE_WITH_LMP_LOADER_
729 #ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
730 #undef _IRR_COMPILE_WITH_LMP_LOADER_
731 #endif
732 #define _IRR_COMPILE_WITH_RGB_LOADER_
734 #ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
735 #undef _IRR_COMPILE_WITH_RGB_LOADER_
736 #endif
737 
739 #define _IRR_COMPILE_WITH_BMP_WRITER_
740 #ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
741 #undef _IRR_COMPILE_WITH_BMP_WRITER_
742 #endif
743 #define _IRR_COMPILE_WITH_JPG_WRITER_
745 #ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
746 #undef _IRR_COMPILE_WITH_JPG_WRITER_
747 #endif
748 #define _IRR_COMPILE_WITH_PCX_WRITER_
750 #ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
751 #undef _IRR_COMPILE_WITH_PCX_WRITER_
752 #endif
753 #define _IRR_COMPILE_WITH_PNG_WRITER_
755 #ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
756 #undef _IRR_COMPILE_WITH_PNG_WRITER_
757 #endif
758 #define _IRR_COMPILE_WITH_PPM_WRITER_
760 #ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
761 #undef _IRR_COMPILE_WITH_PPM_WRITER_
762 #endif
763 #define _IRR_COMPILE_WITH_PSD_WRITER_
765 #ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
766 #undef _IRR_COMPILE_WITH_PSD_WRITER_
767 #endif
768 #define _IRR_COMPILE_WITH_TGA_WRITER_
770 #ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
771 #undef _IRR_COMPILE_WITH_TGA_WRITER_
772 #endif
773 
775 
776 #define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
777 #ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
778 #undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
779 #endif
780 #ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
781 
785 #define _IRR_COMPILE_WITH_ZLIB_
786 #ifdef NO_IRR_COMPILE_WITH_ZLIB_
787 #undef _IRR_COMPILE_WITH_ZLIB_
788 #endif
789 
795 #define _IRR_USE_NON_SYSTEM_ZLIB_
796 #ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_
797 #undef _IRR_USE_NON_SYSTEM_ZLIB_
798 #endif
799 #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
801 #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
802 #undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
803 #endif
804 
808 #define _IRR_COMPILE_WITH_BZIP2_
809 #ifdef NO_IRR_COMPILE_WITH_BZIP2_
810 #undef _IRR_COMPILE_WITH_BZIP2_
811 #endif
812 
818 #define _IRR_USE_NON_SYSTEM_BZLIB_
819 #ifdef NO_IRR_USE_NON_SYSTEM_BZLIB_
820 #undef _IRR_USE_NON_SYSTEM_BZLIB_
821 #endif
822 
825 #define _IRR_COMPILE_WITH_LZMA_
826 #ifdef NO_IRR_COMPILE_WITH_LZMA_
827 #undef _IRR_COMPILE_WITH_LZMA_
828 #endif
829 #endif
830 
832 #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
833 #ifdef NO__IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
834 #undef __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
835 #endif
836 #define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
838 #ifdef NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
839 #undef __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
840 #endif
841 #define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
843 #ifdef NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
844 #undef __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
845 #endif
846 #define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
848 #ifdef NO__IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
849 #undef __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
850 #endif
851 #define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
853 #ifdef NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
854 #undef __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
855 #endif
856 
858 
861 #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
862  //#define IRRLICHT_FAST_MATH
863  #ifdef NO_IRRLICHT_FAST_MATH
864  #undef IRRLICHT_FAST_MATH
865  #endif
866 #endif
867 
868 // Some cleanup and standard stuff
869 
870 #ifdef _IRR_WINDOWS_API_
871 
872 // To build Irrlicht as a static library, you must define _IRR_STATIC_LIB_ in both the
873 // Irrlicht build, *and* in the user application, before #including <irrlicht.h>
874 #ifndef _IRR_STATIC_LIB_
875 #ifdef IRRLICHT_EXPORTS
876 #define IRRLICHT_API __declspec(dllexport)
877 #else
878 #define IRRLICHT_API __declspec(dllimport)
879 #endif // IRRLICHT_EXPORT
880 #else
881 #define IRRLICHT_API
882 #endif // _IRR_STATIC_LIB_
883 
884 // Declare the calling convention.
885 #if defined(_STDCALL_SUPPORTED)
886 #define IRRCALLCONV __stdcall
887 #else
888 #define IRRCALLCONV __cdecl
889 #endif // STDCALL_SUPPORTED
890 
891 #else // _IRR_WINDOWS_API_
892 
893 // Force symbol export in shared libraries built with gcc.
894 #if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)
895 #define IRRLICHT_API __attribute__ ((visibility("default")))
896 #else
897 #define IRRLICHT_API
898 #endif
899 
900 #define IRRCALLCONV
901 
902 #endif // _IRR_WINDOWS_API_
903 
904 #ifndef _IRR_WINDOWS_API_
905  #undef _IRR_WCHAR_FILESYSTEM
906 #endif
907 
908 #if defined(_IRR_SOLARIS_PLATFORM_)
909  #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
910 #endif
911 
913 #define __IRR_HAS_S64
914 #ifdef NO__IRR_HAS_S64
915 #undef __IRR_HAS_S64
916 #endif
917 
918 // These depend on XML
919 #ifndef _IRR_COMPILE_WITH_XML_
920  #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
921  #undef _IRR_COMPILE_WITH_IRR_WRITER_
922  #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
923  #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
924 #endif
925 
926 #if defined(__BORLANDC__)
927  #include <tchar.h>
928 
929  // Borland 5.5.1
930  #if __BORLANDC__ == 0x551
931  #undef _tfinddata_t
932  #undef _tfindfirst
933  #undef _tfindnext
934 
935  #define _tfinddata_t __tfinddata_t
936  #define _tfindfirst __tfindfirst
937  #define _tfindnext __tfindnext
938  typedef long intptr_t;
939  #endif
940 #endif
941 
942 #ifndef __has_feature
943  #define __has_feature(x) 0 // Compatibility with non-clang compilers.
944 #endif
945 
946 #ifdef _DEBUG
947  // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
949  // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
950  // A better solution in the long run is to break the interface and remove _all_ attribute
951  // access in functions like CSceneManager::drawAll and instead put that information in some
952  // own struct/class or in CSceneManager.
953  // See http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
954  #define _IRR_SCENEMANAGER_DEBUG
955  #ifdef NO_IRR_SCENEMANAGER_DEBUG
956  #undef _IRR_SCENEMANAGER_DEBUG
957  #endif
958 #endif
959 
960 #if defined(_IRR_COMPILE_WITH_SDL2_DEVICE_)
961  #undef _IRR_XBOX_PLATFORM_
962  #undef _IRR_WINDOWS_
963  #undef _IRR_WINDOWS_CE_PLATFORM_
964  #undef _IRR_WINDOWS_API_
965  #undef _IRR_LINUX_PLATFORM_
966  #undef _IRR_SOLARIS_PLATFORM_
967  #undef _IRR_OSX_PLATFORM_
968  #undef _IRR_IPHONE_PLATFORM_
969  #undef _IRR_ANDROID_PLATFORM_
970  #undef _IRR_POSIX_API_
971 
972  #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
973  #undef _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
974  #undef _IRR_COMPILE_WITH_OSX_DEVICE_
975  #undef _IRR_COMPILE_WITH_X11_DEVICE_
976  #undef _IRR_COMPILE_WITH_SDL_DEVICE_
977  #undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
978  #undef _IRR_COMPILE_WITH_FB_DEVICE_
979  #undef _IRR_COMPILE_WITH_ANDROID_DEVICE_
980  #undef _IRR_COMPILE_ANDROID_ASSET_READER_
981  #undef _IRR_COMPILE_WITH_IOS_DEVICE_
982  #undef _IRR_COMPILE_WITH_IOS_BUILTIN_MAIN_
983 
984  #undef _IRR_COMPILE_WITH_DIRECT3D_8_
985  #undef _IRR_COMPILE_WITH_DIRECT3D_9_
986  #undef _IRR_COMPILE_WITH_OPENGL_
987  #undef _IRR_COMPILE_WITH_SOFTWARE_
988  #undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
989  #undef _IRR_COMPILE_WITH_X11_
990  #undef _IRR_COMPILE_ANDROID_ASSET_READER_
991  #undef _IRR_COMPILE_WITH_WEBGL1_
992  #undef _IRR_COMPILE_WITH_OGLES1_
993  #undef _IRR_COMPILE_WITH_OGLES2_
994  #undef _IRR_COMPILE_WITH_EGL_MANAGER_
995  #undef _IRR_COMPILE_WITH_EAGL_MANAGER_
996  #undef _IRR_COMPILE_WITH_WGL_MANAGER_
997  #undef _IRR_COMPILE_WITH_GLX_MANAGER_
998  #undef _IRR_OPENGL_USE_EXTPOINTER_
999  #undef _IRR_OGLES1_USE_EXTPOINTER_
1000  #undef _IRR_OGLES2_USE_EXTPOINTER_
1001 
1002  //#if defined(_MSC_VER) && _MSC_VER > 1310 && !defined (_WIN32_WCE)
1003  // #define swprintf swprintf_s
1004  // #define snprintf sprintf_s
1005  //#elif defined(_MSC_VER)
1006  // #define swprintf _snwprintf
1007  // #define snprintf _snprintf
1008  //#endif
1009 
1010  #ifdef __PSP__ // ogles1 only
1011  #define _IRR_COMPILE_WITH_OGLES1_
1012  #endif
1013 
1014  // 2016_11_16 !!!absent!!! || defined(__IOS__)
1015  #if defined(__WIN32__) || defined(__WINRT__) || defined(__ANDROID__)
1016  #define _IRR_COMPILE_WITH_OGLES2_
1017  #endif
1018 #endif // _IRR_COMPILE_WITH_SDL2_DEVICE_
1019 
1020 #endif // __IRR_COMPILE_CONFIG_H_INCLUDED__
1021