 |
Banuba SDK
|
3 #include <bnb/utils/config.hpp>
16 #if BNB_SDK_SHARED_LIBRARY
17 #define BNB_EXPORT __declspec(dllexport)
18 #elif BNB_SDK_STATIC_LIBRARY
21 #define BNB_EXPORT __declspec(dllimport)
24 #define BNB_EXPORT __attribute__((__visibility__("default")))
29 #define BNB_OS_ANDROID 0
31 #if !defined(BNB_DETAIL_OS_DETECTED) && (defined(__ANDROID__))
33 #define BNB_OS_ANDROID 1
37 #define BNB_OS_ANDROID_AVAILABLE
38 #include <bnb/utils/os_detected.hpp>
45 #if !defined(BNB_DETAIL_OS_DETECTED) && (defined(__APPLE__) && defined(__MACH__) && defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__))
51 #define BNB_OS_IOS_AVAILABLE
52 #include <bnb/utils/os_detected.hpp>
57 #define BNB_OS_LINUX 0
59 #if !defined(BNB_DETAIL_OS_DETECTED) && (defined(linux) || defined(__linux))
61 #define BNB_OS_LINUX 1
65 #define BNB_OS_LINUX_AVAILABLE
66 #include <bnb/utils/os_detected.hpp>
71 #define BNB_OS_MACOS 0
73 #if !defined(BNB_DETAIL_OS_DETECTED) && (defined(macintosh) || defined(Macintosh) || (defined(__APPLE__) && defined(__MACH__)))
75 #define BNB_OS_MACOS 1
79 #define BNB_OS_MACOS_AVAILABLE
80 #include <bnb/utils/os_detected.hpp>
85 #define BNB_OS_EMSCRIPTEN 0
87 #if !defined(BNB_DETAIL_OS_DETECTED) && defined(__EMSCRIPTEN__)
88 #undef BNB_OS_EMSCRIPTEN
89 #define BNB_OS_EMSCRIPTEN 1
93 #define BNB_OS_EMSCRIPTEN_AVAILABLE
94 #include <bnb/utils/os_detected.hpp>
101 #if defined(unix) || defined(__unix) || defined(_XOPEN_SOURCE) || defined(_POSIX_SOURCE)
103 #define BNB_OS_UNIX 1
107 #define BNB_OS_UNIX_AVAILABLE
112 #define BNB_OS_WINDOWS 0
113 #define BNB_OS_WINDOWS_ARM64 0
115 #if !defined(BNB_DETAIL_OS_DETECTED) && (defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) || defined(__TOS_WIN__) || defined(__WINDOWS__))
116 #undef BNB_OS_WINDOWS
117 #define BNB_OS_WINDOWS 1
118 #undef BNB_OS_WINDOWS_ARM64
119 #define BNB_OS_WINDOWS_ARM64 _M_ARM64
123 #define BNB_OS_WINDOWS_AVAILABLE
124 #include <bnb/utils/os_detected.hpp>
130 #if defined(macintosh) || defined(Macintosh) || defined(__APPLE__)
137 #if BNB_OS_ANDROID || BNB_OS_IOS || BNB_OS_EMSCRIPTEN
138 #define BNB_GLSL_VERSION "#version 300 es\n"
139 #elif BNB_OS_WINDOWS || BNB_OS_MACOS || BNB_OS_UNIX
140 #define BNB_GLSL_VERSION "#version 410 core\n"
142 #error "Can't determine GLSL version for OS"
145 #if !defined(__cpp_char8_t)
146 typedef char char8_t;
149 #if BNB_OS_ANDROID || (BNB_OS_LINUX && BNB_PYBIND_BUILD) || BNB_OS_IOS
150 #define BNB_HAVE_EGL 1
152 #define BNB_HAVE_EGL 0