From e85e4ee46e86c0312bbf601811dd7f48a5c78047 Mon Sep 17 00:00:00 2001 From: Robear Selwans Date: Wed, 29 Dec 2021 16:33:13 +0200 Subject: [PATCH] Updated defines.h Signed-off-by: Robear Selwans --- defines.h | 97 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 74 insertions(+), 23 deletions(-) diff --git a/defines.h b/defines.h index c896f5f..13555c1 100644 --- a/defines.h +++ b/defines.h @@ -1,30 +1,81 @@ -#pragma once +#ifndef EV_HEADERS_DEFINES_H +#define EV_HEADERS_DEFINES_H + +#ifndef EV_OS_WINDOWS +# define EV_OS_WINDOWS 0 +#endif +#ifndef EV_OS_LINUX +# define EV_OS_LINUX 0 +#endif +#ifndef EV_OS_IOS +# define EV_OS_IOS 0 +#endif +#ifndef EV_OS_MACOS +# define EV_OS_MACOS 0 +#endif +#ifndef EV_OS_ANDROID +# define EV_OS_ANDROID 0 +#endif +#if (EV_OS_WINDOWS || EV_OS_LINUX || EV_OS_IOS || EV_OS_MACOS || EV_OS_ANDROID) +# define EV_OS_DEFINED 1 +#else +# define EV_OS_DEFINED 0 +#endif + +#ifndef EV_CC_MSVC +# define EV_CC_MSVC 0 +#endif +#ifndef EV_CC_GCC +# define EV_CC_GCC 0 +#endif +#ifndef EV_CC_CLANG +# define EV_CC_CLANG 0 +#endif +#if (EV_CC_MSVC || EV_CC_GCC || EV_CC_CLANG) +# define EV_CC_DEFINED 1 +#else +# define EV_CC_DEFINED 0 +#endif // Operating System Detection -#if defined(_WIN32) -# define EV_OS_WINDOWS -#elif defined(__linux__) -# define EV_OS_LINUX -#elif defined(__APPLE__) -# include "TargetConditionals.h" -# if defined(TARGET_OS_IPHONE) -# define EV_OS_IOS -# elif defined(TARGET_OS_MAC) -# define EV_OS_MACOS -# elif defined(__ANDROID__) -# define EV_OS_ANDROID +#if !EV_OS_DEFINED +# if defined(_WIN32) +# undef EV_OS_WINDOWS +# define EV_OS_WINDOWS 1 +# elif defined(__linux__) +# undef EV_OS_LINUX +# define EV_OS_LINUX 1 +# elif defined(__APPLE__) +# include "TargetConditionals.h" +# if defined(TARGET_OS_IPHONE) +# undef EV_OS_IOS +# define EV_OS_IOS 1 +# elif defined(TARGET_OS_MAC) +# undef EV_OS_MACOS +# define EV_OS_MACOS 1 +# elif defined(__ANDROID__) +# undef EV_OS_ANDROID +# define EV_OS_ANDROID 1 +# endif +# else +# error EV_OS_UNKNOWN # endif -#else -# error EV_OS_UNKNOWN #endif // Compiler Detection -#if defined(_MSC_VER) -# define EV_CC_MSVC -#elif defined(__GNUC__) -# define EV_CC_GCC -#elif defined(__clang) -# define EV_CC_CLANG -#else -# error EV_CC_UNKNOWN +#if !EV_CC_DEFINED +# if defined(_MSC_VER) +# undef EV_CC_MSVC +# define EV_CC_MSVC 1 +# elif defined(__GNUC__) +# undef EV_CC_GCC +# define EV_CC_GCC 1 +# elif defined(__clang) +# undef EV_CC_CLANG +# define EV_CC_CLANG 1 +# else +# error EV_CC_UNKNOWN +# endif #endif + +#endif // EV_HEADERS_DEFINES_H