1 #ifndef MUTILS_PLATFORM_H 2 #define MUTILS_PLATFORM_H 31 #define INT_MAX 2147483647L 33 #if INT_MAX >= 2147483647L 37 typedef signed long int int32;
38 typedef unsigned long int uint32;
42 #define LONG_MAX 2147483647L 44 #if LONG_MAX > 2147483647L 45 typedef signed long int int64;
46 typedef unsigned long int uint64;
48 typedef signed long long int int64;
49 typedef unsigned long long int uint64;
61 #define MU_MAKESTR(arg) #arg 62 #define MU_VERSTR(num) MU_MAKESTR(num) 65 #define mu_compiler_known 66 #if defined(__SUNPRO_C) || defined(__SUNPRO_CC) 67 # define mu_compiler "sunpro" 68 # define mu_compiler_sunpro 70 # define mu_compiler "pgcc" 71 # define mu_compiler_pgcc 73 # define mu_compiler ("icc" MU_VERSTR(__ICC)) 74 # define mu_compiler_icc 76 # define mu_compiler "decc" 77 # define mu_compiler_decc 78 #elif defined(__xlC__) 79 # define mu_compiler "xlc" 80 # define mu_compiler_xlc 81 #elif defined(__GNUC__) 82 # define mu_compiler ("gcc" MU_VERSTR(__GNUC__) "." MU_VERSTR(__GNUC_MINOR__)) 83 # define mu_compiler_gcc 85 # define mu_compiler "unknown" 86 # undef mu_compiler_known 94 #elif defined(__UWIN__) 96 #elif defined(__MINGW32__) || defined(__CYGWIN32__) || defined(_MSC_VER) || \ 97 defined(__WIN32) || defined(_WIN32) || defined(WIN32) 99 #elif defined(__APPLE__) && defined(__MACH__) 101 #elif defined(aix) || defined(__aix) 103 #elif defined(hpux) || defined(__hpux) 105 #elif defined(irix) || defined(sgi) || defined(__sgi) || defined(__irix) 107 #elif defined(linx) || defined(linux) || defined(__linux__) || defined(__linx) 109 #elif defined(osf1) || defined (__osf__) || \ 110 (defined(__digital__) && defined(__unix__)) || defined(__osf1) 112 #elif defined(sun4) || defined(__sun4) 114 #elif defined(sun5) || defined(__sun5) || (defined(__PGI) && defined(sun)) 116 #elif defined(sun) || defined(__sun) 117 # if defined(__SVR4) || defined(__svr4__) || defined(__sun5) 119 # elif (!defined(__SVR4) && !defined(__svr4__)) || defined(__sun4) 127 # error "OS not supported in platform.h." 133 #if defined(alpha) || defined(__alpha__) || defined(__alpha) 134 # define mu_cpu_alpha 135 #elif defined(hppa) || defined(__hppa) 137 #elif defined(__MIC__) 138 # define mu_cpu_x86_mic 139 #elif defined(i386) || defined(i486) || defined(i586) || \ 140 defined(i686) || defined(i786) || defined(__i386) || defined(_X86_) || \ 141 defined(__386__) || defined(__i386__) || defined(_M_IX86) 143 #elif defined(x86_64) || defined(__x86_64) || defined(__x86_64__) || \ 144 defined(__amd64) || defined(__amd64__) 145 # define mu_cpu_amd64 146 #elif defined(mips) || defined(host_mips) || \ 147 defined(__host_mips) || defined(__mips) 149 #elif defined(__bgq__) && defined(__PPC64__) 151 #elif defined(__PPC64__) || defined(__ARCH_PPC64) 152 # define mu_cpu_ppc64 153 #elif defined(__ppc__) || defined(__PPC__) || defined(__ppc) || \ 154 defined(__powerpc__) || defined(__powerpc) 156 #elif defined(rs6000) || defined(__rs6000__) || defined(__rs6000) 157 # define mu_cpu_rs6000 158 #elif defined(sparc) || defined(__sparc__) || defined(__sparc) 159 # define mu_cpu_sparc 165 # error "CPU not supported in platform.h." 171 #if (defined(mu_compiler_icc) || defined(mu_compiler_gcc) || \ 172 defined(mu_compiler_sunpro)) && \ 173 defined(mu_cpu_x86) && !defined(mu_os_macx) 174 # define mu_asm_att_x86 175 #elif (defined(mu_compiler_icc) || defined(mu_compiler_gcc) || \ 176 defined(mu_compiler_sunpro)) && \ 177 defined(mu_cpu_amd64) && !defined(mu_os_macx) 178 # define mu_asm_att_amd64 185 #if defined(mu_cpu_alpha) || defined(mu_cpu_x86) || defined(mu_cpu_amd64) || \ 186 defined(mu_cpu_x86_mic) || defined(mu_cpu_rs6000) || \ 187 (defined(mu_cpu_mips) && !defined(_MIPSEB) && !defined(MIPSEB)) || \ 191 #elif defined(mu_cpu_bgq) || defined(mu_cpu_hppa) || defined(mu_cpu_mips) || \ 192 defined(mu_cpu_ppc) || defined(mu_cpu_ppc64) || defined(mu_cpu_sparc) || \ 194 # define MU_BIGENDIAN 197 # error "Byte order unknown in platform.h; CPU type supported??" 201 #if defined(DLL_EXPORT) 202 # define DLLSPEC __declspec(dllexport) 203 #elif defined(DLL_IMPORT) 204 # define DLLSPEC __declspec(dllimport)