Go to the documentation of this file.
28#ifndef SDL_platform_defines_h_
29#define SDL_platform_defines_h_
38#define SDL_PLATFORM_AIX 1
48#define SDL_PLATFORM_HAIKU 1
51#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
58#define SDL_PLATFORM_BSDI 1
61#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
68#define SDL_PLATFORM_FREEBSD 1
71#if defined(hpux) || defined(__hpux) || defined(__hpux__)
78#define SDL_PLATFORM_HPUX 1
81#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
88#define SDL_PLATFORM_IRIX 1
91#if (defined(linux) || defined(__linux) || defined(__linux__))
101#define SDL_PLATFORM_LINUX 1
104#if defined(ANDROID) || defined(__ANDROID__)
111#define SDL_PLATFORM_ANDROID 1
112#undef SDL_PLATFORM_LINUX
122#define SDL_PLATFORM_NGAGE 1
125#if defined(__unix__) || defined(__unix) || defined(unix)
136#define SDL_PLATFORM_UNIX 1
153#define SDL_PLATFORM_APPLE 1
156#include <AvailabilityMacros.h>
157#ifndef __has_extension
158 #define __has_extension(x) 0
159 #include <TargetConditionals.h>
160 #undef __has_extension
162 #include <TargetConditionals.h>
169#ifndef TARGET_OS_MACCATALYST
170 #define TARGET_OS_MACCATALYST 0
173 #define TARGET_OS_IOS 0
175#ifndef TARGET_OS_IPHONE
176 #define TARGET_OS_IPHONE 0
179 #define TARGET_OS_TV 0
181#ifndef TARGET_OS_SIMULATOR
182 #define TARGET_OS_SIMULATOR 0
184#ifndef TARGET_OS_VISION
185 #define TARGET_OS_VISION 0
197#define SDL_PLATFORM_TVOS 1
209#define SDL_PLATFORM_VISIONOS 1
221#define SDL_PLATFORM_IOS 1
232#define SDL_PLATFORM_MACOS 1
234#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
235 #error SDL for macOS only supports deploying on 10.7 and above.
247#define SDL_PLATFORM_EMSCRIPTEN 1
257#define SDL_PLATFORM_NETBSD 1
267#define SDL_PLATFORM_OPENBSD 1
270#if defined(__OS2__) || defined(__EMX__)
277#define SDL_PLATFORM_OS2 1
280#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
287#define SDL_PLATFORM_OSF 1
297#define SDL_PLATFORM_QNXNTO 1
300#if defined(riscos) || defined(__riscos) || defined(__riscos__)
307#define SDL_PLATFORM_RISCOS 1
310#if defined(__sun) && defined(__SVR4)
317#define SDL_PLATFORM_SOLARIS 1
320#if defined(__CYGWIN__)
327#define SDL_PLATFORM_CYGWIN 1
330#if defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)
346#define SDL_PLATFORM_WINDOWS 1
349#if defined(_MSC_VER) && defined(__has_include)
350 #if __has_include(<winapifamily.h>)
351 #define HAVE_WINAPIFAMILY_H 1
353 #define HAVE_WINAPIFAMILY_H 0
357#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)
358 #define HAVE_WINAPIFAMILY_H 1
360 #define HAVE_WINAPIFAMILY_H 0
363#if HAVE_WINAPIFAMILY_H
364 #include <winapifamily.h>
365 #define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
367 #define WINAPI_FAMILY_WINRT 0
370#if HAVE_WINAPIFAMILY_H && HAVE_WINAPIFAMILY_H
371 #define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
373 #define SDL_WINAPI_FAMILY_PHONE 0
376#if WINAPI_FAMILY_WINRT
377#error Windows RT/UWP is no longer supported in SDL
379#elif defined(_GAMING_DESKTOP)
387#define SDL_PLATFORM_WINGDK 1
389#elif defined(_GAMING_XBOX_XBOXONE)
396#define SDL_PLATFORM_XBOXONE 1
398#elif defined(_GAMING_XBOX_SCARLETT)
405#define SDL_PLATFORM_XBOXSERIES 1
418#define SDL_PLATFORM_WIN32 1
425#if defined(SDL_PLATFORM_WINGDK) || defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
433#define SDL_PLATFORM_GDK 1
436#if defined(__PSP__) || defined(__psp__)
443#define SDL_PLATFORM_PSP 1
446#if defined(__PS2__) || defined(PS2)
454#define SDL_PLATFORM_PS2 1
457#if defined(__vita__) || defined(__psp2__)
464#define SDL_PLATFORM_VITA 1
474#define SDL_PLATFORM_3DS 1