28#ifndef SDL_platform_h_
29#define SDL_platform_h_
39#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
43#if defined(_arch_dreamcast)
45#define __DREAMCAST__ 1
47#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
51#if defined(hpux) || defined(__hpux) || defined(__hpux__)
55#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
59#if (defined(linux) || defined(__linux) || defined(__linux__))
63#if defined(ANDROID) || defined(__ANDROID__)
75#include <AvailabilityMacros.h>
76#ifndef __has_extension
77#define __has_extension(x) 0
78#include <TargetConditionals.h>
81#include <TargetConditionals.h>
88#ifndef TARGET_OS_MACCATALYST
89#define TARGET_OS_MACCATALYST 0
92#define TARGET_OS_IOS 0
94#ifndef TARGET_OS_IPHONE
95#define TARGET_OS_IPHONE 0
100#ifndef TARGET_OS_SIMULATOR
101#define TARGET_OS_SIMULATOR 0
111#define __IPHONEOS__ 1
117#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
118# error SDL for Mac OS X only supports deploying on 10.7 and above.
123#if defined(__NetBSD__)
127#if defined(__OpenBSD__)
131#if defined(__OS2__) || defined(__EMX__)
135#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
139#if defined(__QNXNTO__)
143#if defined(riscos) || defined(__riscos) || defined(__riscos__)
147#if defined(__sun) && defined(__SVR4)
152#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
154#if defined(_MSC_VER) && defined(__has_include)
155#if __has_include(<winapifamily.h>)
156#define HAVE_WINAPIFAMILY_H 1
158#define HAVE_WINAPIFAMILY_H 0
162#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)
163#define HAVE_WINAPIFAMILY_H 1
165#define HAVE_WINAPIFAMILY_H 0
168#if HAVE_WINAPIFAMILY_H
169#include <winapifamily.h>
170#define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
172#define WINAPI_FAMILY_WINRT 0
175#if (HAVE_WINAPIFAMILY_H) && defined(WINAPI_FAMILY_PHONE_APP)
176#define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
178#define SDL_WINAPI_FAMILY_PHONE 0
181#if WINAPI_FAMILY_WINRT
184#elif defined(_GAMING_DESKTOP)
187#elif defined(_GAMING_XBOX_XBOXONE)
190#elif defined(_GAMING_XBOX_SCARLETT)
192#define __XBOXSERIES__ 1
199#if defined(__WINDOWS__)
204#if defined(__WINGDK__) || defined(__XBOXONE__) || defined(__XBOXSERIES__)
208#if defined(__PSP__) || defined(__psp__)
221#if defined(__native_client__)
226#if defined(__pnacl__)
231#define __SDL_NOGETPROCADDR__