Irrlicht 3D Engine
 
Loading...
Searching...
No Matches
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 8
11#define IRRLICHT_VERSION_REVISION 5
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.8.5"
16
17#include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw
18
29
39
45
46
48//#define _IRR_COMPILE_WITH_SDL_DEVICE_
49#ifdef NO_IRR_COMPILE_WITH_SDL_DEVICE_
50#undef _IRR_COMPILE_WITH_SDL_DEVICE_
51#endif
52
54#define _IRR_COMPILE_WITH_CONSOLE_DEVICE_
55#ifdef NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_
56#undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
57#endif
58
61// The windows platform and API support SDL and WINDOW device
62#if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
63#define _IRR_WINDOWS_
64#define _IRR_WINDOWS_API_
65#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
66#endif
67
69#if defined(_WIN32_WCE)
70#define _IRR_WINDOWS_
71#define _IRR_WINDOWS_API_
72#define _IRR_WINDOWS_CE_PLATFORM_
73#define _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
74#endif
75
76#if defined(_MSC_VER) && (_MSC_VER < 1300)
77# error "Only Microsoft Visual Studio 7.0 and later are supported."
78#endif
79
80// XBox only suppots the native Window stuff
81#if defined(_XBOX)
82 #undef _IRR_WINDOWS_
83 #define _IRR_XBOX_PLATFORM_
84 #define _IRR_WINDOWS_API_
85 //#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
86 #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
87 //#define _IRR_COMPILE_WITH_SDL_DEVICE_
88
89 #include <xtl.h>
90#endif
91
92#if defined(__APPLE__) || defined(MACOSX)
93#if !defined(MACOSX)
94#define MACOSX // legacy support
95#endif
96#define _IRR_OSX_PLATFORM_
97#define _IRR_COMPILE_WITH_OSX_DEVICE_
98#endif
99
100#if !defined(_IRR_WINDOWS_API_) && !defined(_IRR_OSX_PLATFORM_)
101#ifndef _IRR_SOLARIS_PLATFORM_
102#define _IRR_LINUX_PLATFORM_
103#include <endian.h>
104 #if __BYTE_ORDER == __BIG_ENDIAN
105 #define __BIG_ENDIAN__
106 #endif
107#endif
108#define _IRR_POSIX_API_
109#define _IRR_COMPILE_WITH_X11_DEVICE_
110#endif
111
112
114#define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
115#ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
116#undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
117#endif
118
119
121#define _IRR_MATERIAL_MAX_TEXTURES_ 4
122
125
138#if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
139
141
143#define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
144#ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
145#undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
146#endif
147// can't get this to compile currently under borland, can be removed if someone has a better solution
148#if defined(__BORLANDC__)
149#undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
150#endif
151
153// #define _IRR_COMPILE_WITH_DIRECT3D_8_
154#define _IRR_COMPILE_WITH_DIRECT3D_9_
155
156#ifdef NO_IRR_COMPILE_WITH_DIRECT3D_8_
157#undef _IRR_COMPILE_WITH_DIRECT3D_8_
158#endif
159#ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
160#undef _IRR_COMPILE_WITH_DIRECT3D_9_
161#endif
162
163#endif
164
166
168#define _IRR_COMPILE_WITH_OPENGL_
169#ifdef NO_IRR_COMPILE_WITH_OPENGL_
170#undef _IRR_COMPILE_WITH_OPENGL_
171#endif
172
174
176#define _IRR_COMPILE_WITH_SOFTWARE_
177#ifdef NO_IRR_COMPILE_WITH_SOFTWARE_
178#undef _IRR_COMPILE_WITH_SOFTWARE_
179#endif
180
182
183#define _IRR_COMPILE_WITH_BURNINGSVIDEO_
184#ifdef NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
185#undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
186#endif
187
189
191// Only used in LinuxDevice.
192#define _IRR_COMPILE_WITH_X11_
193#ifdef NO_IRR_COMPILE_WITH_X11_
194#undef _IRR_COMPILE_WITH_X11_
195#endif
196
198
200#if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
201#define _IRR_OPENGL_USE_EXTPOINTER_
202#endif
203
207#if defined(_IRR_LINUX_PLATFORM_) && defined(_IRR_COMPILE_WITH_X11_)
208#define _IRR_LINUX_X11_VIDMODE_
209//#define _IRR_LINUX_X11_RANDR_
210#ifdef NO_IRR_LINUX_X11_VIDMODE_
211#undef _IRR_LINUX_X11_VIDMODE_
212#endif
213#ifdef NO_IRR_LINUX_X11_RANDR_
214#undef _IRR_LINUX_X11_RANDR_
215#endif
216
220//#define _IRR_LINUX_XCURSOR_
221#ifdef NO_IRR_LINUX_XCURSOR_
222#undef _IRR_LINUX_XCURSOR_
223#endif
224
225#endif
226
228
230#define _IRR_COMPILE_WITH_GUI_
231#ifdef NO_IRR_COMPILE_WITH_GUI_
232#undef _IRR_COMPILE_WITH_GUI_
233#endif
234
236
240//#define _IRR_WCHAR_FILESYSTEM
241#ifdef NO_IRR_WCHAR_FILESYSTEM
242#undef _IRR_WCHAR_FILESYSTEM
243#endif
244
246
248#define _IRR_COMPILE_WITH_LIBJPEG_
249#ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
250#undef _IRR_COMPILE_WITH_LIBJPEG_
251#endif
252
254
256#undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
257
259
261#define _IRR_COMPILE_WITH_LIBPNG_
262#ifdef NO_IRR_COMPILE_WITH_LIBPNG_
263#undef _IRR_COMPILE_WITH_LIBPNG_
264#endif
265
267
269#undef _IRR_USE_NON_SYSTEM_LIB_PNG_
270
272
281#define _IRR_D3D_NO_SHADER_DEBUGGING
282#ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
283#undef _IRR_D3D_NO_SHADER_DEBUGGING
284#endif
285
287
291//#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
292#ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
293#undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
294#endif
295
297//#define _IRR_COMPILE_WITH_CG_
298#ifdef NO_IRR_COMPILE_WITH_CG_
299#undef _IRR_COMPILE_WITH_CG_
300#endif
301#if !defined(_IRR_COMPILE_WITH_OPENGL_) && !defined(_IRR_COMPILE_WITH_DIRECT3D_9_)
302#undef _IRR_COMPILE_WITH_CG_
303#endif
304
306
308#undef _IRR_USE_NVIDIA_PERFHUD_
309
311
328#define BURNINGVIDEO_RENDERER_BEAUTIFUL
329//#define BURNINGVIDEO_RENDERER_FAST
330//#define BURNINGVIDEO_RENDERER_ULTRA_FAST
331//#define BURNINGVIDEO_RENDERER_CE
332
334//#define IGNORE_DEPRECATED_WARNING
335
337
338#define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
339#ifdef NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_
340#undef _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
341#endif
342
344
346#define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
347#ifdef NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
348#undef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
349#endif
350
351#ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
353#define _IRR_COMPILE_WITH_B3D_LOADER_
354#ifdef NO_IRR_COMPILE_WITH_B3D_LOADER_
355#undef _IRR_COMPILE_WITH_B3D_LOADER_
356#endif
358#define _IRR_COMPILE_WITH_MS3D_LOADER_
359#ifdef NO_IRR_COMPILE_WITH_MS3D_LOADER_
360#undef _IRR_COMPILE_WITH_MS3D_LOADER_
361#endif
363#define _IRR_COMPILE_WITH_X_LOADER_
364#ifdef NO_IRR_COMPILE_WITH_X_LOADER_
365#undef _IRR_COMPILE_WITH_X_LOADER_
366#endif
368#define _IRR_COMPILE_WITH_OGRE_LOADER_
369#ifdef NO_IRR_COMPILE_WITH_OGRE_LOADER_
370#undef _IRR_COMPILE_WITH_OGRE_LOADER_
371#endif
372#endif // _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
373
375#define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
376#ifdef NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_
377#undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
378#endif
380#define _IRR_COMPILE_WITH_HALFLIFE_LOADER_
381#ifdef NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_
382#undef _IRR_COMPILE_WITH_HALFLIFE_LOADER_
383#endif
385#define _IRR_COMPILE_WITH_MD2_LOADER_
386#ifdef NO_IRR_COMPILE_WITH_MD2_LOADER_
387#undef _IRR_COMPILE_WITH_MD2_LOADER_
388#endif
390#define _IRR_COMPILE_WITH_MD3_LOADER_
391#ifdef NO_IRR_COMPILE_WITH_MD3_LOADER_
392#undef _IRR_COMPILE_WITH_MD3_LOADER_
393#endif
395#define _IRR_COMPILE_WITH_3DS_LOADER_
396#ifdef NO_IRR_COMPILE_WITH_3DS_LOADER_
397#undef _IRR_COMPILE_WITH_3DS_LOADER_
398#endif
400#define _IRR_COMPILE_WITH_COLLADA_LOADER_
401#ifdef NO_IRR_COMPILE_WITH_COLLADA_LOADER_
402#undef _IRR_COMPILE_WITH_COLLADA_LOADER_
403#endif
405#define _IRR_COMPILE_WITH_CSM_LOADER_
406#ifdef NO_IRR_COMPILE_WITH_CSM_LOADER_
407#undef _IRR_COMPILE_WITH_CSM_LOADER_
408#endif
410#define _IRR_COMPILE_WITH_BSP_LOADER_
411#ifdef NO_IRR_COMPILE_WITH_BSP_LOADER_
412#undef _IRR_COMPILE_WITH_BSP_LOADER_
413#endif
415#define _IRR_COMPILE_WITH_DMF_LOADER_
416#ifdef NO_IRR_COMPILE_WITH_DMF_LOADER_
417#undef _IRR_COMPILE_WITH_DMF_LOADER_
418#endif
420#define _IRR_COMPILE_WITH_LMTS_LOADER_
421#ifdef NO_IRR_COMPILE_WITH_LMTS_LOADER_
422#undef _IRR_COMPILE_WITH_LMTS_LOADER_
423#endif
425#define _IRR_COMPILE_WITH_MY3D_LOADER_
426#ifdef NO_IRR_COMPILE_WITH_MY3D_LOADER_
427#undef _IRR_COMPILE_WITH_MY3D_LOADER_
428#endif
430#define _IRR_COMPILE_WITH_OBJ_LOADER_
431#ifdef NO_IRR_COMPILE_WITH_OBJ_LOADER_
432#undef _IRR_COMPILE_WITH_OBJ_LOADER_
433#endif
435#define _IRR_COMPILE_WITH_OCT_LOADER_
436#ifdef NO_IRR_COMPILE_WITH_OCT_LOADER_
437#undef _IRR_COMPILE_WITH_OCT_LOADER_
438#endif
440#define _IRR_COMPILE_WITH_LWO_LOADER_
441#ifdef NO_IRR_COMPILE_WITH_LWO_LOADER_
442#undef _IRR_COMPILE_WITH_LWO_LOADER_
443#endif
445#define _IRR_COMPILE_WITH_STL_LOADER_
446#ifdef NO_IRR_COMPILE_WITH_STL_LOADER_
447#undef _IRR_COMPILE_WITH_STL_LOADER_
448#endif
450#define _IRR_COMPILE_WITH_PLY_LOADER_
451#ifdef NO_IRR_COMPILE_WITH_PLY_LOADER_
452#undef _IRR_COMPILE_WITH_PLY_LOADER_
453#endif
455#define _IRR_COMPILE_WITH_SMF_LOADER_
456#ifdef NO_IRR_COMPILE_WITH_SMF_LOADER_
457#undef _IRR_COMPILE_WITH_SMF_LOADER_
458#endif
459
461#define _IRR_COMPILE_WITH_IRR_WRITER_
462#ifdef NO_IRR_COMPILE_WITH_IRR_WRITER_
463#undef _IRR_COMPILE_WITH_IRR_WRITER_
464#endif
466#define _IRR_COMPILE_WITH_COLLADA_WRITER_
467#ifdef NO_IRR_COMPILE_WITH_COLLADA_WRITER_
468#undef _IRR_COMPILE_WITH_COLLADA_WRITER_
469#endif
471#define _IRR_COMPILE_WITH_STL_WRITER_
472#ifdef NO_IRR_COMPILE_WITH_STL_WRITER_
473#undef _IRR_COMPILE_WITH_STL_WRITER_
474#endif
476#define _IRR_COMPILE_WITH_OBJ_WRITER_
477#ifdef NO_IRR_COMPILE_WITH_OBJ_WRITER_
478#undef _IRR_COMPILE_WITH_OBJ_WRITER_
479#endif
481#define _IRR_COMPILE_WITH_PLY_WRITER_
482#ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
483#undef _IRR_COMPILE_WITH_PLY_WRITER_
484#endif
485
488#define _IRR_COMPILE_WITH_BMP_LOADER_
489#ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
490#undef _IRR_COMPILE_WITH_BMP_LOADER_
491#endif
493#define _IRR_COMPILE_WITH_JPG_LOADER_
494#ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
495#undef _IRR_COMPILE_WITH_JPG_LOADER_
496#endif
498#define _IRR_COMPILE_WITH_PCX_LOADER_
499#ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
500#undef _IRR_COMPILE_WITH_PCX_LOADER_
501#endif
503#define _IRR_COMPILE_WITH_PNG_LOADER_
504#ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
505#undef _IRR_COMPILE_WITH_PNG_LOADER_
506#endif
508#define _IRR_COMPILE_WITH_PPM_LOADER_
509#ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
510#undef _IRR_COMPILE_WITH_PPM_LOADER_
511#endif
513#define _IRR_COMPILE_WITH_PSD_LOADER_
514#ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
515#undef _IRR_COMPILE_WITH_PSD_LOADER_
516#endif
518// Outcommented because
519// a) it doesn't compile on 64-bit currently
520// b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
521// is patented in the US by S3 and they do collect license fees when it's used in applications.
522// So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
523// #define _IRR_COMPILE_WITH_DDS_LOADER_
524#ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
525#undef _IRR_COMPILE_WITH_DDS_LOADER_
526#endif
528#define _IRR_COMPILE_WITH_TGA_LOADER_
529#ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
530#undef _IRR_COMPILE_WITH_TGA_LOADER_
531#endif
533#define _IRR_COMPILE_WITH_WAL_LOADER_
534#ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
535#undef _IRR_COMPILE_WITH_WAL_LOADER_
536#endif
538#define _IRR_COMPILE_WITH_LMP_LOADER_
539#ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
540#undef _IRR_COMPILE_WITH_LMP_LOADER_
541#endif
543#define _IRR_COMPILE_WITH_RGB_LOADER_
544#ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
545#undef _IRR_COMPILE_WITH_RGB_LOADER_
546#endif
547
549#define _IRR_COMPILE_WITH_BMP_WRITER_
550#ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
551#undef _IRR_COMPILE_WITH_BMP_WRITER_
552#endif
554#define _IRR_COMPILE_WITH_JPG_WRITER_
555#ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
556#undef _IRR_COMPILE_WITH_JPG_WRITER_
557#endif
559#define _IRR_COMPILE_WITH_PCX_WRITER_
560#ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
561#undef _IRR_COMPILE_WITH_PCX_WRITER_
562#endif
564#define _IRR_COMPILE_WITH_PNG_WRITER_
565#ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
566#undef _IRR_COMPILE_WITH_PNG_WRITER_
567#endif
569#define _IRR_COMPILE_WITH_PPM_WRITER_
570#ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
571#undef _IRR_COMPILE_WITH_PPM_WRITER_
572#endif
574#define _IRR_COMPILE_WITH_PSD_WRITER_
575#ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
576#undef _IRR_COMPILE_WITH_PSD_WRITER_
577#endif
579#define _IRR_COMPILE_WITH_TGA_WRITER_
580#ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
581#undef _IRR_COMPILE_WITH_TGA_WRITER_
582#endif
583
585
586#define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
587#ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
588#undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
589#endif
590#ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
592
595#define _IRR_COMPILE_WITH_ZLIB_
596#ifdef NO_IRR_COMPILE_WITH_ZLIB_
597#undef _IRR_COMPILE_WITH_ZLIB_
598#endif
600
603#undef _IRR_USE_NON_SYSTEM_ZLIB_
605#define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
606#ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
607#undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
608#endif
610
613#define _IRR_COMPILE_WITH_BZIP2_
614#ifdef NO_IRR_COMPILE_WITH_BZIP2_
615#undef _IRR_COMPILE_WITH_BZIP2_
616#endif
618
621#undef _IRR_USE_NON_SYSTEM_BZLIB_
623
625#undef _IRR_COMPILE_WITH_LZMA_
626#endif
627
629#define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
630#ifdef NO__IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
631#undef __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
632#endif
634#define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
635#ifdef NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
636#undef __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
637#endif
639#define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
640#ifdef NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
641#undef __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
642#endif
644#define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
645#ifdef NO__IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
646#undef __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
647#endif
649#define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
650#ifdef NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
651#undef __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
652#endif
653
655
658#if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
659 //#define IRRLICHT_FAST_MATH
660 #ifdef NO_IRRLICHT_FAST_MATH
661 #undef IRRLICHT_FAST_MATH
662 #endif
663#endif
664
665// Some cleanup and standard stuff
666
667#ifdef _IRR_WINDOWS_API_
668
669// To build Irrlicht as a static library, you must define _IRR_STATIC_LIB_ in both the
670// Irrlicht build, *and* in the user application, before #including <irrlicht.h>
671#ifndef _IRR_STATIC_LIB_
672#ifdef IRRLICHT_EXPORTS
673#define IRRLICHT_API __declspec(dllexport)
674#else
675#define IRRLICHT_API __declspec(dllimport)
676#endif // IRRLICHT_EXPORT
677#else
678#define IRRLICHT_API
679#endif // _IRR_STATIC_LIB_
680
681// Declare the calling convention.
682#if defined(_STDCALL_SUPPORTED)
683#define IRRCALLCONV __stdcall
684#else
685#define IRRCALLCONV __cdecl
686#endif // STDCALL_SUPPORTED
687
688#else // _IRR_WINDOWS_API_
689
690// Force symbol export in shared libraries built with gcc.
691#if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)
692#define IRRLICHT_API __attribute__ ((visibility("default")))
693#else
694#define IRRLICHT_API
695#endif
696
697#define IRRCALLCONV
698
699#endif // _IRR_WINDOWS_API_
700
701// We need to disable DIRECT3D9 support for Visual Studio 6.0 because
702// those $%&$!! disabled support for it since Dec. 2004 and users are complaining
703// about linker errors. Comment this out only if you are knowing what you are
704// doing. (Which means you have an old DX9 SDK and VisualStudio6).
705#ifdef _MSC_VER
706#if (_MSC_VER < 1300 && !defined(__GNUC__))
707#undef _IRR_COMPILE_WITH_DIRECT3D_9_
708#pragma message("Compiling Irrlicht with Visual Studio 6.0, support for DX9 is disabled.")
709#endif
710#endif
711
712// XBox does not have OpenGL or DirectX9
713#if defined(_IRR_XBOX_PLATFORM_)
714 #undef _IRR_COMPILE_WITH_OPENGL_
715 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
716#endif
717
719#if defined(_WIN32_WCE)
720 #undef _IRR_COMPILE_WITH_OPENGL_
721 #undef _IRR_COMPILE_WITH_DIRECT3D_8_
722 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
723
724 #undef BURNINGVIDEO_RENDERER_BEAUTIFUL
725 #undef BURNINGVIDEO_RENDERER_FAST
726 #undef BURNINGVIDEO_RENDERER_ULTRA_FAST
727 #define BURNINGVIDEO_RENDERER_CE
728
729 #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
730 #define _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
731 //#define _IRR_WCHAR_FILESYSTEM
732
733 #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
734 //#undef _IRR_COMPILE_WITH_MD2_LOADER_
735 #undef _IRR_COMPILE_WITH_MD3_LOADER_
736 #undef _IRR_COMPILE_WITH_3DS_LOADER_
737 #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
738 #undef _IRR_COMPILE_WITH_CSM_LOADER_
739 #undef _IRR_COMPILE_WITH_BSP_LOADER_
740 #undef _IRR_COMPILE_WITH_DMF_LOADER_
741 #undef _IRR_COMPILE_WITH_LMTS_LOADER_
742 #undef _IRR_COMPILE_WITH_MY3D_LOADER_
743 #undef _IRR_COMPILE_WITH_OBJ_LOADER_
744 #undef _IRR_COMPILE_WITH_OCT_LOADER_
745 #undef _IRR_COMPILE_WITH_OGRE_LOADER_
746 #undef _IRR_COMPILE_WITH_LWO_LOADER_
747 #undef _IRR_COMPILE_WITH_STL_LOADER_
748 #undef _IRR_COMPILE_WITH_IRR_WRITER_
749 #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
750 #undef _IRR_COMPILE_WITH_STL_WRITER_
751 #undef _IRR_COMPILE_WITH_OBJ_WRITER_
752 //#undef _IRR_COMPILE_WITH_BMP_LOADER_
753 //#undef _IRR_COMPILE_WITH_JPG_LOADER_
754 #undef _IRR_COMPILE_WITH_PCX_LOADER_
755 //#undef _IRR_COMPILE_WITH_PNG_LOADER_
756 #undef _IRR_COMPILE_WITH_PPM_LOADER_
757 #undef _IRR_COMPILE_WITH_PSD_LOADER_
758 //#undef _IRR_COMPILE_WITH_TGA_LOADER_
759 #undef _IRR_COMPILE_WITH_WAL_LOADER_
760 #undef _IRR_COMPILE_WITH_BMP_WRITER_
761 #undef _IRR_COMPILE_WITH_JPG_WRITER_
762 #undef _IRR_COMPILE_WITH_PCX_WRITER_
763 #undef _IRR_COMPILE_WITH_PNG_WRITER_
764 #undef _IRR_COMPILE_WITH_PPM_WRITER_
765 #undef _IRR_COMPILE_WITH_PSD_WRITER_
766 #undef _IRR_COMPILE_WITH_TGA_WRITER_
767
768#endif
769
770#ifndef _IRR_WINDOWS_API_
771 #undef _IRR_WCHAR_FILESYSTEM
772#endif
773
774#if defined(_IRR_SOLARIS_PLATFORM_) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__)
775 #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
776#endif
777
779#define __IRR_HAS_S64
780#ifdef NO__IRR_HAS_S64
781#undef __IRR_HAS_S64
782#endif
783
784#if defined(__BORLANDC__)
785 #include <tchar.h>
786
787 // Borland 5.5.1 does not have _strcmpi defined
788 #if __BORLANDC__ == 0x551
789 // #define _strcmpi strcmpi
790 #undef _tfinddata_t
791 #undef _tfindfirst
792 #undef _tfindnext
793
794 #define _tfinddata_t __tfinddata_t
795 #define _tfindfirst __tfindfirst
796 #define _tfindnext __tfindnext
797 typedef long intptr_t;
798 #endif
799
800#endif
801
802#ifdef _DEBUG
804 // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
805 // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
806 // A better solution in the long run is to break the interface and remove _all_ attribute
807 // access in functions like CSceneManager::drawAll and instead put that information in some
808 // own struct/class or in CSceneManager.
809 // See http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
810 #define _IRR_SCENEMANAGER_DEBUG
811 #ifdef NO_IRR_SCENEMANAGER_DEBUG
812 #undef _IRR_SCENEMANAGER_DEBUG
813 #endif
814#endif
815
816#endif // __IRR_COMPILE_CONFIG_H_INCLUDED__
817