Files
archived-ballistic/include/bal_platform.h
Ronald Caesar d4a1d395ec engine: add arm64 and x86 environment detection
Signed-off-by: Ronald Caesar <github43132@proton.me>
2026-01-23 17:43:09 -04:00

54 lines
832 B
C

#ifndef BALLISTIC_PLATFORM_H
#define BALLISTIC_PLATFORM_H
#if defined(_WIN32) || defined(_WIN64)
#define BAL_PLATFORM_WINDOWS 1
#define BAL_PLATFORM_POSIX 0
#elif defined(__linux__) || defined(__APPLE__)
#define BAL_PLATFORM_WINDOWS 0
#define BAL_PLATFORM_POSIX 1
#else
#error "Unknown Platform"
#endif
#if defined(__aarch64__)
#define BAL_ARCHITECTURE_ARM 1
#define BAL_ARCHITECTURE_X86 0
#elif defined(__x86_64__)
#define BAL_ARCHITECTURE_ARM 0
#define BAL_ARCHITECTURE_X86 1
#else
#error "Ballistic requires a 64-bit ARM or x86 environment."
#endif
#if defined(_MSC_VER)
#define BAL_COMPILER_MSVC 1
#define BAL_COMPILER_GCC 0
#elif defined(__GNUC__) || defined(__clang__)
#define BAL_COMPILER_MSVC 0
#define BAL_COMPILER_GCC 1
#else
#error "Unknown Compiler"
#endif
#endif /* BALLISTIC_PLATFORM_H */