From a51686c8f0d48e9529727efddaff143b23013ab9 Mon Sep 17 00:00:00 2001 From: Abdelrahman Date: Sun, 30 Aug 2026 00:10:16 +0100 Subject: [PATCH] Add compiler detection macros --- src/common/platform/platform.h | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/src/common/platform/platform.h b/src/common/platform/platform.h index a73fd8f..5c2976a 100644 --- a/src/common/platform/platform.h +++ b/src/common/platform/platform.h @@ -3,6 +3,7 @@ #ifndef PLATFORM_H #define PLATFORM_H +// Operating system #if defined(__ANDROID__) #define WP_PLATFORM_ANDROID #define WP_PLATFORM_POSIX @@ -60,6 +61,39 @@ #error "Unrecognised platform" #endif +// Compiler +#if defined(__clang__) + #define WP_PLATFORM_CLANG + + #if defined(__GNUG__) + #define WP_PLATFORM_CLANGPP + #endif + + #define WP_PLATFORM_CLANG_MAJOR __clang_major__ + #define WP_PLATFORM_CLANG_MINOR __clang_minor__ + #define WP_PLATFORM_CLANG_PATCH __clang_patchlevel__ +#elif defined(__GNUC__) || defined(__GNUG__) + #define WP_PLATFORM_GCC + + #if defined(__GNUG__) + #define WP_PLATFORM_GPP + #endif + + #define WP_PLATFORM_GCC_MAJOR __GNUC__ + #define WP_PLATFORM_GCC_MINOR __GNUC_MINOR__ + + #if defined(__GNUC_PATCHLEVEL__) + #define WP_PLATFORM_GCC_PATCH __GNUC_PATCHLEVEL__ + #endif +#elif defined(_MSC_VER) + #define WP_PLATFORM_MSVC + #define WP_PLATFORM_MSVC_FULL_VERSION _MSC_FULL_VER + #define WP_PLATFORM_MSVC_VERSION _MSC_VER +#else + #error "Unrecognised compiler" +#endif + +// Language #ifdef __cplusplus #define WP_PLATFORM_CPP #define WP_PLATFORM_CPP_VERSION __cplusplus