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 #endif
00104 #define _IRR_POSIX_API_
00105 #define _IRR_COMPILE_WITH_X11_DEVICE_
00106 #endif
00107 
00108 
00110 #define _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00111 #ifdef NO_IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00112 #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00113 #endif
00114 
00115 
00117 #define _IRR_MATERIAL_MAX_TEXTURES_ 4
00118 
00121 
00134 #if defined(_IRR_WINDOWS_API_) && (!defined(__GNUC__) || defined(IRR_COMPILE_WITH_DX9_DEV_PACK))
00135 
00137 
00139 #define _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00140 #ifdef NO_IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00141 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00142 #endif
00143 // can't get this to compile currently under borland, can be removed if someone has a better solution
00144 #if defined(__BORLANDC__)
00145 #undef _IRR_COMPILE_WITH_DIRECTINPUT_JOYSTICK_
00146 #endif
00147 
00149 // #define _IRR_COMPILE_WITH_DIRECT3D_8_
00150 #define _IRR_COMPILE_WITH_DIRECT3D_9_
00151 
00152 #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_8_
00153 #undef _IRR_COMPILE_WITH_DIRECT3D_8_
00154 #endif
00155 #ifdef NO_IRR_COMPILE_WITH_DIRECT3D_9_
00156 #undef _IRR_COMPILE_WITH_DIRECT3D_9_
00157 #endif
00158 
00159 #endif
00160 
00162 
00164 #define _IRR_COMPILE_WITH_OPENGL_
00165 #ifdef NO_IRR_COMPILE_WITH_OPENGL_
00166 #undef _IRR_COMPILE_WITH_OPENGL_
00167 #endif
00168 
00170 
00172 #define _IRR_COMPILE_WITH_SOFTWARE_
00173 #ifdef NO_IRR_COMPILE_WITH_SOFTWARE_
00174 #undef _IRR_COMPILE_WITH_SOFTWARE_
00175 #endif
00176 
00178 
00179 #define _IRR_COMPILE_WITH_BURNINGSVIDEO_
00180 #ifdef NO_IRR_COMPILE_WITH_BURNINGSVIDEO_
00181 #undef _IRR_COMPILE_WITH_BURNINGSVIDEO_
00182 #endif
00183 
00185 
00187 // Only used in LinuxDevice.
00188 #define _IRR_COMPILE_WITH_X11_
00189 #ifdef NO_IRR_COMPILE_WITH_X11_
00190 #undef _IRR_COMPILE_WITH_X11_
00191 #endif
00192 
00194 
00196 #if !defined(_IRR_OSX_PLATFORM_) && !defined(_IRR_SOLARIS_PLATFORM_)
00197 #define _IRR_OPENGL_USE_EXTPOINTER_
00198 #endif
00199 
00203 #if defined(_IRR_LINUX_PLATFORM_) && defined(_IRR_COMPILE_WITH_X11_)
00204 #define _IRR_LINUX_X11_VIDMODE_
00205 //#define _IRR_LINUX_X11_RANDR_
00206 #ifdef NO_IRR_LINUX_X11_VIDMODE_
00207 #undef _IRR_LINUX_X11_VIDMODE_
00208 #endif
00209 #ifdef NO_IRR_LINUX_X11_RANDR_
00210 #undef _IRR_LINUX_X11_RANDR_
00211 #endif
00212 
00216 //#define _IRR_LINUX_XCURSOR_
00217 #ifdef NO_IRR_LINUX_XCURSOR_
00218 #undef _IRR_LINUX_XCURSOR_
00219 #endif
00220 
00221 #endif
00222 
00224 
00226 #define _IRR_COMPILE_WITH_GUI_
00227 #ifdef NO_IRR_COMPILE_WITH_GUI_
00228 #undef _IRR_COMPILE_WITH_GUI_
00229 #endif
00230 
00232 
00236 //#define _IRR_WCHAR_FILESYSTEM
00237 #ifdef NO_IRR_WCHAR_FILESYSTEM
00238 #undef _IRR_WCHAR_FILESYSTEM
00239 #endif
00240 
00242 
00244 #define _IRR_COMPILE_WITH_LIBJPEG_
00245 #ifdef NO_IRR_COMPILE_WITH_LIBJPEG_
00246 #undef _IRR_COMPILE_WITH_LIBJPEG_
00247 #endif
00248 
00250 
00252 #define _IRR_USE_NON_SYSTEM_JPEG_LIB_
00253 #ifdef NO_IRR_USE_NON_SYSTEM_JPEG_LIB_
00254 #undef _IRR_USE_NON_SYSTEM_JPEG_LIB_
00255 #endif
00256 
00258 
00260 #define _IRR_COMPILE_WITH_LIBPNG_
00261 #ifdef NO_IRR_COMPILE_WITH_LIBPNG_
00262 #undef _IRR_COMPILE_WITH_LIBPNG_
00263 #endif
00264 
00266 
00268 #define _IRR_USE_NON_SYSTEM_LIB_PNG_
00269 #ifdef NO_IRR_USE_NON_SYSTEM_LIB_PNG_
00270 #undef _IRR_USE_NON_SYSTEM_LIB_PNG_
00271 #endif
00272 
00274 
00283 #define _IRR_D3D_NO_SHADER_DEBUGGING
00284 #ifdef NO_IRR_D3D_NO_SHADER_DEBUGGING
00285 #undef _IRR_D3D_NO_SHADER_DEBUGGING
00286 #endif
00287 
00289 
00293 //#define _IRR_D3D_USE_LEGACY_HLSL_COMPILER
00294 #ifdef NO_IRR_D3D_USE_LEGACY_HLSL_COMPILER
00295 #undef _IRR_D3D_USE_LEGACY_HLSL_COMPILER
00296 #endif
00297 
00299 //#define _IRR_COMPILE_WITH_CG_
00300 #ifdef NO_IRR_COMPILE_WITH_CG_
00301 #undef _IRR_COMPILE_WITH_CG_
00302 #endif
00303 #if !defined(_IRR_COMPILE_WITH_OPENGL_) && !defined(_IRR_COMPILE_WITH_DIRECT3D_9_)
00304 #undef _IRR_COMPILE_WITH_CG_
00305 #endif
00306 
00308 
00310 #undef _IRR_USE_NVIDIA_PERFHUD_
00311 
00313 
00330 #define BURNINGVIDEO_RENDERER_BEAUTIFUL
00331 //#define BURNINGVIDEO_RENDERER_FAST
00332 //#define BURNINGVIDEO_RENDERER_ULTRA_FAST
00333 //#define BURNINGVIDEO_RENDERER_CE
00334 
00336 //#define IGNORE_DEPRECATED_WARNING
00337 
00339 
00340 #define _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
00341 #ifdef NO_IRR_COMPILE_WITH_IRR_SCENE_LOADER_
00342 #undef _IRR_COMPILE_WITH_IRR_SCENE_LOADER_
00343 #endif
00344 
00346 
00348 #define _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00349 #ifdef NO_IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00350 #undef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00351 #endif
00352 
00353 #ifdef _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00354 
00355 #define _IRR_COMPILE_WITH_B3D_LOADER_
00356 #ifdef NO_IRR_COMPILE_WITH_B3D_LOADER_
00357 #undef _IRR_COMPILE_WITH_B3D_LOADER_
00358 #endif
00359 
00360 #define _IRR_COMPILE_WITH_MS3D_LOADER_
00361 #ifdef NO_IRR_COMPILE_WITH_MS3D_LOADER_
00362 #undef _IRR_COMPILE_WITH_MS3D_LOADER_
00363 #endif
00364 
00365 #define _IRR_COMPILE_WITH_X_LOADER_
00366 #ifdef NO_IRR_COMPILE_WITH_X_LOADER_
00367 #undef _IRR_COMPILE_WITH_X_LOADER_
00368 #endif
00369 
00370 #define _IRR_COMPILE_WITH_OGRE_LOADER_
00371 #ifdef NO_IRR_COMPILE_WITH_OGRE_LOADER_
00372 #undef _IRR_COMPILE_WITH_OGRE_LOADER_
00373 #endif
00374 #endif  // _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_
00375 
00377 #define _IRR_COMPILE_WITH_IRR_MESH_LOADER_
00378 #ifdef NO_IRR_COMPILE_WITH_IRR_MESH_LOADER_
00379 #undef _IRR_COMPILE_WITH_IRR_MESH_LOADER_
00380 #endif
00381 
00382 #define _IRR_COMPILE_WITH_HALFLIFE_LOADER_
00383 #ifdef NO_IRR_COMPILE_WITH_HALFLIFE_LOADER_
00384 #undef _IRR_COMPILE_WITH_HALFLIFE_LOADER_
00385 #endif
00386 
00387 #define _IRR_COMPILE_WITH_MD2_LOADER_
00388 #ifdef NO_IRR_COMPILE_WITH_MD2_LOADER_
00389 #undef _IRR_COMPILE_WITH_MD2_LOADER_
00390 #endif
00391 
00392 #define _IRR_COMPILE_WITH_MD3_LOADER_
00393 #ifdef NO_IRR_COMPILE_WITH_MD3_LOADER_
00394 #undef _IRR_COMPILE_WITH_MD3_LOADER_
00395 #endif
00396 
00397 #define _IRR_COMPILE_WITH_3DS_LOADER_
00398 #ifdef NO_IRR_COMPILE_WITH_3DS_LOADER_
00399 #undef _IRR_COMPILE_WITH_3DS_LOADER_
00400 #endif
00401 
00402 #define _IRR_COMPILE_WITH_COLLADA_LOADER_
00403 #ifdef NO_IRR_COMPILE_WITH_COLLADA_LOADER_
00404 #undef _IRR_COMPILE_WITH_COLLADA_LOADER_
00405 #endif
00406 
00407 #define _IRR_COMPILE_WITH_CSM_LOADER_
00408 #ifdef NO_IRR_COMPILE_WITH_CSM_LOADER_
00409 #undef _IRR_COMPILE_WITH_CSM_LOADER_
00410 #endif
00411 
00412 #define _IRR_COMPILE_WITH_BSP_LOADER_
00413 #ifdef NO_IRR_COMPILE_WITH_BSP_LOADER_
00414 #undef _IRR_COMPILE_WITH_BSP_LOADER_
00415 #endif
00416 
00417 #define _IRR_COMPILE_WITH_DMF_LOADER_
00418 #ifdef NO_IRR_COMPILE_WITH_DMF_LOADER_
00419 #undef _IRR_COMPILE_WITH_DMF_LOADER_
00420 #endif
00421 
00422 #define _IRR_COMPILE_WITH_LMTS_LOADER_
00423 #ifdef NO_IRR_COMPILE_WITH_LMTS_LOADER_
00424 #undef _IRR_COMPILE_WITH_LMTS_LOADER_
00425 #endif
00426 
00427 #define _IRR_COMPILE_WITH_MY3D_LOADER_
00428 #ifdef NO_IRR_COMPILE_WITH_MY3D_LOADER_
00429 #undef _IRR_COMPILE_WITH_MY3D_LOADER_
00430 #endif
00431 
00432 #define _IRR_COMPILE_WITH_OBJ_LOADER_
00433 #ifdef NO_IRR_COMPILE_WITH_OBJ_LOADER_
00434 #undef _IRR_COMPILE_WITH_OBJ_LOADER_
00435 #endif
00436 
00437 #define _IRR_COMPILE_WITH_OCT_LOADER_
00438 #ifdef NO_IRR_COMPILE_WITH_OCT_LOADER_
00439 #undef _IRR_COMPILE_WITH_OCT_LOADER_
00440 #endif
00441 
00442 #define _IRR_COMPILE_WITH_LWO_LOADER_
00443 #ifdef NO_IRR_COMPILE_WITH_LWO_LOADER_
00444 #undef _IRR_COMPILE_WITH_LWO_LOADER_
00445 #endif
00446 
00447 #define _IRR_COMPILE_WITH_STL_LOADER_
00448 #ifdef NO_IRR_COMPILE_WITH_STL_LOADER_
00449 #undef _IRR_COMPILE_WITH_STL_LOADER_
00450 #endif
00451 
00452 #define _IRR_COMPILE_WITH_PLY_LOADER_
00453 #ifdef NO_IRR_COMPILE_WITH_PLY_LOADER_
00454 #undef _IRR_COMPILE_WITH_PLY_LOADER_
00455 #endif
00456 
00457 #define _IRR_COMPILE_WITH_SMF_LOADER_
00458 #ifdef NO_IRR_COMPILE_WITH_SMF_LOADER_
00459 #undef _IRR_COMPILE_WITH_SMF_LOADER_
00460 #endif
00461 
00463 #define _IRR_COMPILE_WITH_IRR_WRITER_
00464 #ifdef NO_IRR_COMPILE_WITH_IRR_WRITER_
00465 #undef _IRR_COMPILE_WITH_IRR_WRITER_
00466 #endif
00467 
00468 #define _IRR_COMPILE_WITH_COLLADA_WRITER_
00469 #ifdef NO_IRR_COMPILE_WITH_COLLADA_WRITER_
00470 #undef _IRR_COMPILE_WITH_COLLADA_WRITER_
00471 #endif
00472 
00473 #define _IRR_COMPILE_WITH_STL_WRITER_
00474 #ifdef NO_IRR_COMPILE_WITH_STL_WRITER_
00475 #undef _IRR_COMPILE_WITH_STL_WRITER_
00476 #endif
00477 
00478 #define _IRR_COMPILE_WITH_OBJ_WRITER_
00479 #ifdef NO_IRR_COMPILE_WITH_OBJ_WRITER_
00480 #undef _IRR_COMPILE_WITH_OBJ_WRITER_
00481 #endif
00482 
00483 #define _IRR_COMPILE_WITH_PLY_WRITER_
00484 #ifdef NO_IRR_COMPILE_WITH_PLY_WRITER_
00485 #undef _IRR_COMPILE_WITH_PLY_WRITER_
00486 #endif
00487 
00490 #define _IRR_COMPILE_WITH_BMP_LOADER_
00491 #ifdef NO_IRR_COMPILE_WITH_BMP_LOADER_
00492 #undef _IRR_COMPILE_WITH_BMP_LOADER_
00493 #endif
00494 
00495 #define _IRR_COMPILE_WITH_JPG_LOADER_
00496 #ifdef NO_IRR_COMPILE_WITH_JPG_LOADER_
00497 #undef _IRR_COMPILE_WITH_JPG_LOADER_
00498 #endif
00499 
00500 #define _IRR_COMPILE_WITH_PCX_LOADER_
00501 #ifdef NO_IRR_COMPILE_WITH_PCX_LOADER_
00502 #undef _IRR_COMPILE_WITH_PCX_LOADER_
00503 #endif
00504 
00505 #define _IRR_COMPILE_WITH_PNG_LOADER_
00506 #ifdef NO_IRR_COMPILE_WITH_PNG_LOADER_
00507 #undef _IRR_COMPILE_WITH_PNG_LOADER_
00508 #endif
00509 
00510 #define _IRR_COMPILE_WITH_PPM_LOADER_
00511 #ifdef NO_IRR_COMPILE_WITH_PPM_LOADER_
00512 #undef _IRR_COMPILE_WITH_PPM_LOADER_
00513 #endif
00514 
00515 #define _IRR_COMPILE_WITH_PSD_LOADER_
00516 #ifdef NO_IRR_COMPILE_WITH_PSD_LOADER_
00517 #undef _IRR_COMPILE_WITH_PSD_LOADER_
00518 #endif
00519 
00520 // Outcommented because
00521 // a) it doesn't compile on 64-bit currently
00522 // b) anyone enabling it should be aware that S3TC compression algorithm which might be used in that loader
00523 // is patented in the US by S3 and they do collect license fees when it's used in applications.
00524 // So if you are unfortunate enough to develop applications for US market and their broken patent system be careful.
00525 // #define _IRR_COMPILE_WITH_DDS_LOADER_
00526 #ifdef NO_IRR_COMPILE_WITH_DDS_LOADER_
00527 #undef _IRR_COMPILE_WITH_DDS_LOADER_
00528 #endif
00529 
00530 #define _IRR_COMPILE_WITH_TGA_LOADER_
00531 #ifdef NO_IRR_COMPILE_WITH_TGA_LOADER_
00532 #undef _IRR_COMPILE_WITH_TGA_LOADER_
00533 #endif
00534 
00535 #define _IRR_COMPILE_WITH_WAL_LOADER_
00536 #ifdef NO_IRR_COMPILE_WITH_WAL_LOADER_
00537 #undef _IRR_COMPILE_WITH_WAL_LOADER_
00538 #endif
00539 
00540 #define _IRR_COMPILE_WITH_LMP_LOADER_
00541 #ifdef NO_IRR_COMPILE_WITH_LMP_LOADER_
00542 #undef _IRR_COMPILE_WITH_LMP_LOADER_
00543 #endif
00544 
00545 #define _IRR_COMPILE_WITH_RGB_LOADER_
00546 #ifdef NO_IRR_COMPILE_WITH_RGB_LOADER_
00547 #undef _IRR_COMPILE_WITH_RGB_LOADER_
00548 #endif
00549 
00551 #define _IRR_COMPILE_WITH_BMP_WRITER_
00552 #ifdef NO_IRR_COMPILE_WITH_BMP_WRITER_
00553 #undef _IRR_COMPILE_WITH_BMP_WRITER_
00554 #endif
00555 
00556 #define _IRR_COMPILE_WITH_JPG_WRITER_
00557 #ifdef NO_IRR_COMPILE_WITH_JPG_WRITER_
00558 #undef _IRR_COMPILE_WITH_JPG_WRITER_
00559 #endif
00560 
00561 #define _IRR_COMPILE_WITH_PCX_WRITER_
00562 #ifdef NO_IRR_COMPILE_WITH_PCX_WRITER_
00563 #undef _IRR_COMPILE_WITH_PCX_WRITER_
00564 #endif
00565 
00566 #define _IRR_COMPILE_WITH_PNG_WRITER_
00567 #ifdef NO_IRR_COMPILE_WITH_PNG_WRITER_
00568 #undef _IRR_COMPILE_WITH_PNG_WRITER_
00569 #endif
00570 
00571 #define _IRR_COMPILE_WITH_PPM_WRITER_
00572 #ifdef NO_IRR_COMPILE_WITH_PPM_WRITER_
00573 #undef _IRR_COMPILE_WITH_PPM_WRITER_
00574 #endif
00575 
00576 #define _IRR_COMPILE_WITH_PSD_WRITER_
00577 #ifdef NO_IRR_COMPILE_WITH_PSD_WRITER_
00578 #undef _IRR_COMPILE_WITH_PSD_WRITER_
00579 #endif
00580 
00581 #define _IRR_COMPILE_WITH_TGA_WRITER_
00582 #ifdef NO_IRR_COMPILE_WITH_TGA_WRITER_
00583 #undef _IRR_COMPILE_WITH_TGA_WRITER_
00584 #endif
00585 
00587 
00588 #define __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00589 #ifdef NO__IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00590 #undef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00591 #endif
00592 #ifdef __IRR_COMPILE_WITH_ZIP_ARCHIVE_LOADER_
00593 
00594 
00597 #define _IRR_COMPILE_WITH_ZLIB_
00598 #ifdef NO_IRR_COMPILE_WITH_ZLIB_
00599 #undef _IRR_COMPILE_WITH_ZLIB_
00600 #endif
00601 
00602 
00605 #define _IRR_USE_NON_SYSTEM_ZLIB_
00606 #ifdef NO_IRR_USE_NON_SYSTEM_ZLIB_
00607 #undef _IRR_USE_NON_SYSTEM_ZLIB_
00608 #endif
00609 
00610 #define _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
00611 #ifdef NO_IRR_COMPILE_WITH_ZIP_ENCRYPTION_
00612 #undef _IRR_COMPILE_WITH_ZIP_ENCRYPTION_
00613 #endif
00614 
00615 
00618 #define _IRR_COMPILE_WITH_BZIP2_
00619 #ifdef NO_IRR_COMPILE_WITH_BZIP2_
00620 #undef _IRR_COMPILE_WITH_BZIP2_
00621 #endif
00622 
00623 
00626 #define _IRR_USE_NON_SYSTEM_BZLIB_
00627 #ifdef NO_IRR_USE_NON_SYSTEM_BZLIB_
00628 #undef _IRR_USE_NON_SYSTEM_BZLIB_
00629 #endif
00630 
00631 
00633 #define _IRR_COMPILE_WITH_LZMA_
00634 #ifdef NO_IRR_COMPILE_WITH_LZMA_
00635 #undef _IRR_COMPILE_WITH_LZMA_
00636 #endif
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(__sparc__) || defined(__sun__)
00786 #define __BIG_ENDIAN__
00787 #endif
00788 
00789 #if defined(_IRR_SOLARIS_PLATFORM_)
00790     #undef _IRR_COMPILE_WITH_JOYSTICK_EVENTS_
00791 #endif
00792 
00794 #define __IRR_HAS_S64
00795 #ifdef NO__IRR_HAS_S64
00796 #undef __IRR_HAS_S64
00797 #endif
00798 
00799 #if defined(__BORLANDC__)
00800     #include <tchar.h>
00801 
00802     // Borland 5.5.1 does not have _strcmpi defined
00803     #if __BORLANDC__ == 0x551
00804     //    #define _strcmpi strcmpi
00805         #undef _tfinddata_t
00806         #undef _tfindfirst
00807         #undef _tfindnext
00808 
00809         #define _tfinddata_t __tfinddata_t
00810         #define _tfindfirst  __tfindfirst
00811         #define _tfindnext   __tfindnext
00812         typedef long intptr_t;
00813     #endif
00814 
00815 #endif
00816 
00817 #ifdef _DEBUG
00818 
00819     // NOTE: Those attributes were used always until 1.8.0 and became a global define for 1.8.1
00820     // which is only enabled in debug because it had a large (sometimes >5%) impact on speed.
00821     // A better solution in the long run is to break the interface and remove _all_ attribute
00822     // access in functions like CSceneManager::drawAll and instead put that information in some
00823     // own struct/class or in CSceneManager.
00824     // See http://irrlicht.sourceforge.net/forum/viewtopic.php?f=2&t=48211 for the discussion.
00825     #define _IRR_SCENEMANAGER_DEBUG
00826     #ifdef NO_IRR_SCENEMANAGER_DEBUG
00827         #undef _IRR_SCENEMANAGER_DEBUG
00828     #endif
00829 #endif
00830 
00831 #endif // __IRR_COMPILE_CONFIG_H_INCLUDED__
00832