Go to the documentation of this file. 13 #ifndef __FLEXT_PREFIX_H 14 #define __FLEXT_PREFIX_H 17 #define FLEXT_SYS_UNKNOWN 0 20 #define FLEXT_SYS_MAX 1 24 #define FLEXT_SYS_MAX 1 25 #define FLEXT_SYS FLEXT_SYS_MAX 29 #define FLEXT_SYS_PD 2 33 #define FLEXT_SYS_PD 2 34 #define FLEXT_SYS FLEXT_SYS_PD 37 #ifndef FLEXT_SYS_JMAX 38 #define FLEXT_SYS_JMAX 3 42 #define FLEXT_SYS_JMAX 3 43 #define FLEXT_SYS FLEXT_SYS_JMAX 47 #define FLEXT_OS_UNKNOWN 0 48 #define FLEXT_OS_WIN 1 49 #define FLEXT_OS_MAC 2 50 #define FLEXT_OS_LINUX 3 51 #define FLEXT_OS_IRIX 4 54 #define FLEXT_OSAPI_UNKNOWN 0 56 #define FLEXT_OSAPI_UNIX_POSIX 1 58 #define FLEXT_OSAPI_MAC_CLASSIC 2 59 #define FLEXT_OSAPI_MAC_CARBON 3 60 #define FLEXT_OSAPI_MAC_MACH 4 62 #define FLEXT_OSAPI_WIN_NATIVE 5 // WIN32 Platform 63 #define FLEXT_OSAPI_WIN_POSIX 6 // POSIX API (e.g. cygwin) 66 #define FLEXT_CPU_UNKNOWN 0 67 #define FLEXT_CPU_IA32 1 68 #define FLEXT_CPU_PPC 2 69 #define FLEXT_CPU_MIPS 3 70 #define FLEXT_CPU_ALPHA 4 72 #define FLEXT_CPU_IA64 5 // Itanium 73 #define FLEXT_CPU_X86_64 6 // AMD-K8, EMT64 74 #define FLEXT_CPU_PPC64 7 // G5 in 64 bit mode 77 #define FLEXT_CPU_INTEL FLEXT_CPU_IA32 80 #define FLEXT_THR_POSIX 1 // pthreads 81 #define FLEXT_THR_WIN32 2 // Win32 native 82 #define FLEXT_THR_MP 3 // MacOS MPThreads 89 #define FLEXT_SYS FLEXT_SYS_MAX 92 #define FLEXT_SYS FLEXT_SYS_PD 98 #if defined(_DEBUG) && !defined(FLEXT_DEBUG) 105 #if FLEXT_SYS == FLEXT_SYS_MAX || FLEXT_SYS == FLEXT_SYS_PD 107 #error "System must be defined by either FLEXT_SYS_MAX or FLEXT_SYS_PD" 111 #if defined(_MSC_VER) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_WIN || defined(_WIN32))) 116 #if defined(_M_AMD64) 117 #define FLEXT_CPU FLEXT_CPU_X86_64 118 #elif defined(_M_IA64) 119 #define FLEXT_CPU FLEXT_CPU_IA64 120 #elif defined(_M_IX86) 121 #define FLEXT_CPU FLEXT_CPU_IA32 122 #elif defined(_M_PPC) 123 #define FLEXT_CPU FLEXT_CPU_PPC 124 #elif defined(_M_MRX000) 125 #define FLEXT_CPU FLEXT_CPU_MIPS 126 #elif defined(_M_ALPHA) 127 #define FLEXT_CPU FLEXT_CPU_ALPHA 129 #define FLEXT_CPU FLEXT_CPU_UNKNOWN 134 #if defined(_WIN32) || defined(_WIN64) 135 #define FLEXT_OS FLEXT_OS_WIN 136 #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE 138 #define FLEXT_OS FLEXT_OS_UNKNOWN 139 #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN 144 #elif defined(__BORLANDC__) 148 #define FLEXT_CPU FLEXT_CPU_INTEL 151 #define FLEXT_OS FLEXT_OS_WIN 152 #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE 154 #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN 158 #elif defined(__MWERKS__) 165 #define TARGET_CPU_PPC64 1 167 #define TARGET_CPU_PPC 1 171 #define TARGET_CPU_X86_64 1 173 #define TARGET_CPU_IA32 1 176 #define TARGET_OS_MAC 1 177 #define TARGET_API_MAC_OSX 1 179 #ifndef __CONDITIONALMACROS__ 180 #include <ConditionalMacros.h> 185 #if TARGET_CPU_X86_64 186 #define FLEXT_CPU FLEXT_CPU_X86_64 188 #define FLEXT_CPU FLEXT_CPU_IA32 189 #elif TARGET_CPU_PPC64 190 #define FLEXT_CPU FLEXT_CPU_PPC64 192 #define FLEXT_CPU FLEXT_CPU_PPC 193 #elif TARGET_CPU_MIPS 194 #define FLEXT_CPU FLEXT_CPU_MIPS 195 #elif TARGET_CPU_ALPHA 196 #define FLEXT_CPU FLEXT_CPU_ALPHA 198 #define FLEXT_CPU FLEXT_CPU_UNKNOWN 204 #define FLEXT_OS FLEXT_OS_MAC 205 #elif TARGET_OS_WIN32 207 #define FLEXT_OS FLEXT_OS_WIN 209 #define FLEXT_OS FLEXT_OS_UNKNOWN 214 #if TARGET_API_MAC_MACH 217 #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH 218 #elif TARGET_API_MAC_CARBON 220 #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CARBON 222 #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN 227 #pragma enumsalwaysint on 231 #elif defined(__GNUG__) || (defined(__ICC) && (FLEXT_OS == FLEXT_OS_LINUX || defined(linux) || defined(__linux__))) 237 #if defined(__x86_64__) 238 #define FLEXT_CPU FLEXT_CPU_X86_64 239 #elif defined(_X86_) || defined(__i386__) || defined(__i586__) || defined(__i686__) 240 #define FLEXT_CPU FLEXT_CPU_IA32 241 #elif defined(__ppc64__) 242 #define FLEXT_CPU FLEXT_CPU_PPC64 243 #elif defined(__ppc__) 244 #define FLEXT_CPU FLEXT_CPU_PPC 245 #elif defined(__MIPS__) 246 #define FLEXT_CPU FLEXT_CPU_MIPS 248 #define FLEXT_CPU FLEXT_CPU_UNKNOWN 253 #if defined(linux) || defined(__linux__) || defined(__FreeBSD_kernel__) || defined(__GNU__) 254 #define FLEXT_OS FLEXT_OS_LINUX 255 #elif defined(__CYGWIN__) || defined(__CYGWIN32__) || defined(__MINGW32__) 256 #define FLEXT_OS FLEXT_OS_WIN 257 #elif defined(__APPLE__) && defined(__MACH__) 258 #define FLEXT_OS FLEXT_OS_MAC 261 #define FLEXT_OS FLEXT_OS_UNKNOWN 266 #if FLEXT_OS == FLEXT_OS_MAC 267 #define FLEXT_OSAPI FLEXT_OSAPI_MAC_MACH 268 #elif FLEXT_OS == FLEXT_OS_WIN 269 #if defined(__MINGW32__) 270 #define FLEXT_OSAPI FLEXT_OSAPI_WIN_NATIVE 272 #define FLEXT_OSAPI FLEXT_OSAPI_WIN_POSIX 274 #elif FLEXT_OS == FLEXT_OS_LINUX || FLEXT_OS == FLEXT_OS_IRIX 275 #define FLEXT_OSAPI FLEXT_OSAPI_UNIX_POSIX 277 #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN 281 #elif defined(__MRC__) && defined(MPW_CPLUS) 285 #error Apple MPW MrCpp v.5.0.0 or later compiler required 289 #if defined(__POWERPC__) 290 #define FLEXT_CPU FLEXT_CPU_PPC 292 #define FLEXT_CPU FLEXT_CPU_UNKNOWN 297 #if defined(macintosh) 298 #define FLEXT_OS FLEXT_OS_MAC 300 #define FLEXT_OS FLEXT_OS_UNKNOWN 305 #if FLEXT_OS == FLEXT_OS_MAC 306 #define FLEXT_OSAPI FLEXT_OSAPI_MAC_CLASSIC 308 #define FLEXT_OSAPI FLEXT_OSAPI_UNKNOWN 315 #if FLEXT_OS == FLEXT_OS_WIN 318 #if FLEXT_SYS == FLEXT_SYS_MAX 320 #elif FLEXT_SYS == FLEXT_SYS_PD 324 #elif FLEXT_OS == FLEXT_OS_LINUX 327 #if FLEXT_SYS == FLEXT_SYS_PD 330 #error "Flext SYS/OS combination unknown" 332 #elif FLEXT_OS == FLEXT_OS_IRIX 335 #if FLEXT_SYS == FLEXT_SYS_PD 338 #error "Flext SYS/OS combination unknown" 340 #elif FLEXT_OS == FLEXT_OS_MAC 343 #if FLEXT_SYS == FLEXT_SYS_PD 347 #error "Operating system could not be determined" 350 #if FLEXT_SYS == FLEXT_SYS_MAX 352 #elif FLEXT_SYS == FLEXT_SYS_PD 360 #define FLEXT_THREADS 365 #if FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_MAC && FLEXT_OSAPI != FLEXT_OSAPI_MAC_MACH 367 #define FLEXT_THREADS FLEXT_THR_MP 368 #elif FLEXT_SYS == FLEXT_SYS_MAX && FLEXT_OS == FLEXT_OS_WIN 370 #define FLEXT_THREADS FLEXT_THR_WIN32 372 #define FLEXT_THREADS FLEXT_THR_POSIX 383 #define FLEXT_CLASSDEF(CL) CL 384 #elif defined(FLEXT_DEBUG) 385 #if defined(FLEXT_SHARED) 386 #define FLEXT_CLASSDEF(CL) CL##_shared_d 387 #elif defined(FLEXT_THREADS) 388 #define FLEXT_CLASSDEF(CL) CL##_multi_d 390 #define FLEXT_CLASSDEF(CL) CL##_single_d 393 #if defined(FLEXT_SHARED) 394 #define FLEXT_CLASSDEF(CL) CL##_shared 395 #elif defined(FLEXT_THREADS) 396 #define FLEXT_CLASSDEF(CL) CL##_multi 398 #define FLEXT_CLASSDEF(CL) CL##_single 405 #if defined(_MSC_VER) 409 #define FLEXT_SHARE __declspec(dllexport) 411 #define FLEXT_SHARE __declspec(dllimport) 416 #define FLEXT_EXT __declspec(dllexport) 433 # define LIKELY(expression) (__builtin_expect(!!(expression), 1)) 436 # define UNLIKELY(expression) (__builtin_expect(!!(expression), 0)) 440 # define LIKELY(expression) (expression) 443 # define UNLIKELY(expression) (expression) 449 # define FLEXT_TEMPLATE template<typename flext_T> 450 # define FLEXT_TEMPIMPL(fun) template<typename flext_T> fun<flext_T> 451 # define FLEXT_TEMPINST(fun) fun<void> 452 # define FLEXT_TEMPSUB(fun) typename fun<flext_T> 453 # define FLEXT_TEMP_TYPENAME typename 455 # define FLEXT_TEMPLATE 456 # define FLEXT_TEMPIMPL(fun) fun 457 # define FLEXT_TEMPINST(fun) fun 458 # define FLEXT_TEMPSUB(fun) fun 459 # define FLEXT_TEMP_TYPENAME 462 #endif // __FLEXT_PREFIX_H