#pragma once // This header verifies that all required platform defines have been provided by the // BaselibPlatformEnvironment and defines all non-defined optional macros to 0. Please make // sure to verify the proper definition of newly added platform defines here. #ifndef EXPORTED_SYMBOL #error "BaselibPlatformSpecificEnvironment is expected to define EXPORTED_SYMBOL." #endif #ifndef IMPORTED_SYMBOL #error "BaselibPlatformSpecificEnvironment is expected to define IMPORTED_SYMBOL." #endif #ifndef PLATFORM_FUTEX_NATIVE_SUPPORT #error "BaselibPlatformSpecificEnvironment is expected to define PLATFORM_FUTEX_NATIVE_SUPPORT to 0 or 1." #endif // define all other platforms to 0 #ifndef BASELIB_PLATFORM_WINDOWS #define BASELIB_PLATFORM_WINDOWS 0 #endif #ifndef BASELIB_PLATFORM_MACOS #define BASELIB_PLATFORM_MACOS 0 #endif #ifndef BASELIB_PLATFORM_LINUX #define BASELIB_PLATFORM_LINUX 0 #endif #ifndef BASELIB_PLATFORM_EMBEDDED_LINUX #define BASELIB_PLATFORM_EMBEDDED_LINUX 0 #endif #ifndef BASELIB_PLATFORM_WINRT #define BASELIB_PLATFORM_WINRT 0 #endif #ifndef BASELIB_PLATFORM_FAMILY_WINDOWSGAMES #define BASELIB_PLATFORM_FAMILY_WINDOWSGAMES 0 #endif #ifndef BASELIB_PLATFORM_EMSCRIPTEN #define BASELIB_PLATFORM_EMSCRIPTEN 0 #endif #ifndef BASELIB_PLATFORM_WASI #define BASELIB_PLATFORM_WASI 0 #endif #ifndef BASELIB_PLATFORM_ANDROID #define BASELIB_PLATFORM_ANDROID 0 #endif #ifndef BASELIB_PLATFORM_PS4 #define BASELIB_PLATFORM_PS4 0 #endif #ifndef BASELIB_PLATFORM_PS5 #define BASELIB_PLATFORM_PS5 0 #endif #ifndef BASELIB_PLATFORM_IOS #define BASELIB_PLATFORM_IOS 0 #endif #ifndef BASELIB_PLATFORM_TVOS #define BASELIB_PLATFORM_TVOS 0 #endif #ifndef BASELIB_PLATFORM_XBOXONE #define BASELIB_PLATFORM_XBOXONE 0 #endif #ifndef BASELIB_PLATFORM_SWITCH #define BASELIB_PLATFORM_SWITCH 0 #endif #ifndef BASELIB_PLATFORM_LUMIN #define BASELIB_PLATFORM_LUMIN 0 #endif #ifndef BASELIB_PLATFORM_STADIA #define BASELIB_PLATFORM_STADIA 0 #endif #ifndef BASELIB_PLATFORM_NETBSD #define BASELIB_PLATFORM_NETBSD 0 #endif // Define all other compilers with 0 #ifndef COMPILER_MSVC #define COMPILER_MSVC 0 #endif #ifndef COMPILER_GCC #define COMPILER_GCC 0 #endif #ifndef COMPILER_CLANG #define COMPILER_CLANG 0 #endif // Make sure no platform is defined twice. // Note that having no known platform defined is accepted. #if BASELIB_PLATFORM_WINDOWS + \ BASELIB_PLATFORM_MACOS + \ BASELIB_PLATFORM_LINUX + \ BASELIB_PLATFORM_EMBEDDED_LINUX + \ BASELIB_PLATFORM_WINRT + \ BASELIB_PLATFORM_FAMILY_WINDOWSGAMES + \ BASELIB_PLATFORM_EMSCRIPTEN + \ BASELIB_PLATFORM_WASI + \ BASELIB_PLATFORM_ANDROID + \ BASELIB_PLATFORM_PS4 + \ BASELIB_PLATFORM_PS5 + \ BASELIB_PLATFORM_IOS + \ BASELIB_PLATFORM_TVOS + \ BASELIB_PLATFORM_XBOXONE + \ BASELIB_PLATFORM_SWITCH + \ BASELIB_PLATFORM_LUMIN + \ BASELIB_PLATFORM_STADIA + \ BASELIB_PLATFORM_NETBSD \ > 1 #error "Only a single BASELIB_PLATFORM_X is allowed to be set to 1" #endif