Irrlicht 3D Engine
IrrCompileConfig.h
Go to the documentation of this file.
00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
00002 // This file is part of the "Irrlicht Engine".
00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
00004 
00005 #ifndef __IRR_COMPILE_CONFIG_H_INCLUDED__
00006 #define __IRR_COMPILE_CONFIG_H_INCLUDED__
00007 
00009 #define IRRLICHT_VERSION_MAJOR 1
00010 #define IRRLICHT_VERSION_MINOR 8
00011 #define IRRLICHT_VERSION_REVISION 4
00012 // This flag will be defined only in SVN, the official release code will have
00013 // it undefined
00014 //#define IRRLICHT_VERSION_SVN -alpha
00015 #define IRRLICHT_SDK_VERSION "1.8.4"
00016 
00017 #include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw
00018 
00029 
00039 
00045 
00046 
00048 //#define _IRR_COMPILE_WITH_SDL_DEVICE_
00049 #ifdef NO_IRR_COMPILE_WITH_SDL_DEVICE_
00050 #undef _IRR_COMPILE_WITH_SDL_DEVICE_
00051 #endif
00052 
00054 #define _IRR_COMPILE_WITH_CONSOLE_DEVICE_
00055 #ifdef NO_IRR_COMPILE_WITH_CONSOLE_DEVICE_
00056 #undef _IRR_COMPILE_WITH_CONSOLE_DEVICE_
00057 #endif
00058 
00061 // The windows platform and API support SDL and WINDOW device
00062 #if defined(_WIN32) || defined(_WIN64) || defined(WIN32) || defined(WIN64)
00063 #define _IRR_WINDOWS_
00064 #define _IRR_WINDOWS_API_
00065 #define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
00066 #endif
00067 
00069 #if defined(_WIN32_WCE)
00070 #define _IRR_WINDOWS_
00071 #define _IRR_WINDOWS_API_
00072 #define _IRR_WINDOWS_CE_PLATFORM_
00073 #define _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
00074 #endif
00075 
00076 #if defined(_MSC_VER) && (_MSC_VER < 1300)
00077 #  error "Only Microsoft Visual Studio 7.0 and later are supported."
00078 #endif
00079 
00080 // XBox only suppots the native Window stuff
00081 #if defined(_XBOX)
00082     #undef _IRR_WINDOWS_
00083     #define _IRR_XBOX_PLATFORM_
00084     #define _IRR_WINDOWS_API_
00085     //#define _IRR_COMPILE_WITH_WINDOWS_DEVICE_
00086     #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
00087     //#define _IRR_COMPILE_WITH_SDL_DEVICE_
00088 
00089     #include <xtl.h>
00090 #endif
00091 
00092 #if defined(__APPLE__) || defined(MACOSX)
00093 #if !defined(MACOSX)
00094 #define MACOSX // legacy support
00095 #endif
00096 #define _IRR_OSX_PLATFORM_
00097 #define _IRR_COMPILE_WITH_OSX_DEVICE_
00098 #endif
00099 
00100 #if !defined(_IRR_WINDOWS_API_) && !defined(_IRR_OSX_PLATFORM_)
00101 #ifndef _IRR_SOLARIS_PLATFORM_
00102 #define _IRR_LINUX_PLATFORM_
00103 #include <endian.h>
00104  #if __BYTE_ORDER == __BIG_ENDIAN
00105   #define __BIG_ENDIAN__
00106  #endif
00107 #endif
00108 #define _IRR_POSIX_API_
00109 #define _IRR_COMPILE_WITH_X11_DEVICE_
00110 #endif
00111 
00112 
00114 #define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00115 #ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00116 #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00117 #endif
00118 
00119 
00121 #define _IRR_MATERIAL_MAX_TEXTURES_ 4
00122 
00125 
00138 #if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
00139 
00141 
00143 #define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00144 #ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00145 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00146 #endif
00147 // can't get this to compile currently under borland, can be removed if someone has a better solution
00148 #if defined(__BORLANDC__)
00149 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00150 #endif
00151 
00153 // #define _IRR_COMPILE_WITH_DIRECT3D_8_
00154 #define _IRR_COMPILE_WITH_DIRECT3D_9_
00155 
00156 #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_8_
00157 #undef _IRR_COMPILE_WITH_DIRECT3D_8_
00158 #endif
00159 #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
00160 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
00161 #endif
00162 
00163 #endif
00164 
00166 
00168 #define _IRR_COMPILE_WITH_OPENGL_
00169 #ifdef NO_IRR_COMPILE_WITH_OPENGL_
00170 #undef _IRR_COMPILE_WITH_OPENGL_
00171 #endif
00172 
00174 
00176 #define _IRR_COMPILE_WITH_SOFTWARE_
00177 #ifdef NO_IRR_COMPILE_WITH_SOFTWARE_
00178 #undef _IRR_COMPILE_WITH_SOFTWARE_
00179 #endif
00180 
00182 
00183 #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
00184 #ifdef NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
00185 #undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
00186 #endif
00187 
00189 
00191 // Only used in LinuxDevice.
00192 #define _IRR_COMPILE_WITH_X11_
00193 #ifdef NO_IRR_COMPILE_WITH_X11_
00194 #undef _IRR_COMPILE_WITH_X11_
00195 #endif
00196 
00198 
00200 #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
00201 #define _IRR_OPENGL_USE_EXTPOINTER_
00202 #endif
00203 
00207 #if defined(_IRR_LINUX_PLATFORM_) && defined(_IRR_COMPILE_WITH_X11_)
00208 #define _IRR_LINUX_X11_VIDMODE_
00209 //#define _IRR_LINUX_X11_RANDR_
00210 #ifdef NO_IRR_LINUX_X11_VIDMODE_
00211 #undef _IRR_LINUX_X11_VIDMODE_
00212 #endif
00213 #ifdef NO_IRR_LINUX_X11_RANDR_
00214 #undef _IRR_LINUX_X11_RANDR_
00215 #endif
00216 
00220 //#define _IRR_LINUX_XCURSOR_
00221 #ifdef NO_IRR_LINUX_XCURSOR_
00222 #undef _IRR_LINUX_XCURSOR_
00223 #endif
00224 
00225 #endif
00226 
00228 
00230 #define _IRR_COMPILE_WITH_GUI_
00231 #ifdef NO_IRR_COMPILE_WITH_GUI_
00232 #undef _IRR_COMPILE_WITH_GUI_
00233 #endif
00234 
00236 
00240 //#define _IRR_WCHAR_FILESYSTEM
00241 #ifdef NO_IRR_WCHAR_FILESYSTEM
00242 #undef _IRR_WCHAR_FILESYSTEM
00243 #endif
00244 
00246 
00249 #define _IRR_COMPILE_WITH_ZLIB_
00250 
00252 
00254 #undef _IRR_USE_NON_SYSTEM_ZLIB_
00255 
00257 
00259 #define _IRR_COMPILE_WITH_LIBJPEG_
00260 #ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
00261 #undef _IRR_COMPILE_WITH_LIBJPEG_
00262 #endif
00263 
00265 
00267 #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
00268 
00270 
00272 #define _IRR_COMPILE_WITH_LIBPNG_
00273 #ifdef NO_IRR_COMPILE_WITH_LIBPNG_
00274 #undef _IRR_COMPILE_WITH_LIBPNG_
00275 #endif
00276 
00278 
00280 #undef _IRR_USE_NON_SYSTEM_LIB_PNG_
00281 
00283 
00292 #define _IRR_D3D_NO_SHADER_DEBUGGING
00293 #ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
00294 #undef _IRR_D3D_NO_SHADER_DEBUGGING
00295 #endif
00296 
00298 
00302 //#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
00303 #ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
00304 #undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
00305 #endif
00306 
00308 //#define _IRR_COMPILE_WITH_CG_
00309 #ifdef NO_IRR_COMPILE_WITH_CG_
00310 #undef _IRR_COMPILE_WITH_CG_
00311 #endif
00312 #if !defined(_IRR_COMPILE_WITH_OPENGL_) && !defined(_IRR_COMPILE_WITH_DIRECT3D_9_)
00313 #undef _IRR_COMPILE_WITH_CG_
00314 #endif
00315 
00317 
00319 #undef _IRR_USE_NVIDIA_PERFHUD_
00320 
00322 
00339 #define BURNINGVIDEO_RENDERER_BEAUTIFUL
00340 //#define BURNINGVIDEO_RENDERER_FAST
00341 //#define BURNINGVIDEO_RENDERER_ULTRA_FAST
00342 //#define BURNINGVIDEO_RENDERER_CE
00343 
00345 //#define IGNORE_DEPRECATED_WARNING
00346 
00348 
00349 #define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
00350 #ifdef NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_
00351 #undef _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
00352 #endif
00353 
00355 
00357 #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00358 #ifdef NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00359 #undef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00360 #endif
00361 
00362 #ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00363 
00364 #define _IRR_COMPILE_WITH_B3D_LOADER_
00365 #ifdef NO_IRR_COMPILE_WITH_B3D_LOADER_
00366 #undef _IRR_COMPILE_WITH_B3D_LOADER_
00367 #endif
00368 
00369 #define _IRR_COMPILE_WITH_MS3D_LOADER_
00370 #ifdef NO_IRR_COMPILE_WITH_MS3D_LOADER_
00371 #undef _IRR_COMPILE_WITH_MS3D_LOADER_
00372 #endif
00373 
00374 #define _IRR_COMPILE_WITH_X_LOADER_
00375 #ifdef NO_IRR_COMPILE_WITH_X_LOADER_
00376 #undef _IRR_COMPILE_WITH_X_LOADER_
00377 #endif
00378 
00379 #define _IRR_COMPILE_WITH_OGRE_LOADER_
00380 #ifdef NO_IRR_COMPILE_WITH_OGRE_LOADER_
00381 #undef _IRR_COMPILE_WITH_OGRE_LOADER_
00382 #endif
00383 #endif  // _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00384 
00386 #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
00387 #ifdef NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_
00388 #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
00389 #endif
00390 
00391 #define _IRR_COMPILE_WITH_HALFLIFE_LOADER_
00392 #ifdef NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_
00393 #undef _IRR_COMPILE_WITH_HALFLIFE_LOADER_
00394 #endif
00395 
00396 #define _IRR_COMPILE_WITH_MD2_LOADER_
00397 #ifdef NO_IRR_COMPILE_WITH_MD2_LOADER_
00398 #undef _IRR_COMPILE_WITH_MD2_LOADER_
00399 #endif
00400 
00401 #define _IRR_COMPILE_WITH_MD3_LOADER_
00402 #ifdef NO_IRR_COMPILE_WITH_MD3_LOADER_
00403 #undef _IRR_COMPILE_WITH_MD3_LOADER_
00404 #endif
00405 
00406 #define _IRR_COMPILE_WITH_3DS_LOADER_
00407 #ifdef NO_IRR_COMPILE_WITH_3DS_LOADER_
00408 #undef _IRR_COMPILE_WITH_3DS_LOADER_
00409 #endif
00410 
00411 #define _IRR_COMPILE_WITH_COLLADA_LOADER_
00412 #ifdef NO_IRR_COMPILE_WITH_COLLADA_LOADER_
00413 #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
00414 #endif
00415 
00416 #define _IRR_COMPILE_WITH_CSM_LOADER_
00417 #ifdef NO_IRR_COMPILE_WITH_CSM_LOADER_
00418 #undef _IRR_COMPILE_WITH_CSM_LOADER_
00419 #endif
00420 
00421 #define _IRR_COMPILE_WITH_BSP_LOADER_
00422 #ifdef NO_IRR_COMPILE_WITH_BSP_LOADER_
00423 #undef _IRR_COMPILE_WITH_BSP_LOADER_
00424 #endif
00425 
00426 #define _IRR_COMPILE_WITH_DMF_LOADER_
00427 #ifdef NO_IRR_COMPILE_WITH_DMF_LOADER_
00428 #undef _IRR_COMPILE_WITH_DMF_LOADER_
00429 #endif
00430 
00431 #define _IRR_COMPILE_WITH_LMTS_LOADER_
00432 #ifdef NO_IRR_COMPILE_WITH_LMTS_LOADER_
00433 #undef _IRR_COMPILE_WITH_LMTS_LOADER_
00434 #endif
00435 
00436 #define _IRR_COMPILE_WITH_MY3D_LOADER_
00437 #ifdef NO_IRR_COMPILE_WITH_MY3D_LOADER_
00438 #undef _IRR_COMPILE_WITH_MY3D_LOADER_
00439 #endif
00440 
00441 #define _IRR_COMPILE_WITH_OBJ_LOADER_
00442 #ifdef NO_IRR_COMPILE_WITH_OBJ_LOADER_
00443 #undef _IRR_COMPILE_WITH_OBJ_LOADER_
00444 #endif
00445 
00446 #define _IRR_COMPILE_WITH_OCT_LOADER_
00447 #ifdef NO_IRR_COMPILE_WITH_OCT_LOADER_
00448 #undef _IRR_COMPILE_WITH_OCT_LOADER_
00449 #endif
00450 
00451 #define _IRR_COMPILE_WITH_LWO_LOADER_
00452 #ifdef NO_IRR_COMPILE_WITH_LWO_LOADER_
00453 #undef _IRR_COMPILE_WITH_LWO_LOADER_
00454 #endif
00455 
00456 #define _IRR_COMPILE_WITH_STL_LOADER_
00457 #ifdef NO_IRR_COMPILE_WITH_STL_LOADER_
00458 #undef _IRR_COMPILE_WITH_STL_LOADER_
00459 #endif
00460 
00461 #define _IRR_COMPILE_WITH_PLY_LOADER_
00462 #ifdef NO_IRR_COMPILE_WITH_PLY_LOADER_
00463 #undef _IRR_COMPILE_WITH_PLY_LOADER_
00464 #endif
00465 
00466 #define _IRR_COMPILE_WITH_SMF_LOADER_
00467 #ifdef NO_IRR_COMPILE_WITH_SMF_LOADER_
00468 #undef _IRR_COMPILE_WITH_SMF_LOADER_
00469 #endif
00470 
00472 #define _IRR_COMPILE_WITH_IRR_WRITER_
00473 #ifdef NO_IRR_COMPILE_WITH_IRR_WRITER_
00474 #undef _IRR_COMPILE_WITH_IRR_WRITER_
00475 #endif
00476 
00477 #define _IRR_COMPILE_WITH_COLLADA_WRITER_
00478 #ifdef NO_IRR_COMPILE_WITH_COLLADA_WRITER_
00479 #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
00480 #endif
00481 
00482 #define _IRR_COMPILE_WITH_STL_WRITER_
00483 #ifdef NO_IRR_COMPILE_WITH_STL_WRITER_
00484 #undef _IRR_COMPILE_WITH_STL_WRITER_
00485 #endif
00486 
00487 #define _IRR_COMPILE_WITH_OBJ_WRITER_
00488 #ifdef NO_IRR_COMPILE_WITH_OBJ_WRITER_
00489 #undef _IRR_COMPILE_WITH_OBJ_WRITER_
00490 #endif
00491 
00492 #define _IRR_COMPILE_WITH_PLY_WRITER_
00493 #ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
00494 #undef _IRR_COMPILE_WITH_PLY_WRITER_
00495 #endif
00496 
00499 #define _IRR_COMPILE_WITH_BMP_LOADER_
00500 #ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
00501 #undef _IRR_COMPILE_WITH_BMP_LOADER_
00502 #endif
00503 
00504 #define _IRR_COMPILE_WITH_JPG_LOADER_
00505 #ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
00506 #undef _IRR_COMPILE_WITH_JPG_LOADER_
00507 #endif
00508 
00509 #define _IRR_COMPILE_WITH_PCX_LOADER_
00510 #ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
00511 #undef _IRR_COMPILE_WITH_PCX_LOADER_
00512 #endif
00513 
00514 #define _IRR_COMPILE_WITH_PNG_LOADER_
00515 #ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
00516 #undef _IRR_COMPILE_WITH_PNG_LOADER_
00517 #endif
00518 
00519 #define _IRR_COMPILE_WITH_PPM_LOADER_
00520 #ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
00521 #undef _IRR_COMPILE_WITH_PPM_LOADER_
00522 #endif
00523 
00524 #define _IRR_COMPILE_WITH_PSD_LOADER_
00525 #ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
00526 #undef _IRR_COMPILE_WITH_PSD_LOADER_
00527 #endif
00528 
00529 // Outcommented because
00530 // a) it doesn't compile on 64-bit currently
00531 // b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
00532 // is patented in the US by S3 and they do collect license fees when it's used in applications.
00533 // So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
00534 // #define _IRR_COMPILE_WITH_DDS_LOADER_
00535 #ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
00536 #undef _IRR_COMPILE_WITH_DDS_LOADER_
00537 #endif
00538 
00539 #define _IRR_COMPILE_WITH_TGA_LOADER_
00540 #ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
00541 #undef _IRR_COMPILE_WITH_TGA_LOADER_
00542 #endif
00543 
00544 #define _IRR_COMPILE_WITH_WAL_LOADER_
00545 #ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
00546 #undef _IRR_COMPILE_WITH_WAL_LOADER_
00547 #endif
00548 
00549 #define _IRR_COMPILE_WITH_LMP_LOADER_
00550 #ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
00551 #undef _IRR_COMPILE_WITH_LMP_LOADER_
00552 #endif
00553 
00554 #define _IRR_COMPILE_WITH_RGB_LOADER_
00555 #ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
00556 #undef _IRR_COMPILE_WITH_RGB_LOADER_
00557 #endif
00558 
00560 #define _IRR_COMPILE_WITH_BMP_WRITER_
00561 #ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
00562 #undef _IRR_COMPILE_WITH_BMP_WRITER_
00563 #endif
00564 
00565 #define _IRR_COMPILE_WITH_JPG_WRITER_
00566 #ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
00567 #undef _IRR_COMPILE_WITH_JPG_WRITER_
00568 #endif
00569 
00570 #define _IRR_COMPILE_WITH_PCX_WRITER_
00571 #ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
00572 #undef _IRR_COMPILE_WITH_PCX_WRITER_
00573 #endif
00574 
00575 #define _IRR_COMPILE_WITH_PNG_WRITER_
00576 #ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
00577 #undef _IRR_COMPILE_WITH_PNG_WRITER_
00578 #endif
00579 
00580 #define _IRR_COMPILE_WITH_PPM_WRITER_
00581 #ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
00582 #undef _IRR_COMPILE_WITH_PPM_WRITER_
00583 #endif
00584 
00585 #define _IRR_COMPILE_WITH_PSD_WRITER_
00586 #ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
00587 #undef _IRR_COMPILE_WITH_PSD_WRITER_
00588 #endif
00589 
00590 #define _IRR_COMPILE_WITH_TGA_WRITER_
00591 #ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
00592 #undef _IRR_COMPILE_WITH_TGA_WRITER_
00593 #endif
00594 
00596 
00597 #define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00598 #ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00599 #undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00600 #endif
00601 #ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00602 
00603 
00606 #define _IRR_COMPILE_WITH_ZLIB_
00607 #ifdef NO_IRR_COMPILE_WITH_ZLIB_
00608 #undef _IRR_COMPILE_WITH_ZLIB_
00609 #endif
00610 
00611 
00614 #undef _IRR_USE_NON_SYSTEM_ZLIB_
00615 
00616 #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
00617 #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
00618 #undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
00619 #endif
00620 
00621 
00624 #define _IRR_COMPILE_WITH_BZIP2_
00625 #ifdef NO_IRR_COMPILE_WITH_BZIP2_
00626 #undef _IRR_COMPILE_WITH_BZIP2_
00627 #endif
00628 
00629 
00632 #undef _IRR_USE_NON_SYSTEM_BZLIB_
00633 
00634 
00636 #undef _IRR_COMPILE_WITH_LZMA_
00637 #endif
00638 
00640 #define __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
00641 #ifdef NO__IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
00642 #undef __IRR_COMPILE_WITH_MOUNT_ARCHIVE_LOADER_
00643 #endif
00644 
00645 #define __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
00646 #ifdef NO__IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
00647 #undef __IRR_COMPILE_WITH_PAK_ARCHIVE_LOADER_
00648 #endif
00649 
00650 #define __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
00651 #ifdef NO__IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
00652 #undef __IRR_COMPILE_WITH_NPK_ARCHIVE_LOADER_
00653 #endif
00654 
00655 #define __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
00656 #ifdef NO__IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
00657 #undef __IRR_COMPILE_WITH_TAR_ARCHIVE_LOADER_
00658 #endif
00659 
00660 #define __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
00661 #ifdef NO__IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
00662 #undef __IRR_COMPILE_WITH_WAD_ARCHIVE_LOADER_
00663 #endif
00664 
00666 
00669 #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
00670     //#define IRRLICHT_FAST_MATH
00671     #ifdef NO_IRRLICHT_FAST_MATH
00672     #undef IRRLICHT_FAST_MATH
00673     #endif
00674 #endif
00675 
00676 // Some cleanup and standard stuff
00677 
00678 #ifdef _IRR_WINDOWS_API_
00679 
00680 // To build Irrlicht as a static library, you must define _IRR_STATIC_LIB_ in both the
00681 // Irrlicht build, *and* in the user application, before #including <irrlicht.h>
00682 #ifndef _IRR_STATIC_LIB_
00683 #ifdef IRRLICHT_EXPORTS
00684 #define IRRLICHT_API __declspec(dllexport)
00685 #else
00686 #define IRRLICHT_API __declspec(dllimport)
00687 #endif // IRRLICHT_EXPORT
00688 #else
00689 #define IRRLICHT_API
00690 #endif // _IRR_STATIC_LIB_
00691 
00692 // Declare the calling convention.
00693 #if defined(_STDCALL_SUPPORTED)
00694 #define IRRCALLCONV __stdcall
00695 #else
00696 #define IRRCALLCONV __cdecl
00697 #endif // STDCALL_SUPPORTED
00698 
00699 #else // _IRR_WINDOWS_API_
00700 
00701 // Force symbol export in shared libraries built with gcc.
00702 #if (__GNUC__ >= 4) && !defined(_IRR_STATIC_LIB_) && defined(IRRLICHT_EXPORTS)
00703 #define IRRLICHT_API __attribute__ ((visibility("default")))
00704 #else
00705 #define IRRLICHT_API
00706 #endif
00707 
00708 #define IRRCALLCONV
00709 
00710 #endif // _IRR_WINDOWS_API_
00711 
00712 // We need to disable DIRECT3D9 support for Visual Studio 6.0 because
00713 // those $%&$!! disabled support for it since Dec. 2004 and users are complaining
00714 // about linker errors. Comment this out only if you are knowing what you are
00715 // doing. (Which means you have an old DX9 SDK and VisualStudio6).
00716 #ifdef _MSC_VER
00717 #if (_MSC_VER < 1300 && !defined(__GNUC__))
00718 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
00719 #pragma message("Compiling Irrlicht with Visual Studio 6.0, support for DX9 is disabled.")
00720 #endif
00721 #endif
00722 
00723 // XBox does not have OpenGL or DirectX9
00724 #if defined(_IRR_XBOX_PLATFORM_)
00725     #undef _IRR_COMPILE_WITH_OPENGL_
00726     #undef _IRR_COMPILE_WITH_DIRECT3D_9_
00727 #endif
00728 
00730 #if defined(_WIN32_WCE)
00731     #undef _IRR_COMPILE_WITH_OPENGL_
00732     #undef _IRR_COMPILE_WITH_DIRECT3D_8_
00733     #undef _IRR_COMPILE_WITH_DIRECT3D_9_
00734 
00735     #undef BURNINGVIDEO_RENDERER_BEAUTIFUL
00736     #undef BURNINGVIDEO_RENDERER_FAST
00737     #undef BURNINGVIDEO_RENDERER_ULTRA_FAST
00738     #define BURNINGVIDEO_RENDERER_CE
00739 
00740     #undef _IRR_COMPILE_WITH_WINDOWS_DEVICE_
00741     #define _IRR_COMPILE_WITH_WINDOWS_CE_DEVICE_
00742     //#define _IRR_WCHAR_FILESYSTEM
00743 
00744     #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
00745     //#undef _IRR_COMPILE_WITH_MD2_LOADER_
00746     #undef _IRR_COMPILE_WITH_MD3_LOADER_
00747     #undef _IRR_COMPILE_WITH_3DS_LOADER_
00748     #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
00749     #undef _IRR_COMPILE_WITH_CSM_LOADER_
00750     #undef _IRR_COMPILE_WITH_BSP_LOADER_
00751     #undef _IRR_COMPILE_WITH_DMF_LOADER_
00752     #undef _IRR_COMPILE_WITH_LMTS_LOADER_
00753     #undef _IRR_COMPILE_WITH_MY3D_LOADER_
00754     #undef _IRR_COMPILE_WITH_OBJ_LOADER_
00755     #undef _IRR_COMPILE_WITH_OCT_LOADER_
00756     #undef _IRR_COMPILE_WITH_OGRE_LOADER_
00757     #undef _IRR_COMPILE_WITH_LWO_LOADER_
00758     #undef _IRR_COMPILE_WITH_STL_LOADER_
00759     #undef _IRR_COMPILE_WITH_IRR_WRITER_
00760     #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
00761     #undef _IRR_COMPILE_WITH_STL_WRITER_
00762     #undef _IRR_COMPILE_WITH_OBJ_WRITER_
00763     //#undef _IRR_COMPILE_WITH_BMP_LOADER_
00764     //#undef _IRR_COMPILE_WITH_JPG_LOADER_
00765     #undef _IRR_COMPILE_WITH_PCX_LOADER_
00766     //#undef _IRR_COMPILE_WITH_PNG_LOADER_
00767     #undef _IRR_COMPILE_WITH_PPM_LOADER_
00768     #undef _IRR_COMPILE_WITH_PSD_LOADER_
00769     //#undef _IRR_COMPILE_WITH_TGA_LOADER_
00770     #undef _IRR_COMPILE_WITH_WAL_LOADER_
00771     #undef _IRR_COMPILE_WITH_BMP_WRITER_
00772     #undef _IRR_COMPILE_WITH_JPG_WRITER_
00773     #undef _IRR_COMPILE_WITH_PCX_WRITER_
00774     #undef _IRR_COMPILE_WITH_PNG_WRITER_
00775     #undef _IRR_COMPILE_WITH_PPM_WRITER_
00776     #undef _IRR_COMPILE_WITH_PSD_WRITER_
00777     #undef _IRR_COMPILE_WITH_TGA_WRITER_
00778 
00779 #endif
00780 
00781 #ifndef _IRR_WINDOWS_API_
00782     #undef _IRR_WCHAR_FILESYSTEM
00783 #endif
00784 
00785 #if defined(_IRR_SOLARIS_PLATFORM_) || defined(__FreeBSD_kernel__) || defined(__gnu_hurd__)
00786     #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00787 #endif
00788 
00790 #define __IRR_HAS_S64
00791 #ifdef NO__IRR_HAS_S64
00792 #undef __IRR_HAS_S64
00793 #endif
00794 
00795 #if defined(__BORLANDC__)
00796     #include <tchar.h>
00797 
00798     // Borland 5.5.1 does not have _strcmpi defined
00799     #if __BORLANDC__ == 0x551
00800     //    #define _strcmpi strcmpi
00801         #undef _tfinddata_t
00802         #undef _tfindfirst
00803         #undef _tfindnext
00804 
00805         #define _tfinddata_t __tfinddata_t
00806         #define _tfindfirst  __tfindfirst
00807         #define _tfindnext   __tfindnext
00808         typedef long intptr_t;
00809     #endif
00810 
00811 #endif
00812 
00813 #ifdef _DEBUG
00814 
00815     // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
00816     // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
00817     // A better solution in the long run is to break the interface and remove _all_ attribute
00818     // access in functions like CSceneManager::drawAll and instead put that information in some
00819     // own struct/class or in CSceneManager.
00820     // See http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
00821     #define _IRR_SCENEMANAGER_DEBUG
00822     #ifdef NO_IRR_SCENEMANAGER_DEBUG
00823         #undef _IRR_SCENEMANAGER_DEBUG
00824     #endif
00825 #endif
00826 
00827 #endif // __IRR_COMPILE_CONFIG_H_INCLUDED__
00828