Skylicht Engine
Loading...
Searching...
No Matches
IrrCompileConfig.h
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#ifndef __IRR_COMPILE_CONFIG_H_INCLUDED__
5#define __IRR_COMPILE_CONFIG_H_INCLUDED__
6
8#define IRRLICHT_VERSION_MAJOR 1
9#define IRRLICHT_VERSION_MINOR 8
10#define IRRLICHT_VERSION_REVISION 0
11
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.0"
16
17#include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw
18
26
36
42
44#define _IRR_COMPILE_WITH_CONSOLE_DEVICE_
45#ifdef NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_
46#undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
47#endif
48
51// The windows platform and API support SDL and WINDOW device
52#if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64) || defined(CYGWIN)
53#define _IRR_WINDOWS_
54#define _IRR_WINDOWS_API_
55
56#ifdef WINDOWS_STORE
57 #define _IRR_WINDOW_UNIVERSAL_PLATFORM_
58 #define _IRR_COMPILE_WITH_PHONE_DEVICE_
59 #define NO_IRR_COMPILE_WITH_OGLES3_
60 #define NO_IRR_COMPILE_WITH_OPENGL_
61#elif SDL
62 #define _IRR_COMPILE_WITH_SDL_DEVICE_
63#else
64 #define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
65#endif
66
67#endif
68
69#ifdef ANDROID
70 #define _IRR_ANDROID_PLATFORM_
71 #define _IRR_COMPILE_WITH_OGLES3_
72 #define _IRR_COMPILE_WITH_PHONE_DEVICE_
73#endif
74
75#ifdef LINUX
76 #define _IRR_POSIX_API_
77 #define _IRR_LINUX_PLATFORM
78 #define _IRR_COMPILE_WITH_X11_
79 #define _IRR_COMPILE_WITH_X11_DEVICE_
80#endif
81
82#ifdef __EMSCRIPTEN__
83 #define _IRR_WEBASM_PLATFORM_
84 #define _IRR_COMPILE_WITH_OGLES3_
85 #define _IRR_COMPILE_WITH_SDL_DEVICE_
86#endif
87
88#if defined(_MSC_VER) && (_MSC_VER < 1300)
89# error "Only Microsoft Visual Studio 7.0 and later are supported."
90#endif
91
92// XBox only suppots the native Window stuff
93#if defined(_XBOX)
94 #undef _IRR_WINDOWS_
95 #define _IRR_XBOX_PLATFORM_
96 #define _IRR_WINDOWS_API_
97 //#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
98 #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
99 //#define _IRR_COMPILE_WITH_SDL_DEVICE_
100
101 #include <xtl.h>
102#endif
103
104#if defined(__APPLE__)
105#if defined(IOS)
106 // Apple IOS
107 #define _IRR_IOS_PLATFORM_
108 #define _IRR_COMPILE_WITH_OGLES3_
109 #define _IRR_COMPILE_WITH_PHONE_DEVICE_
110#else
111 // Apple MAC OCX
112 #if !defined(MACOSX)
113 #define MACOSX // legacy support
114 #endif
115 #define _IRR_OSX_PLATFORM_
116 #define _IRR_COMPILE_WITH_OSX_DEVICE_
117 #define NO_IRR_COMPILE_WITH_OPENGL_
118 #define _IRR_COMPILE_WITH_OGLES3_ // angle wraper
119#endif
120#endif
121
122
124#define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
125#ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
126#undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
127#endif
128
129
131#define _IRR_MATERIAL_MAX_TEXTURES_ 8
132
134#define _IRR_COMPILE_WITH_XML_
135#ifdef NO_IRR_COMPILE_WITH_XML_
136#undef _IRR_COMPILE_WITH_XML_
137#endif
138
141//#define _IRR_COMPILE_WITH_LEAK_HUNTER_
142#ifdef NO_IRR_COMPILE_WITH_LEAK_HUNTER_
143#undef _IRR_COMPILE_WITH_LEAK_HUNTER_
144#endif
145
146#if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX11_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
157#ifndef __MINGW32__
158
161#define _IRR_COMPILE_WITH_DIRECT3D_11_
162
163#endif
164
165#endif
166
168
170#define _IRR_COMPILE_WITH_OPENGL_
171//#define _IRR_COMPILE_WITH_OGLES3_
172
173#ifdef NO_IRR_COMPILE_WITH_OPENGL_
174#undef _IRR_COMPILE_WITH_OPENGL_
175#endif
176
177#if defined(_IRR_COMPILE_WITH_OPENGL_)
178 #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_WEBASM_PLATFORM_)
179 #define _IRR_OPENGL_USE_EXTPOINTER_
180 #endif
181#endif
182
183#ifdef NO_IRR_COMPILE_WITH_OGLES3_
184#undef _IRR_COMPILE_WITH_OGLES3_
185#endif
186
187#if defined(_IRR_COMPILE_WITH_OGLES3_)
188 #undef _IRR_COMPILE_WITH_OPENGL_
189 #define _IRR_COMPILE_WITH_PVR_LOADER_
190#endif
191
193
197//#define _IRR_WCHAR_FILESYSTEM
198#ifdef NO_IRR_WCHAR_FILESYSTEM
199#undef _IRR_WCHAR_FILESYSTEM
200#endif
201
203
205#define _IRR_COMPILE_WITH_LIBJPEG_
206#ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
207#undef _IRR_COMPILE_WITH_LIBJPEG_
208#endif
209
211
213#define _IRR_USE_NON_SYSTEM_JPEG_LIB_
214#ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_
215#undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
216#endif
217
219
221#define _IRR_COMPILE_WITH_LIBPNG_
222#ifdef NO_IRR_COMPILE_WITH_LIBPNG_
223#undef _IRR_COMPILE_WITH_LIBPNG_
224#endif
225
227
229#define _IRR_USE_NON_SYSTEM_LIB_PNG_
230#ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_
231#undef _IRR_USE_NON_SYSTEM_LIB_PNG_
232#endif
233
235
244#define _IRR_D3D_NO_SHADER_DEBUGGING
245#ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
246#undef _IRR_D3D_NO_SHADER_DEBUGGING
247#endif
248
250
254//#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
255#ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
256#undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
257#endif
258
260//#define _IRR_COMPILE_WITH_CG_
261#ifdef NO_IRR_COMPILE_WITH_CG_
262#undef _IRR_COMPILE_WITH_CG_
263#endif
264#if !defined(_IRR_COMPILE_WITH_OPENGL_) && !defined(_IRR_COMPILE_WITH_DIRECT3D_9_)
265#undef _IRR_COMPILE_WITH_CG_
266#endif
267
269
271#undef _IRR_USE_NVIDIA_PERFHUD_
272
274
290
292//#define IGNORE_DEPRECATED_WARNING
293
294
297#define _IRR_COMPILE_WITH_BMP_LOADER_
298#ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
299#undef _IRR_COMPILE_WITH_BMP_LOADER_
300#endif
302#define _IRR_COMPILE_WITH_JPG_LOADER_
303#ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
304#undef _IRR_COMPILE_WITH_JPG_LOADER_
305#endif
307#define _IRR_COMPILE_WITH_PCX_LOADER_
308#ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
309#undef _IRR_COMPILE_WITH_PCX_LOADER_
310#endif
312#define _IRR_COMPILE_WITH_PNG_LOADER_
313#ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
314#undef _IRR_COMPILE_WITH_PNG_LOADER_
315#endif
317#define _IRR_COMPILE_WITH_PPM_LOADER_
318#ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
319#undef _IRR_COMPILE_WITH_PPM_LOADER_
320#endif
322#define _IRR_COMPILE_WITH_PSD_LOADER_
323#ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
324#undef _IRR_COMPILE_WITH_PSD_LOADER_
325#endif
327// Outcommented because
328// a) it doesn't compile on 64-bit currently
329// b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
330// is patented in the US by S3 and they do collect license fees when it's used in applications.
331// So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
332#define _IRR_COMPILE_WITH_DDS_LOADER_
333#ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
334#undef _IRR_COMPILE_WITH_DDS_LOADER_
335#endif
337#define _IRR_COMPILE_WITH_TGA_LOADER_
338#ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
339#undef _IRR_COMPILE_WITH_TGA_LOADER_
340#endif
342#define _IRR_COMPILE_WITH_WAL_LOADER_
343#ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
344#undef _IRR_COMPILE_WITH_WAL_LOADER_
345#endif
347#define _IRR_COMPILE_WITH_LMP_LOADER_
348#ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
349#undef _IRR_COMPILE_WITH_LMP_LOADER_
350#endif
352#define _IRR_COMPILE_WITH_RGB_LOADER_
353#ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
354#undef _IRR_COMPILE_WITH_RGB_LOADER_
355#endif
356
358#define _IRR_COMPILE_WITH_BMP_WRITER_
359#ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
360#undef _IRR_COMPILE_WITH_BMP_WRITER_
361#endif
363#define _IRR_COMPILE_WITH_JPG_WRITER_
364#ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
365#undef _IRR_COMPILE_WITH_JPG_WRITER_
366#endif
368#define _IRR_COMPILE_WITH_PCX_WRITER_
369#ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
370#undef _IRR_COMPILE_WITH_PCX_WRITER_
371#endif
373#define _IRR_COMPILE_WITH_PNG_WRITER_
374#ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
375#undef _IRR_COMPILE_WITH_PNG_WRITER_
376#endif
378#define _IRR_COMPILE_WITH_PPM_WRITER_
379#ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
380#undef _IRR_COMPILE_WITH_PPM_WRITER_
381#endif
383#define _IRR_COMPILE_WITH_PSD_WRITER_
384#ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
385#undef _IRR_COMPILE_WITH_PSD_WRITER_
386#endif
388#define _IRR_COMPILE_WITH_TGA_WRITER_
389#ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
390#undef _IRR_COMPILE_WITH_TGA_WRITER_
391#endif
392
394
395#define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
396#ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
397#undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
398#endif
399#ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
401
404#define _IRR_COMPILE_WITH_ZLIB_
405#ifdef NO_IRR_COMPILE_WITH_ZLIB_
406#undef _IRR_COMPILE_WITH_ZLIB_
407#endif
409
412#define _IRR_USE_NON_SYSTEM_ZLIB_
413#ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_
414#undef _IRR_USE_NON_SYSTEM_ZLIB_
415#endif
417#define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
418#ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
419#undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
420#endif
422
425#define _IRR_COMPILE_WITH_BZIP2_
426#ifdef NO_IRR_COMPILE_WITH_BZIP2_
427#undef _IRR_COMPILE_WITH_BZIP2_
428#endif
430
433#define _IRR_USE_NON_SYSTEM_BZLIB_
434#ifdef NO_IRR_USE_NON_SYSTEM_BZLIB_
435#undef _IRR_USE_NON_SYSTEM_BZLIB_
436#endif
438
440#define _IRR_COMPILE_WITH_LZMA_
441#ifdef NO_IRR_COMPILE_WITH_LZMA_
442#undef _IRR_COMPILE_WITH_LZMA_
443#endif
444#endif
445
447//#define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
448#ifdef NO__IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
449#undef __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
450#endif
452#define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
453#ifdef NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
454#undef __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
455#endif
457#define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
458#ifdef NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
459#undef __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
460#endif
462#define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
463#ifdef NO__IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
464#undef __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
465#endif
467#define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
468#ifdef NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
469#undef __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
470#endif
471
473
476#if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
477 //#define IRRLICHT_FAST_MATH
478 #ifdef NO_IRRLICHT_FAST_MATH
479 #undef IRRLICHT_FAST_MATH
480 #endif
481#endif
482
483// Some cleanup and standard stuff
484
485#ifdef _IRR_WINDOWS_API_
486
487// To build Irrlicht as a static library, you must define _IRR_STATIC_LIB_ in both the
488// Irrlicht build, *and* in the user application, before #including <irrlicht.h>
489#ifndef _IRR_STATIC_LIB_
490#ifdef IRRLICHT_EXPORTS
491#define IRRLICHT_API __declspec(dllexport)
492#else
493#define IRRLICHT_API __declspec(dllimport)
494#endif // IRRLICHT_EXPORT
495#else
496#define IRRLICHT_API
497#endif // _IRR_STATIC_LIB_
498
499// Declare the calling convention.
500#if defined(_STDCALL_SUPPORTED)
501#define IRRCALLCONV __stdcall
502#else
503#define IRRCALLCONV __cdecl
504#endif // STDCALL_SUPPORTED
505
506#else // _IRR_WINDOWS_API_
507
508// Force symbol export in shared libraries built with gcc.
509#if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)
510#define IRRLICHT_API __attribute__ ((visibility("default")))
511#else
512#define IRRLICHT_API
513#endif
514
515#define IRRCALLCONV
516
517#endif // _IRR_WINDOWS_API_
518
519#if defined(_IRR_XBOX_PLATFORM_)
520 #undef _IRR_COMPILE_WITH_OPENGL_
521 #undef _IRR_COMPILE_WITH_DIRECT3D_11_
522#endif
523
524#ifndef _IRR_WINDOWS_API_
525 #undef _IRR_WCHAR_FILESYSTEM
526#endif
527
528#if defined(__sparc__) || defined(__sun__)
529#define __BIG_ENDIAN__
530#endif
531
532#if defined(_IRR_SOLARIS_PLATFORM_)
533 #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
534#endif
535
537#define __IRR_HAS_S64
538#ifdef NO__IRR_HAS_S64
539#undef __IRR_HAS_S64
540#endif
541
542// These depend on XML
543#ifndef _IRR_COMPILE_WITH_XML_
544 #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
545 #undef _IRR_COMPILE_WITH_IRR_WRITER_
546 #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
547 #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
548#endif
549
550#endif // __IRR_COMPILE_CONFIG_H_INCLUDED__
551