22 #define TY_PLATFORM_WIN32 1
23 #define TY_PLATFORM_WIN64 2
24 #define TY_PLATFORM_LINUX 3
26 #define TY_COMPILER_MSVC 1
27 #define TY_COMPILER_GNUC 2
29 #define TY_ARCHITECTURE_32 1
30 #define TY_ARCHITECTURE_64 2
35 #define TY_COMPILER TY_COMPILER_MSVC
36 #define TY_COMP_VER _MSC_VER
38 #elif defined(__GNUC__)
39 #define TY_COMPILER TY_COMPILER_GNUC
40 #define TY_COMP_VER (((__GNUC__)*100) + (__GNUC_MINOR__ * 10) + __GNUC_PATCHLEVEL__)
43 #pragma error "No known compiler. Abort! Abort!"
48 #if defined(_WIN64_) || defined(_WIN64)
49 #define TY_PLATFORM TY_PLATFORM_WIN64
51 #elif defined(__WIN32__) || defined(_WIN32)
52 #define TY_PLATFORM TY_PLATFORM_WIN32
55 #define TY_PLATFORM TY_PLATFORM_LINUX
59 #if defined(__x86_64__) || defined(_M_X64) || defined(__powerpc64__) || defined(__alpha__) || \
60 defined(__ia64__) || defined(__s390__) || defined(__s390x__)
61 #define TY_ARCH_TYPE TY_ARCHITECTURE_64
63 #define TY_ARCH_TYPE TY_ARCHITECTURE_32
66 #if TY_ARCH_TYPE == TY_ARCHITECTURE_32
67 #define TY_PRODUCT_PLATFORM_ "32bits"
69 #define TY_PRODUCT_PLATFORM_ "64bits"
77 #if TY_COMPILER == TY_COMPILER_MSVC
78 typedef unsigned __int64
uint64;
unsigned long long uint64