Go to the documentation of this file.
28#ifndef SDL_platform_defines_h_
29#define SDL_platform_defines_h_
32#define SDL_PLATFORM_AIX 1
35#define SDL_PLATFORM_HAIKU 1
37#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
38#define SDL_PLATFORM_BSDI 1
40#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
41#define SDL_PLATFORM_FREEBSD 1
43#if defined(hpux) || defined(__hpux) || defined(__hpux__)
44#define SDL_PLATFORM_HPUX 1
46#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
47#define SDL_PLATFORM_IRIX 1
49#if (defined(linux) || defined(__linux) || defined(__linux__))
50#define SDL_PLATFORM_LINUX 1
52#if defined(ANDROID) || defined(__ANDROID__)
53#undef SDL_PLATFORM_LINUX
54#define SDL_PLATFORM_ANDROID 1
57#define SDL_PLATFORM_NGAGE 1
60#if defined(__unix__) || defined(__unix) || defined(unix)
61#define SDL_PLATFORM_UNIX 1
65#define SDL_PLATFORM_APPLE 1
67#include <AvailabilityMacros.h>
68#include <TargetConditionals.h>
74#ifndef TARGET_OS_MACCATALYST
75#define TARGET_OS_MACCATALYST 0
78#define TARGET_OS_IOS 0
80#ifndef TARGET_OS_IPHONE
81#define TARGET_OS_IPHONE 0
86#ifndef TARGET_OS_SIMULATOR
87#define TARGET_OS_SIMULATOR 0
89#ifndef TARGET_OS_VISION
90#define TARGET_OS_VISION 0
94#define SDL_PLATFORM_TVOS 1
97#define SDL_PLATFORM_VISIONOS 1
100#define SDL_PLATFORM_IOS 1
102#define SDL_PLATFORM_MACOS 1
103#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
104# error SDL for macOS only supports deploying on 10.7 and above.
110#define SDL_PLATFORM_EMSCRIPTEN 1
113#define SDL_PLATFORM_NETBSD 1
116#define SDL_PLATFORM_OPENBSD 1
118#if defined(__OS2__) || defined(__EMX__)
119#define SDL_PLATFORM_OS2 1
121#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
122#define SDL_PLATFORM_OSF 1
125#define SDL_PLATFORM_QNXNTO 1
127#if defined(riscos) || defined(__riscos) || defined(__riscos__)
128#define SDL_PLATFORM_RISCOS 1
130#if defined(__sun) && defined(__SVR4)
131#define SDL_PLATFORM_SOLARIS 1
134#if defined(__CYGWIN__)
135#define SDL_PLATFORM_CYGWIN 1
138#if defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)
139#define SDL_PLATFORM_WINDOWS 1
142#if defined(_MSC_VER) && defined(__has_include)
143#if __has_include(<winapifamily.h>)
144#define HAVE_WINAPIFAMILY_H 1
146#define HAVE_WINAPIFAMILY_H 0
150#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)
151#define HAVE_WINAPIFAMILY_H 1
153#define HAVE_WINAPIFAMILY_H 0
156#if HAVE_WINAPIFAMILY_H
157#include <winapifamily.h>
158#define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
160#define WINAPI_FAMILY_WINRT 0
163#if HAVE_WINAPIFAMILY_H && HAVE_WINAPIFAMILY_H
164#define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
166#define SDL_WINAPI_FAMILY_PHONE 0
169#if WINAPI_FAMILY_WINRT
170#define SDL_PLATFORM_WINRT 1
171#elif defined(_GAMING_DESKTOP)
172#define SDL_PLATFORM_WINGDK 1
173#elif defined(_GAMING_XBOX_XBOXONE)
174#define SDL_PLATFORM_XBOXONE 1
175#elif defined(_GAMING_XBOX_SCARLETT)
176#define SDL_PLATFORM_XBOXSERIES 1
178#define SDL_PLATFORM_WIN32 1
183#if defined(SDL_PLATFORM_WINGDK) || defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
184#define SDL_PLATFORM_GDK 1
187#define SDL_PLATFORM_PSP 1
189#if defined(__PS2__) || defined(PS2)
190#define SDL_PLATFORM_PS2 1
193#if defined(__vita__) || defined(__psp2__)
194#define SDL_PLATFORM_VITA 1
199#define SDL_PLATFORM_3DS 1