62 lines
1.7 KiB
C
62 lines
1.7 KiB
C
#ifndef PLATFORM_H
|
|
#define PLATFORM_H
|
|
|
|
#if defined(__ANDROID__)
|
|
#define WAPP_PLATFORM_ANDROID
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__FreeBSD__)
|
|
#define WAPP_PLATFORM_FREE_BSD
|
|
#define WAPP_PLATFORM_BSD
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__NetBSD__)
|
|
#define WAPP_PLATFORM_NET_BSD
|
|
#define WAPP_PLATFORM_BSD
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__OpenBSD__)
|
|
#define WAPP_PLATFORM_OPEN_BSD
|
|
#define WAPP_PLATFORM_BSD
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__DragonFly__)
|
|
#define WAPP_PLATFORM_DRAGON_FLY
|
|
#define WAPP_PLATFORM_BSD
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__bsdi__)
|
|
#define WAPP_PLATFORM_BSD
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__linux__) || defined(linux) || defined(__linux) || defined(__gnu_linux__)
|
|
#define WAPP_PLATFORM_LINUX
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__GNU__) || defined(__gnu_hurd__)
|
|
#define WAPP_PLATFORM_GNU
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif defined(__APPLE__) || defined(__MACH__)
|
|
#include <TargetConditionals.h>
|
|
#if TARGET_OS_IPHONE
|
|
#define WAPP_PLATFORM_IOS
|
|
#define WAPP_PLATFORM_APPLE
|
|
#define WAPP_PLATFORM_POSIX
|
|
#elif TARGET_OS_MAC
|
|
#define WAPP_PLATFORM_MACOS
|
|
#define WAPP_PLATFORM_APPLE
|
|
#define WAPP_PLATFORM_POSIX
|
|
#else
|
|
#error "Unrecognised Apple platform"
|
|
#endif
|
|
#elif defined(_WIN64)
|
|
#define WAPP_PLATFORM_WINDOWS64
|
|
#define WAPP_PLATFORM_WINDOWS
|
|
#elif defined(_WIN32)
|
|
#define WAPP_PLATFORM_WINDOWS32
|
|
#define WAPP_PLATFORM_WINDOWS
|
|
#elif defined(__CYGWIN__)
|
|
#define WAPP_PLATFORM_CYGWIN
|
|
#define WAPP_PLATFORM_WINDOWS
|
|
#elif defined(__unix__) || defined(__unix)
|
|
#define WAPP_PLATFORM_UNIX
|
|
#define WAPP_PLATFORM_POSIX
|
|
#else
|
|
#error "Unrecognised platform"
|
|
#endif
|
|
|
|
#endif // !PLATFORM_H
|