Go to the documentation of this file. 18 #include "SagittariusConfigure.h" 20 #ifndef __SAGITTARIUS_PLATFORM_H_ 21 #define __SAGITTARIUS_PLATFORM_H_ 26 #define SAGITTARIUS_PLATFORM_WIN 1 27 #define SAGITTARIUS_PLATFORM_APPLE 2 28 #define SAGITTARIUS_PLATFORM_LINUX 3 30 #define SAGITTARIUS_COMPILER_GNUC 1 31 #define SAGITTARIUS_COMPILER_MINGW 2 32 #define SAGITTARIUS_COMPILER_MSVC 3 33 #define SAGITTARIUS_COMPILER_BORL 4 35 #define SAGITTARIUS_LITTLE_ENDIAN 1 36 #define SAGITTARIUS_BIG_ENDIAN 2 38 #define SAGITTARIUS_ARCH_32 1 39 #define SAGITTARIUS_ARCH_64 2 42 #if defined ( __MINGW32__ ) 44 # define SAGITTARIUS_COMPILER SAGITTARIUS_COMPILER_MINGW 46 #elif defined( __GNUC__ ) 47 # define SAGITTARIUS_COMPILER SAGITTARIUS_COMPILER_GNUC 48 # if defined ( __GNUC_PATCHLEVEL__ ) 49 # define SAGITTARIUS_COMPILER_VERSION ( ( __GNUC__ )*100 ) + ( ( __GNUC_MINOR__ )*10 ) + __GNUC_PATCHLEVEL__ 51 # define SAGITTARIUS_COMPILER_VERSION ( ( __GNUC__ )*100 ) + ( ( __GNUC_MINOR__ )*10 ) 52 # define SAGITTARIUS_CXX_STD_LIB_VER __GLIBCXX__ 55 # define SAGITTARIUS_CXX_STD_LIB_VER __GLIBCXX__ 56 #elif defined ( _MSC_VER ) 57 # define SAGITTARIUS_COMPILER SAGITTARIUS_COMPILER_MSVC 58 # define SAGITTARIUS_COMPILER_VERSION _MSC_VER 59 #elif defined ( __BORLANDC__ ) 60 # error "Borland C/C++ is not supported" 62 # error "This compiler does not appear to be supported" 66 # if (SAGITTARIUS_COMPILER == SAGITTARIUS_COMPILER_MSVC) 67 # define SAGITTARIUS_DEPRECATED(f) __declspec(deprecated) f 69 # define SAGITTARIUS_DEPRECATED(f) f __attribute__((deprecated)) 73 #if SAGITTARIUS_COMPILER == SAGITTARIUS_COMPILER_MSVC 74 # if SAGITTARIUS_COMPILER_VERSION >= 1200 75 # define FORCEINLINE __forceinline 77 #elif defined( __MINGW32__ ) 78 # if !defined(FORCEINLINE) 79 # define FORCEINLINE __inline 82 # define FORCEINLINE __inline 86 #if defined( __WIN32__ ) || defined ( _WIN32 ) 87 # define SAGITTARIUS_PLATFORM SAGITTARIUS_PLATFORM_WIN 88 # define SAGITTARIUS_IS_POSIX_VAR 0 //True if on a POSIX variant 89 #elif defined ( __APPLE_CC__ ) 90 # define SAGITTARIUS_PLATFORM SAGITTARIUS_PLATFORM_APPLE 91 # define SAGITTARIUS_IS_POSIX_VAR 1 92 #elif defined ( __linux__ ) 93 # define SAGITTARIUS_PLATFORM SAGITTARIUS_PLATFORM_LINUX 94 # define SAGITTARIUS_IS_POSIX_VAR 1 96 # warning Platform unknown trying Linux 97 # define SAGITTARIUS_PLATFORM SAGITTARIUS_PLATFORM_LINUX 101 #if defined( __x86_64__ ) || defined( _M_X64 ) 102 # define SAGITTARIUS_ARCH SAGITTARIUS_ARCH_64 103 # define SG_PTR_SIZE 8 105 # define SAGITTARIUS_ARCH SAGITTARIUS_ARCH_32 106 # define SG_PTR_SIZE 4 109 #define GF_MACRO_QUOTE( x ) # x 110 #define GF_EXPAND_AND_QUOTE( x ) GF_MACRO_QUOTE(x) 111 #define SAGITTARIUS_WARN( x ) message( __FILE__ "(" MACRO_QUOTE( __LINE__ ) ") : " x "\n" ) 114 #if SAGITTARIUS_PLATFORM == SAGITTARIUS_PLATFORM_WIN 115 # include "SagittariusPlatformWin.h" 116 # define OS_SEP MACRO_QUOTE(/) 122 # if(!SBNW_CLIENT_BUILD) 123 # define _GraphfabExport __declspec(dllexport) 124 # define _GraphfabPrivate 126 # define _GraphfabExport __declspec(dllimport) 127 # define _GraphfabPrivate 129 #elif SAGITTARIUS_PLATFORM == SAGITTARIUS_PLATFORM_APPLE 130 # define _GraphfabExport 131 # define _GraphfabPrivate 132 #elif SAGITTARIUS_PLATFORM == SAGITTARIUS_PLATFORM_LINUX 133 # define OS_SEP MACRO_QUOTE(/) 134 # if defined( SAGITTARIUS_GCC_VISIBILITY ) 135 # define _GraphfabExport __attribute__ ((visibility("default"))) 136 # define _GraphfabPrivate __attribute__ ((visibility("hidden"))) 138 # define _GraphfabExport 139 # define _GraphfabPrivate 143 #define SAGITTARIUS_UNICODE_SUPPORT 0 145 #ifdef SAGITTARIUS_CONFIG_BIG_ENDIAN 146 # define SAGITTARIUS_ENDIAN SAGITTARIUS_BIG_ENDIAN 148 # define SAGITTARIUS_ENDIAN SAGITTARIUS_LITTLE_ENDIAN