gwnavruntime/kernel/platforms.h Source File
Go to the documentation of this file.
13 #if (defined(__APPLE__) && (defined(__GNUC__) || defined(__xlC__) || defined(__xlc__))) || defined(__MACOS__)
14 # if (defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) || defined(__IPHONE_OS_VERSION_MIN_REQUIRED))
16 # define KY_OS_STRING "ios"
19 # define KY_OS_STRING "osx"
22 #elif defined(ANDROID)
23 # define KY_OS_ANDROID
24 # define KY_OS_STRING "android"
26 #elif defined(__linux__) || defined(__linux)
27 # define KY_OS_LINUXPC
28 # define KY_OS_STRING "linux"
30 #elif defined(__ORBIS__)
32 # define KY_OS_STRING "ps4"
34 #elif defined(__EMSCRIPTEN__)
36 # define KY_OS_STRING "web"
43 # if defined(_DURANGO)
44 # define KY_OS_XBOXONE
45 # define KY_OS_STRING "xb1"
47 # elif defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_PC_APP)
50 # define KY_OS_STRING "uwp64_mt"
52 # define KY_OS_STRING "uwp32_mt"
56 # define KY_OS_WINDOWSPC
59 # define KY_OS_STRING "win64_md"
61 # define KY_OS_STRING "win64_mt"
65 # define KY_OS_STRING "win32_md"
67 # define KY_OS_STRING "win32_mt"
74 #if !defined(KY_OS_STRING)
75 # error "Navigation does not support this platform"
81 #if defined(KY_OS_WINDOWSPC) || defined(KY_OS_LINUXPC) || defined(KY_OS_MAC)
82 # define KY_OS_DESKTOP
89 #if defined(__x86_64__) || defined(_WIN64)
90 # define KY_CPU_X86_64
91 # define KY_64BIT_POINTERS
92 #elif defined(__i386__) || defined(KY_OS_MS) && !defined(_M_ARM_FP)
93 # define KY_CPU_X86_32
94 #elif defined(__arm__) || defined(_M_ARM_FP) // __arm__ is defined for 32bit arm only
96 #elif defined (__LP64__) // iOS: arch=arm64
97 # define KY_64BIT_POINTERS
103 #if defined(KY_OS_DESKTOP) || defined(KY_OS_PS4) || defined(KY_OS_XBOXONE)
104 # define KY_ENABLE_GENERATION
111 #if defined(_MSC_VER)
112 # define KY_CC_MSVC _MSC_VER
118 #elif defined(__clang__)
121 #elif defined(__GNUC__)
125 # error "Navigation does not support this compiler"
131 #if defined(KY_OS_LINUXPC) || defined(KY_OS_ANDROID)