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
115#if defined(__unix__) || defined(__unix) || defined(unix)
126#define SDL_PLATFORM_UNIX 1
143#define SDL_PLATFORM_APPLE 1
146#include <AvailabilityMacros.h>
147#ifndef __has_extension
148 #define __has_extension(x) 0
149 #include <TargetConditionals.h>
150 #undef __has_extension
152 #include <TargetConditionals.h>
159#ifndef TARGET_OS_MACCATALYST
160 #define TARGET_OS_MACCATALYST 0
163 #define TARGET_OS_IOS 0
165#ifndef TARGET_OS_IPHONE
166 #define TARGET_OS_IPHONE 0
169 #define TARGET_OS_TV 0
171#ifndef TARGET_OS_SIMULATOR
172 #define TARGET_OS_SIMULATOR 0
174#ifndef TARGET_OS_VISION
175 #define TARGET_OS_VISION 0
187#define SDL_PLATFORM_TVOS 1
199#define SDL_PLATFORM_VISIONOS 1
211#define SDL_PLATFORM_IOS 1
222#define SDL_PLATFORM_MACOS 1
224#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
225 #error SDL for macOS only supports deploying on 10.7 and above.
237#define SDL_PLATFORM_EMSCRIPTEN 1
247#define SDL_PLATFORM_NETBSD 1
257#define SDL_PLATFORM_OPENBSD 1
260#if defined(__OS2__) || defined(__EMX__)
267#define SDL_PLATFORM_OS2 1
270#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
277#define SDL_PLATFORM_OSF 1
287#define SDL_PLATFORM_QNXNTO 1
290#if defined(riscos) || defined(__riscos) || defined(__riscos__)
297#define SDL_PLATFORM_RISCOS 1
300#if defined(__sun) && defined(__SVR4)
307#define SDL_PLATFORM_SOLARIS 1
310#if defined(__CYGWIN__)
317#define SDL_PLATFORM_CYGWIN 1
320#if defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)
336#define SDL_PLATFORM_WINDOWS 1
339#if defined(_MSC_VER) && defined(__has_include)
340 #if __has_include(<winapifamily.h>)
341 #define HAVE_WINAPIFAMILY_H 1
343 #define HAVE_WINAPIFAMILY_H 0
347#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)
348 #define HAVE_WINAPIFAMILY_H 1
350 #define HAVE_WINAPIFAMILY_H 0
353#if HAVE_WINAPIFAMILY_H
354 #include <winapifamily.h>
355 #define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
357 #define WINAPI_FAMILY_WINRT 0
360#ifdef SDL_WIKI_DOCUMENTATION_SECTION
367#define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
369#elif defined(HAVE_WINAPIFAMILY_H) && HAVE_WINAPIFAMILY_H
370 #define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
372 #define SDL_WINAPI_FAMILY_PHONE 0
375#if WINAPI_FAMILY_WINRT
376#error Windows RT/UWP is no longer supported in SDL
378#elif defined(_GAMING_DESKTOP)
386#define SDL_PLATFORM_WINGDK 1
388#elif defined(_GAMING_XBOX_XBOXONE)
395#define SDL_PLATFORM_XBOXONE 1
397#elif defined(_GAMING_XBOX_SCARLETT)
404#define SDL_PLATFORM_XBOXSERIES 1
417#define SDL_PLATFORM_WIN32 1
424#if defined(SDL_PLATFORM_WINGDK) || defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
432#define SDL_PLATFORM_GDK 1
435#if defined(__PSP__) || defined(__psp__)
442#define SDL_PLATFORM_PSP 1
445#if defined(__PS2__) || defined(PS2)
453#define SDL_PLATFORM_PS2 1
456#if defined(__vita__) || defined(__psp2__)
463#define SDL_PLATFORM_VITA 1
473#define SDL_PLATFORM_3DS 1