36 #define OGRE_PLATFORM_WIN32 1
37 #define OGRE_PLATFORM_LINUX 2
38 #define OGRE_PLATFORM_APPLE 3
39 #define OGRE_PLATFORM_SYMBIAN 4
40 #define OGRE_PLATFORM_IPHONE 5
42 #define OGRE_COMPILER_MSVC 1
43 #define OGRE_COMPILER_GNUC 2
44 #define OGRE_COMPILER_BORL 3
45 #define OGRE_COMPILER_WINSCW 4
46 #define OGRE_COMPILER_GCCE 5
48 #define OGRE_ENDIAN_LITTLE 1
49 #define OGRE_ENDIAN_BIG 2
51 #define OGRE_ARCHITECTURE_32 1
52 #define OGRE_ARCHITECTURE_64 2
56 #if defined( __GCCE__ )
57 # define OGRE_COMPILER OGRE_COMPILER_GCCE
58 # define OGRE_COMP_VER _MSC_VER
60 #elif defined( __WINSCW__ )
61 # define OGRE_COMPILER OGRE_COMPILER_WINSCW
62 # define OGRE_COMP_VER _MSC_VER
63 #elif defined( _MSC_VER )
64 # define OGRE_COMPILER OGRE_COMPILER_MSVC
65 # define OGRE_COMP_VER _MSC_VER
66 #elif defined( __GNUC__ )
67 # define OGRE_COMPILER OGRE_COMPILER_GNUC
68 # define OGRE_COMP_VER (((__GNUC__)*100) + \
69 (__GNUC_MINOR__*10) + \
72 #elif defined( __BORLANDC__ )
73 # define OGRE_COMPILER OGRE_COMPILER_BORL
74 # define OGRE_COMP_VER __BCPLUSPLUS__
75 # define __FUNCTION__ __FUNC__
77 # pragma error "No known compiler. Abort! Abort!"
82 #if OGRE_COMPILER == OGRE_COMPILER_MSVC
83 # if OGRE_COMP_VER >= 1200
84 # define FORCEINLINE __forceinline
86 #elif defined(__MINGW32__)
87 # if !defined(FORCEINLINE)
88 # define FORCEINLINE __inline
91 # define FORCEINLINE __inline
96 #if defined( __SYMBIAN32__ )
97 # define OGRE_PLATFORM OGRE_PLATFORM_SYMBIAN
98 #elif defined( __WIN32__ ) || defined( _WIN32 )
99 # define OGRE_PLATFORM OGRE_PLATFORM_WIN32
100 #elif defined( __APPLE_CC__)
103 # if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 30000 || __IPHONE_OS_VERSION_MIN_REQUIRED >= 30000
104 # define OGRE_PLATFORM OGRE_PLATFORM_IPHONE
106 # define OGRE_PLATFORM OGRE_PLATFORM_APPLE
109 # define OGRE_PLATFORM OGRE_PLATFORM_LINUX
113 #if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) || defined(__ia64__) || defined(__s390__) || defined(__s390x__)
114 # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_64
116 # define OGRE_ARCH_TYPE OGRE_ARCHITECTURE_32
122 #define OGRE_QUOTE_INPLACE(x) # x
123 #define OGRE_QUOTE(x) OGRE_QUOTE_INPLACE(x)
124 #define OGRE_WARN( x ) message( __FILE__ "(" QUOTE( __LINE__ ) ") : " x "\n" )
128 #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
132 # if defined( OGRE_STATIC_LIB )
135 # define _OgrePrivate
137 # if defined( OGRE_NONCLIENT_BUILD )
138 # define _OgreExport __declspec( dllexport )
140 # if defined( __MINGW32__ )
143 # define _OgreExport __declspec( dllimport )
146 # define _OgrePrivate
150 # if defined(_DEBUG) || defined(DEBUG)
151 # define OGRE_DEBUG_MODE 1
153 # define OGRE_DEBUG_MODE 0
160 #if defined(__MINGW32__)
161 # if OGRE_COMP_VER < 400
162 # if !defined(_STLPORT_VERSION)
164 # if defined(__MINGW32_TOOLBOX_UNICODE__) || OGRE_COMP_VER > 345
165 # define OGRE_UNICODE_SUPPORT 1
167 # define OGRE_UNICODE_SUPPORT 0
170 # define OGRE_UNICODE_SUPPORT 1
173 # define OGRE_UNICODE_SUPPORT 1
176 # define OGRE_UNICODE_SUPPORT 1
179 #endif // OGRE_PLATFORM == OGRE_PLATFORM_WIN32
183 #if OGRE_PLATFORM == OGRE_PLATFORM_SYMBIAN
184 # define OGRE_UNICODE_SUPPORT 1
185 # define OGRE_DEBUG_MODE 0
187 # define _OgrePrivate
188 # define CLOCKS_PER_SEC 1000
190 # pragma warn_unusedarg off
191 # pragma warn_emptydecl off
192 # pragma warn_possunwant off
196 #if OGRE_PLATFORM == OGRE_PLATFORM_LINUX || OGRE_PLATFORM == OGRE_PLATFORM_APPLE || OGRE_PLATFORM == OGRE_PLATFORM_IPHONE || OGRE_PLATFORM == OGRE_PLATFORM_SYMBIAN
199 # if defined( OGRE_GCC_VISIBILITY )
200 # define _OgreExport __attribute__ ((visibility("default")))
201 # define _OgrePrivate __attribute__ ((visibility("hidden")))
204 # define _OgrePrivate
208 # define stricmp strcasecmp
215 # define OGRE_DEBUG_MODE 1
217 # define OGRE_DEBUG_MODE 0
220 #if OGRE_PLATFORM == OGRE_PLATFORM_APPLE
221 #define OGRE_PLATFORM_LIB "OgrePlatform.bundle"
222 #elif OGRE_PLATFORM == OGRE_PLATFORM_IPHONE
223 #define OGRE_PLATFORM_LIB "OgrePlatform.a"
224 #else //OGRE_PLATFORM_LINUX
225 #define OGRE_PLATFORM_LIB "libOgrePlatform.so"
230 #define OGRE_UNICODE_SUPPORT 1
239 #ifdef OGRE_CONFIG_BIG_ENDIAN
240 # define OGRE_ENDIAN OGRE_ENDIAN_BIG
242 # define OGRE_ENDIAN OGRE_ENDIAN_LITTLE
253 #if OGRE_COMPILER == OGRE_COMPILER_MSVC
254 typedef unsigned __int64
uint64;
255 typedef __int64
int64;
unsigned long long uint64