GeoBase.h is the top level configuration file for the Enlighten SDK.
Its most important task is to examine the compile environment (predefined macros, etc) and determine the OS and compiler settings that inform the code declarations, optimised code paths and so on.
Defines
Name | Description |
---|---|
__WFILE__ GEO_WIDEN(__FILE__) | Compile conversion of narrow to wide character literals. |
GEO_ANDROID | Android OS. |
GEO_APPLE | Apple operating system, either desktop or mobile. |
GEO_ARM | 32-bit ARM processor |
GEO_ARM64 | 64-bit ARM processor |
GEO_BIG_ENDIAN | Target platform stores data in little-endian format in memory. |
GEO_CALL __cdecl | The library-wide calling convention. |
GEO_CLANG | CLang/LLVM. |
GEO_COMPILE_MESSAGE (void)0 | Print out a message during compilation. |
GEO_DEBUG | Compile in debug-only code. |
GEO_DO_STRINGISE #X | Helper macro GEO_STRINGIZE: Converts the parameter X to a string after macro replacement on X has been performed. |
GEO_GCC | gcc (version 4) |
GEO_INTEL | Intel C++ Compiler 12 or later (GEO_MSVC also set) |
GEO_IOS | Apple iOS. |
GEO_LENGTH_STATIC_ARRAY size_t(sizeof((a))/sizeof((a)[0])) | Convenience macro to get the length of a statically declared array. |
GEO_LINUX | Linux operating system, but no particular platform hardware. |
GEO_LINUX_DESKTOP | Linux desktop PC. |
GEO_LINUX_MOBILE | Linux mobile device. |
GEO_LITTLE_ENDIAN | Target platform stores data in little-endian format in memory. |
GEO_LITTLE_ENDIAN | Target platform stores data in little-endian format in memory. |
GEO_LLP64 | int is 32 bits, long is 32 bits, size_t is 64 bits (Windows style) |
GEO_LLP64 | int is 32 bits, long is 32 bits, size_t is 64 bits (Windows style) |
GEO_LP64 | int is 32 bits, long is 64 bits, size_t is 64 bits (Unix style) |
GEO_MAKE_FOURCC ((Geo::u32)(Geo::u8)(ch0) | ((Geo::u32)(Geo::u8)(ch1) << 8) | \ ((Geo::u32)(Geo::u8)(ch2) << 16) | ((Geo::u32)(Geo::u8)(ch3) << 24 )) | Define a 'fourcc' code - a 4 byte string of chars typically used as an identifier in file format headers. |
GEO_MSVC | Microsoft Visual C++ 2008 or later (or Intel C++) |
GEO_MSVC | Microsoft Visual C++ 2008 or later (or Intel C++) |
GEO_PROFILE | Include profiling support (very platform dependent). |
GEO_PTRWIDTH_32 | 32-bit pointers |
GEO_PTRWIDTH_64 | 64-bit pointers |
GEO_PTRWIDTH_64 | 64-bit pointers |
GEO_STADIA | Google Stadia. |
GEO_STDCPP11 | allow limited use of c++11 standard library when compiling with MSVC |
GEO_STRINGISE GEO_DO_STRINGISE(X) | Helper macro GEO_STRINGIZE: Converts the parameter X to a string after macro replacement on X has been performed. |
GEO_UNUSED (void)(symbol) | GEO_UNUSED can eliminate "variable not used" messages under all compilers mainly it is useful for gcc since there is no pragma to control this. |
GEO_UNUSED_ATTRIBUTE __attribute__((unused)) | GEO_UNUSED_ATTRIBUTE is required on private data members that are unused by the rest of the code. |
GEO_VPU_NEON | ARM NEON on iOS or Android. |
GEO_VPU_REF | Reference version. |
GEO_VPU_REF | Reference version. |
GEO_VPU_SSE | Intel SSE2 on x86/x64. |
GEO_VPU_SSE | Intel SSE2 on x86/x64. |
GEO_WIDE_STRINGISE GEO_JOIN(L,GEO_DO_STRINGISE(X)) | Helper macro GEO_STRINGIZE: Converts the parameter X to a string after macro replacement on X has been performed. |
GEO_WIDEN GEO_WIDEN2(x) | Compile conversion of narrow to wide character literals. |
GEO_WIDEN2 L##x | Compile conversion of narrow to wide character literals. |
GEO_WINDOWS | Windows API. |
GEO_WINDOWS | Windows API. |
GEO_X64 | x64 architecture, but no particular platform API |
GEO_X64 | x64 architecture, but no particular platform API |
GEO_X86 | x86 architecture, but no particular platform API |
NULL (void*)0 | Define NULL in case no-one else does. |