annotate SDL3/SDL_platform_defines.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 /*
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2 Simple DirectMedia Layer
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5 This software is provided 'as-is', without any express or implied
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 warranty. In no event will the authors be held liable for any damages
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 arising from the use of this software.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9 Permission is granted to anyone to use this software for any purpose,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 including commercial applications, and to alter it and redistribute it
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11 freely, subject to the following restrictions:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13 1. The origin of this software must not be misrepresented; you must not
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14 claim that you wrote the original software. If you use this software
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 in a product, an acknowledgment in the product documentation would be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16 appreciated but is not required.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 2. Altered source versions must be plainly marked as such, and must not be
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 misrepresented as being the original software.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19 3. This notice may not be removed or altered from any source distribution.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 /* WIKI CATEGORY: Platform */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 /*
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 * SDL_platform_defines.h tries to get a standard set of platform defines.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28 #ifndef SDL_platform_defines_h_
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 #define SDL_platform_defines_h_
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 #ifdef _AIX
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 * A preprocessor macro that is only defined if compiling for AIX.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
36 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
37 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
38 #define SDL_PLATFORM_AIX 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
39 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
40
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
41 #ifdef __HAIKU__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
42
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
43 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
44 * A preprocessor macro that is only defined if compiling for Haiku OS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
45 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
46 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
47 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
48 #define SDL_PLATFORM_HAIKU 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
49 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
50
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
51 #if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
52
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
53 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
54 * A preprocessor macro that is only defined if compiling for BSDi
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
55 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
56 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
57 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
58 #define SDL_PLATFORM_BSDI 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
59 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
60
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
61 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
62
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
63 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
64 * A preprocessor macro that is only defined if compiling for FreeBSD.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
65 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
66 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
67 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
68 #define SDL_PLATFORM_FREEBSD 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
69 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
70
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
71 #if defined(hpux) || defined(__hpux) || defined(__hpux__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
72
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
73 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
74 * A preprocessor macro that is only defined if compiling for HP-UX.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
75 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
76 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
77 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
78 #define SDL_PLATFORM_HPUX 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
79 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
80
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
81 #if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
82
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
83 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
84 * A preprocessor macro that is only defined if compiling for IRIX.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
85 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
86 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
87 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
88 #define SDL_PLATFORM_IRIX 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
89 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
90
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
91 #if (defined(linux) || defined(__linux) || defined(__linux__))
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
92
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
93 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
94 * A preprocessor macro that is only defined if compiling for Linux.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
95 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
96 * Note that Android, although ostensibly a Linux-based system, will not
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
97 * define this. It defines SDL_PLATFORM_ANDROID instead.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
98 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
99 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
100 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
101 #define SDL_PLATFORM_LINUX 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
102 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
103
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
104 #if defined(ANDROID) || defined(__ANDROID__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
105
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
106 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
107 * A preprocessor macro that is only defined if compiling for Android.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
108 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
109 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
110 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
111 #define SDL_PLATFORM_ANDROID 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
112 #undef SDL_PLATFORM_LINUX
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
113 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
114
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
115 #if defined(__unix__) || defined(__unix) || defined(unix)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
116
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
117 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
118 * A preprocessor macro that is only defined if compiling for a Unix-like
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
119 * system.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
120 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
121 * Other platforms, like Linux, might define this in addition to their primary
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
122 * define.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
123 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
124 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
125 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
126 #define SDL_PLATFORM_UNIX 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
127 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
128
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
129 #ifdef __APPLE__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
130
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
131 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
132 * A preprocessor macro that is only defined if compiling for Apple platforms.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
133 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
134 * iOS, macOS, etc will additionally define a more specific platform macro.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
135 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
136 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
137 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
138 * \sa SDL_PLATFORM_MACOS
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
139 * \sa SDL_PLATFORM_IOS
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
140 * \sa SDL_PLATFORM_TVOS
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
141 * \sa SDL_PLATFORM_VISIONOS
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
142 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
143 #define SDL_PLATFORM_APPLE 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
144
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
145 /* lets us know what version of macOS we're compiling on */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
146 #include <AvailabilityMacros.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
147 #ifndef __has_extension /* Older compilers don't support this */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
148 #define __has_extension(x) 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
149 #include <TargetConditionals.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
150 #undef __has_extension
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
151 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
152 #include <TargetConditionals.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
153 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
154
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
155 /* Fix building with older SDKs that don't define these
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
156 See this for more information:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
157 https://stackoverflow.com/questions/12132933/preprocessor-macro-for-os-x-targets
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
158 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
159 #ifndef TARGET_OS_MACCATALYST
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
160 #define TARGET_OS_MACCATALYST 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
161 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
162 #ifndef TARGET_OS_IOS
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
163 #define TARGET_OS_IOS 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
164 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
165 #ifndef TARGET_OS_IPHONE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
166 #define TARGET_OS_IPHONE 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
167 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
168 #ifndef TARGET_OS_TV
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
169 #define TARGET_OS_TV 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
170 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
171 #ifndef TARGET_OS_SIMULATOR
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
172 #define TARGET_OS_SIMULATOR 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
173 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
174 #ifndef TARGET_OS_VISION
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
175 #define TARGET_OS_VISION 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
176 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
177
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
178 #if TARGET_OS_TV
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
179
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
180 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
181 * A preprocessor macro that is only defined if compiling for tvOS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
182 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
183 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
184 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
185 * \sa SDL_PLATFORM_APPLE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
186 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
187 #define SDL_PLATFORM_TVOS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
188 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
189
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
190 #if TARGET_OS_VISION
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
191
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
192 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
193 * A preprocessor macro that is only defined if compiling for visionOS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
194 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
195 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
196 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
197 * \sa SDL_PLATFORM_APPLE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
198 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
199 #define SDL_PLATFORM_VISIONOS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
200 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
201
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
202 #if TARGET_OS_IPHONE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
203
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
204 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
205 * A preprocessor macro that is only defined if compiling for iOS or visionOS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
206 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
207 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
208 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
209 * \sa SDL_PLATFORM_APPLE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
210 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
211 #define SDL_PLATFORM_IOS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
212
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
213 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
214
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
215 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
216 * A preprocessor macro that is only defined if compiling for macOS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
217 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
218 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
219 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
220 * \sa SDL_PLATFORM_APPLE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
221 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
222 #define SDL_PLATFORM_MACOS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
223
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
224 #if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
225 #error SDL for macOS only supports deploying on 10.7 and above.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
226 #endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1070 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
227 #endif /* TARGET_OS_IPHONE */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
228 #endif /* defined(__APPLE__) */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
229
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
230 #ifdef __EMSCRIPTEN__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
231
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
232 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
233 * A preprocessor macro that is only defined if compiling for Emscripten.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
234 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
235 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
236 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
237 #define SDL_PLATFORM_EMSCRIPTEN 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
238 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
239
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
240 #ifdef __NetBSD__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
241
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
242 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
243 * A preprocessor macro that is only defined if compiling for NetBSD.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
244 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
245 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
246 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
247 #define SDL_PLATFORM_NETBSD 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
248 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
249
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
250 #ifdef __OpenBSD__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
251
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
252 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
253 * A preprocessor macro that is only defined if compiling for OpenBSD.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
254 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
255 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
256 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
257 #define SDL_PLATFORM_OPENBSD 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
258 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
259
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
260 #if defined(__OS2__) || defined(__EMX__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
261
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
262 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
263 * A preprocessor macro that is only defined if compiling for OS/2.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
264 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
265 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
266 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
267 #define SDL_PLATFORM_OS2 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
268 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
269
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
270 #if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
271
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
272 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
273 * A preprocessor macro that is only defined if compiling for Tru64 (OSF/1).
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
274 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
275 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
276 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
277 #define SDL_PLATFORM_OSF 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
278 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
279
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
280 #ifdef __QNXNTO__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
281
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
282 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
283 * A preprocessor macro that is only defined if compiling for QNX Neutrino.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
284 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
285 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
286 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
287 #define SDL_PLATFORM_QNXNTO 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
288 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
289
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
290 #if defined(riscos) || defined(__riscos) || defined(__riscos__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
291
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
292 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
293 * A preprocessor macro that is only defined if compiling for RISC OS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
294 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
295 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
296 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
297 #define SDL_PLATFORM_RISCOS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
298 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
299
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
300 #if defined(__sun) && defined(__SVR4)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
301
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
302 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
303 * A preprocessor macro that is only defined if compiling for SunOS/Solaris.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
304 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
305 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
306 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
307 #define SDL_PLATFORM_SOLARIS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
308 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
309
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
310 #if defined(__CYGWIN__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
311
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
312 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
313 * A preprocessor macro that is only defined if compiling for Cygwin.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
314 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
315 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
316 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
317 #define SDL_PLATFORM_CYGWIN 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
318 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
319
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
320 #if (defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN)) && !defined(__NGAGE__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
321
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
322 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
323 * A preprocessor macro that is only defined if compiling for Windows.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
324 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
325 * This also covers several other platforms, like Microsoft GDK, Xbox, WinRT,
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
326 * etc. Each will have their own more-specific platform macros, too.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
327 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
328 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
329 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
330 * \sa SDL_PLATFORM_WIN32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
331 * \sa SDL_PLATFORM_XBOXONE
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
332 * \sa SDL_PLATFORM_XBOXSERIES
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
333 * \sa SDL_PLATFORM_WINGDK
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
334 * \sa SDL_PLATFORM_GDK
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
335 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
336 #define SDL_PLATFORM_WINDOWS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
337
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
338 /* Try to find out if we're compiling for WinRT, GDK or non-WinRT/GDK */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
339 #if defined(_MSC_VER) && defined(__has_include)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
340 #if __has_include(<winapifamily.h>)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
341 #define HAVE_WINAPIFAMILY_H 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
342 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
343 #define HAVE_WINAPIFAMILY_H 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
344 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
345
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
346 /* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
347 #elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_) /* _MSC_VER == 1700 for Visual Studio 2012 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
348 #define HAVE_WINAPIFAMILY_H 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
349 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
350 #define HAVE_WINAPIFAMILY_H 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
351 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
352
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
353 #if HAVE_WINAPIFAMILY_H
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
354 #include <winapifamily.h>
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
355 #define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
356 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
357 #define WINAPI_FAMILY_WINRT 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
358 #endif /* HAVE_WINAPIFAMILY_H */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
359
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
360 #ifdef SDL_WIKI_DOCUMENTATION_SECTION
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
361
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
362 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
363 * A preprocessor macro that defined to 1 if compiling for Windows Phone.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
364 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
365 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
366 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
367 #define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
368
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
369 #elif defined(HAVE_WINAPIFAMILY_H) && HAVE_WINAPIFAMILY_H
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
370 #define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
371 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
372 #define SDL_WINAPI_FAMILY_PHONE 0
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
373 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
374
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
375 #if WINAPI_FAMILY_WINRT
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
376 #error Windows RT/UWP is no longer supported in SDL
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
377
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
378 #elif defined(_GAMING_DESKTOP) /* GDK project configuration always defines _GAMING_XXX */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
379
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
380 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
381 * A preprocessor macro that is only defined if compiling for Microsoft GDK
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
382 * for Windows.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
383 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
384 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
385 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
386 #define SDL_PLATFORM_WINGDK 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
387
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
388 #elif defined(_GAMING_XBOX_XBOXONE)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
389
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
390 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
391 * A preprocessor macro that is only defined if compiling for Xbox One.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
392 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
393 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
394 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
395 #define SDL_PLATFORM_XBOXONE 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
396
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
397 #elif defined(_GAMING_XBOX_SCARLETT)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
398
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
399 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
400 * A preprocessor macro that is only defined if compiling for Xbox Series.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
401 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
402 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
403 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
404 #define SDL_PLATFORM_XBOXSERIES 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
405
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
406 #else
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
407
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
408 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
409 * A preprocessor macro that is only defined if compiling for desktop Windows.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
410 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
411 * Despite the "32", this also covers 64-bit Windows; as an informal
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
412 * convention, its system layer tends to still be referred to as "the Win32
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
413 * API."
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
414 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
415 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
416 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
417 #define SDL_PLATFORM_WIN32 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
418
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
419 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
420 #endif /* defined(_WIN32) || defined(SDL_PLATFORM_CYGWIN) */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
421
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
422
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
423 /* This is to support generic "any GDK" separate from a platform-specific GDK */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
424 #if defined(SDL_PLATFORM_WINGDK) || defined(SDL_PLATFORM_XBOXONE) || defined(SDL_PLATFORM_XBOXSERIES)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
425
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
426 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
427 * A preprocessor macro that is only defined if compiling for Microsoft GDK on
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
428 * any platform.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
429 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
430 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
431 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
432 #define SDL_PLATFORM_GDK 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
433 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
434
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
435 #if defined(__PSP__) || defined(__psp__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
436
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
437 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
438 * A preprocessor macro that is only defined if compiling for Sony PSP.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
439 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
440 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
441 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
442 #define SDL_PLATFORM_PSP 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
443 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
444
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
445 #if defined(__PS2__) || defined(PS2)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
446
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
447 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
448 * A preprocessor macro that is only defined if compiling for Sony PlayStation
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
449 * 2.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
450 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
451 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
452 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
453 #define SDL_PLATFORM_PS2 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
454 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
455
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
456 #if defined(__vita__) || defined(__psp2__)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
457
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
458 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
459 * A preprocessor macro that is only defined if compiling for Sony Vita.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
460 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
461 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
462 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
463 #define SDL_PLATFORM_VITA 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
464 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
465
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
466 #ifdef __3DS__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
467
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
468 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
469 * A preprocessor macro that is only defined if compiling for Nintendo 3DS.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
470 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
471 * \since This macro is available since SDL 3.2.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
472 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
473 #define SDL_PLATFORM_3DS 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
474 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
475
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
476 #ifdef __NGAGE__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
477
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
478 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
479 * A preprocessor macro that is only defined if compiling for the Nokia
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
480 * N-Gage.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
481 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
482 * \since This macro is available since SDL 3.4.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
483 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
484 #define SDL_PLATFORM_NGAGE 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
485 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
486
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
487 #ifdef __GNU__
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
488
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
489 /**
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
490 * A preprocessor macro that is only defined if compiling for GNU/Hurd.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
491 *
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
492 * \since This macro is available since SDL 3.4.0.
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
493 */
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
494 #define SDL_PLATFORM_HURD 1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
495 #endif
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
496
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
497 #endif /* SDL_platform_defines_h_ */