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#include <TargetConditionals.h>
82#ifndef TARGET_OS_MACCATALYST
83#define TARGET_OS_MACCATALYST 0
86#define TARGET_OS_IOS 0
88#ifndef TARGET_OS_IPHONE
89#define TARGET_OS_IPHONE 0
94#ifndef TARGET_OS_SIMULATOR
95#define TARGET_OS_SIMULATOR 0
105#define __IPHONEOS__ 1
111#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
112# error SDL for Mac OS X only supports deploying on 10.7 and above.
117#if defined(__NetBSD__)
121#if defined(__OpenBSD__)
125#if defined(__OS2__) || defined(__EMX__)
129#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
133#if defined(__QNXNTO__)
137#if defined(riscos) || defined(__riscos) || defined(__riscos__)
141#if defined(__sun) && defined(__SVR4)
146#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
148#if defined(_MSC_VER) && defined(__has_include)
149#if __has_include(<winapifamily.h>)
150#define HAVE_WINAPIFAMILY_H 1
152#define HAVE_WINAPIFAMILY_H 0
156#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)
157#define HAVE_WINAPIFAMILY_H 1
159#define HAVE_WINAPIFAMILY_H 0
162#if HAVE_WINAPIFAMILY_H
163#include <winapifamily.h>
164#define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
166#define WINAPI_FAMILY_WINRT 0
169#if WINAPI_FAMILY_WINRT
172#elif defined(_GAMING_DESKTOP)
175#elif defined(_GAMING_XBOX_XBOXONE)
178#elif defined(_GAMING_XBOX_SCARLETT)
180#define __XBOXSERIES__ 1
187#if defined(__WINDOWS__)
192#if defined(__WINGDK__) || defined(__XBOXONE__) || defined(__XBOXSERIES__)
207#if defined(__native_client__)
212#if defined(__pnacl__)
217#define __SDL_NOGETPROCADDR__