8 #if !defined(MYPLATFORM_H)
11 #if !defined(MYPLATFORM)
12 #if defined(__x86_64__)
13 #define MYPLATFORM "x86_64"
17 #if !defined(MYPLATFORM)
19 #define MYPLATFORM "x86"
23 #if !defined(MYPLATFORM)
24 #if defined(__aarch64__)
25 #define MYPLATFORM "arm64"
29 #if !defined(MYPLATFORM)
31 #define MYPLATFORM "arm"
35 #if !defined(MYPLATFORM)
36 #if defined(__powerpc__)
37 #define MYPLATFORM "ppc"
41 #if !defined(MYPLATFORM)
42 #if defined(__sparc__)
43 #define MYPLATFORM "sparc"
47 #if !defined(MYPLATFORM)
49 #define MYPLATFORM "mips"
53 #if !defined(MYPLATFORM)
55 #define MYPLATFORM "m68k"
59 #if !defined(MYPLATFORM)
61 #define MYPLATFORM "ia64"
65 #if !defined(MYPLATFORM)
67 #define MYPLATFORM "hppa"
72 #if !defined(MYPLATFORM)
73 #define MYPLATFORM "-"
79 #if defined(__ANDROID__)
80 #define MYOS "Android"
85 #if defined(_WIN32) || defined(WIN32)
86 #define MYOS "Windows"
92 #define MYOS "Solaris"
103 #if defined(__APPLE__)
104 #define MYOS "Mac OS/iOS"
109 #if defined(__linux__)
122 #define DEVUNUSED UNUSED
127 #if defined(_WIN32) || defined(WIN32)
129 #if !defined(BELOFTE_NOUNICODE)
130 #define BELOFTE_NOUNICODE
134 #if defined(__INTEL_COMPILER)
137 #if defined(_MSC_VER)
138 #pragma warning( disable : 4100 )
142 #if defined(__GNUC__)
143 #define UNUSED __attribute__((unused))
146 #if defined(__DEBUG__) && !defined(_DEBUG)
150 #if __cplusplus < 201103L
151 #error "C++11 or higher required"
154 #define B_VALUE(x) B_HELPER(x)
155 #define B_HELPER(x) #x
156 #if defined(__clang__)
157 #define BELOFTE_COMPILER "clang " B_VALUE(__clang_major__) "." \
158 B_VALUE(__clang_minor__) "." B_VALUE(__clang_patchlevel__)
159 #elif defined(__GNUC__) || defined(__GNUG__)
160 #define BELOFTE_COMPILER "gcc " B_VALUE(__GNUC__) "." \
161 B_VALUE(__GNUC_MINOR__) "." B_VALUE(__GNUC_PATCHLEVEL__)
163 #define BELOFTE_COMPILER "other compiler"
166 #if defined(__GNUC__) && !defined(__clang__)
168 #if !defined(INCOMPLETE_C11)
169 #define INCOMPLETE_C11
174 #if defined(__APPLE_CC__)
175 #if !defined(CHRONO_MISSING)
176 #define CHRONO_MISSING
180 #if defined(__ANDROID__)
181 #define BELOFTE_UCIMODE
184 #if defined(INCOMPLETE_C11)
185 #define MEMBER_CONSTEXPR
187 #define MEMBER_CONSTEXPR constexpr