Add compiler detection macros
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user