Browse Source

include: SDL_dynapi.h depends on platform defines

Anonymous Maarten 2 years ago
parent
commit
f91a747549

+ 1 - 0
VisualC-GDK/SDL/SDL.vcxproj

@@ -332,6 +332,7 @@
     <ClInclude Include="..\..\include\SDL3\SDL_opengles2_khrplatform.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_opengles2_khrplatform.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_pixels.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_pixels.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h" />
+    <ClInclude Include="..\..\include\SDL3\SDL_platform_defines.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_power.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_power.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_quit.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_quit.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_rect.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_rect.h" />

+ 3 - 0
VisualC-GDK/SDL/SDL.vcxproj.filters

@@ -300,6 +300,9 @@
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h">
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h">
       <Filter>API Headers</Filter>
       <Filter>API Headers</Filter>
     </ClInclude>
     </ClInclude>
+    <ClInclude Include="..\..\include\SDL3\SDL_platform_defines.h">
+      <Filter>API Headers</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\include\SDL3\SDL_power.h">
     <ClInclude Include="..\..\include\SDL3\SDL_power.h">
       <Filter>API Headers</Filter>
       <Filter>API Headers</Filter>
     </ClInclude>
     </ClInclude>

+ 1 - 0
VisualC-WinRT/SDL-UWP.vcxproj

@@ -70,6 +70,7 @@
     <ClInclude Include="..\include\SDL3\SDL_opengles2.h" />
     <ClInclude Include="..\include\SDL3\SDL_opengles2.h" />
     <ClInclude Include="..\include\SDL3\SDL_pixels.h" />
     <ClInclude Include="..\include\SDL3\SDL_pixels.h" />
     <ClInclude Include="..\include\SDL3\SDL_platform.h" />
     <ClInclude Include="..\include\SDL3\SDL_platform.h" />
+    <ClInclude Include="..\include\SDL3\SDL_platform_defines.h" />
     <ClInclude Include="..\include\SDL3\SDL_power.h" />
     <ClInclude Include="..\include\SDL3\SDL_power.h" />
     <ClInclude Include="..\include\SDL3\SDL_quit.h" />
     <ClInclude Include="..\include\SDL3\SDL_quit.h" />
     <ClInclude Include="..\include\SDL3\SDL_rect.h" />
     <ClInclude Include="..\include\SDL3\SDL_rect.h" />

+ 3 - 0
VisualC-WinRT/SDL-UWP.vcxproj.filters

@@ -108,6 +108,9 @@
     <ClInclude Include="..\include\SDL3\SDL_platform.h">
     <ClInclude Include="..\include\SDL3\SDL_platform.h">
       <Filter>Header Files</Filter>
       <Filter>Header Files</Filter>
     </ClInclude>
     </ClInclude>
+    <ClInclude Include="..\include\SDL3\SDL_platform_defines.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
     <ClInclude Include="..\include\SDL3\SDL_power.h">
     <ClInclude Include="..\include\SDL3\SDL_power.h">
       <Filter>Header Files</Filter>
       <Filter>Header Files</Filter>
     </ClInclude>
     </ClInclude>

+ 1 - 0
VisualC/SDL/SDL.vcxproj

@@ -278,6 +278,7 @@
     <ClInclude Include="..\..\include\SDL3\SDL_opengles2_khrplatform.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_opengles2_khrplatform.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_pixels.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_pixels.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h" />
+    <ClInclude Include="..\..\include\SDL3\SDL_platform_defines.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_power.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_power.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_quit.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_quit.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_rect.h" />
     <ClInclude Include="..\..\include\SDL3\SDL_rect.h" />

+ 3 - 0
VisualC/SDL/SDL.vcxproj.filters

@@ -297,6 +297,9 @@
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h">
     <ClInclude Include="..\..\include\SDL3\SDL_platform.h">
       <Filter>API Headers</Filter>
       <Filter>API Headers</Filter>
     </ClInclude>
     </ClInclude>
+    <ClInclude Include="..\..\include\SDL3\SDL_platform_defines.h">
+      <Filter>API Headers</Filter>
+    </ClInclude>
     <ClInclude Include="..\..\include\SDL3\SDL_power.h">
     <ClInclude Include="..\..\include\SDL3\SDL_power.h">
       <Filter>API Headers</Filter>
       <Filter>API Headers</Filter>
     </ClInclude>
     </ClInclude>

+ 1 - 1
docs/README-porting.md

@@ -6,7 +6,7 @@ Porting
   The first thing you have to do when porting to a new platform, is look at
   The first thing you have to do when porting to a new platform, is look at
 include/SDL_platform.h and create an entry there for your operating system.
 include/SDL_platform.h and create an entry there for your operating system.
 The standard format is "__PLATFORM__", where PLATFORM is the name of the OS.
 The standard format is "__PLATFORM__", where PLATFORM is the name of the OS.
-Ideally SDL_platform.h will be able to auto-detect the system it's building
+Ideally SDL_platform_defines.h will be able to auto-detect the system it's building
 on based on C preprocessor symbols.
 on based on C preprocessor symbols.
 
 
 There are two basic ways of building SDL at the moment:
 There are two basic ways of building SDL at the moment:

+ 1 - 0
include/SDL3/SDL.h

@@ -60,6 +60,7 @@
 #include <SDL3/SDL_mutex.h>
 #include <SDL3/SDL_mutex.h>
 #include <SDL3/SDL_pixels.h>
 #include <SDL3/SDL_pixels.h>
 #include <SDL3/SDL_platform.h>
 #include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 #include <SDL3/SDL_power.h>
 #include <SDL3/SDL_power.h>
 #include <SDL3/SDL_quit.h>
 #include <SDL3/SDL_quit.h>
 #include <SDL3/SDL_rect.h>
 #include <SDL3/SDL_rect.h>

+ 1 - 1
include/SDL3/SDL_atomic.h

@@ -60,7 +60,7 @@
 #define SDL_atomic_h_
 #define SDL_atomic_h_
 
 
 #include <SDL3/SDL_stdinc.h>
 #include <SDL3/SDL_stdinc.h>
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 #include <SDL3/SDL_begin_code.h>
 #include <SDL3/SDL_begin_code.h>
 
 

+ 1 - 1
include/SDL3/SDL_oldnames.h

@@ -28,7 +28,7 @@
 #ifndef SDL_oldnames_h_
 #ifndef SDL_oldnames_h_
 #define SDL_oldnames_h_
 #define SDL_oldnames_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* The new function names are recommended, but if you want to have the
 /* The new function names are recommended, but if you want to have the
  * old names available while you are in the process of migrating code
  * old names available while you are in the process of migrating code

+ 1 - 1
include/SDL3/SDL_opengles.h

@@ -24,7 +24,7 @@
  *
  *
  *  This is a simple file to encapsulate the OpenGL ES 1.X API headers.
  *  This is a simple file to encapsulate the OpenGL ES 1.X API headers.
  */
  */
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 #ifdef __IOS__
 #ifdef __IOS__
 #include <OpenGLES/ES1/gl.h>
 #include <OpenGLES/ES1/gl.h>

+ 1 - 1
include/SDL3/SDL_opengles2.h

@@ -24,7 +24,7 @@
  *
  *
  *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
  *  This is a simple file to encapsulate the OpenGL ES 2.0 API headers.
  */
  */
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 #if !defined(_MSC_VER) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS)
 #if !defined(_MSC_VER) && !defined(SDL_USE_BUILTIN_OPENGL_DEFINITIONS)
 
 

+ 2 - 179
include/SDL3/SDL_platform.h

@@ -22,190 +22,13 @@
 /**
 /**
  *  \file SDL_platform.h
  *  \file SDL_platform.h
  *
  *
- *  Try to get a standard set of platform defines.
+ *  Header file for platform functions.
  */
  */
 
 
 #ifndef SDL_platform_h_
 #ifndef SDL_platform_h_
 #define SDL_platform_h_
 #define SDL_platform_h_
 
 
-#if defined(_AIX)
-#undef __AIX__
-#define __AIX__     1
-#endif
-#if defined(__HAIKU__)
-#undef __HAIKU__
-#define __HAIKU__   1
-#endif
-#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
-#undef __BSDI__
-#define __BSDI__    1
-#endif
-#if defined(_arch_dreamcast)
-#undef __DREAMCAST__
-#define __DREAMCAST__   1
-#endif
-#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
-#undef __FREEBSD__
-#define __FREEBSD__ 1
-#endif
-#if defined(hpux) || defined(__hpux) || defined(__hpux__)
-#undef __HPUX__
-#define __HPUX__    1
-#endif
-#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
-#undef __IRIX__
-#define __IRIX__    1
-#endif
-#if (defined(linux) || defined(__linux) || defined(__linux__))
-#undef __LINUX__
-#define __LINUX__   1
-#endif
-#if defined(ANDROID) || defined(__ANDROID__)
-#undef __ANDROID__
-#undef __LINUX__ /* do we need to do this? */
-#define __ANDROID__ 1
-#endif
-#if defined(__NGAGE__)
-#undef __NGAGE__
-#define __NGAGE__ 1
-#endif
-
-#if defined(__APPLE__)
-/* lets us know what version of macOS we're compiling on */
-#include <AvailabilityMacros.h>
-#include <TargetConditionals.h>
-
-/* Fix building with older SDKs that don't define these
-   See this for more information:
-   https://stackoverflow.com/questions/12132933/preprocessor-macro-for-os-x-targets
-*/
-#ifndef TARGET_OS_MACCATALYST
-#define TARGET_OS_MACCATALYST 0
-#endif
-#ifndef TARGET_OS_IOS
-#define TARGET_OS_IOS 0
-#endif
-#ifndef TARGET_OS_IPHONE
-#define TARGET_OS_IPHONE 0
-#endif
-#ifndef TARGET_OS_TV
-#define TARGET_OS_TV 0
-#endif
-#ifndef TARGET_OS_SIMULATOR
-#define TARGET_OS_SIMULATOR 0
-#endif
-
-#if TARGET_OS_TV
-#undef __TVOS__
-#define __TVOS__ 1
-#endif
-#if TARGET_OS_IPHONE
-#undef __IOS__
-#define __IOS__ 1
-#else
-#undef __MACOS__
-#define __MACOS__  1
-#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
-# error SDL for macOS only supports deploying on 10.7 and above.
-#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1070 */
-#endif /* TARGET_OS_IPHONE */
-#endif /* defined(__APPLE__) */
-
-#if defined(__NetBSD__)
-#undef __NETBSD__
-#define __NETBSD__  1
-#endif
-#if defined(__OpenBSD__)
-#undef __OPENBSD__
-#define __OPENBSD__ 1
-#endif
-#if defined(__OS2__) || defined(__EMX__)
-#undef __OS2__
-#define __OS2__     1
-#endif
-#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
-#undef __OSF__
-#define __OSF__     1
-#endif
-#if defined(__QNXNTO__)
-#undef __QNXNTO__
-#define __QNXNTO__  1
-#endif
-#if defined(riscos) || defined(__riscos) || defined(__riscos__)
-#undef __RISCOS__
-#define __RISCOS__  1
-#endif
-#if defined(__sun) && defined(__SVR4)
-#undef __SOLARIS__
-#define __SOLARIS__ 1
-#endif
-
-#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
-/* Try to find out if we're compiling for WinRT, GDK or non-WinRT/GDK */
-#if defined(_MSC_VER) && defined(__has_include)
-#if __has_include(<winapifamily.h>)
-#define HAVE_WINAPIFAMILY_H 1
-#else
-#define HAVE_WINAPIFAMILY_H 0
-#endif
-
-/* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */
-#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)    /* _MSC_VER == 1700 for Visual Studio 2012 */
-#define HAVE_WINAPIFAMILY_H 1
-#else
-#define HAVE_WINAPIFAMILY_H 0
-#endif
-
-#if HAVE_WINAPIFAMILY_H
-#include <winapifamily.h>
-#define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
-#else
-#define WINAPI_FAMILY_WINRT 0
-#endif /* HAVE_WINAPIFAMILY_H */
-
-#if WINAPI_FAMILY_WINRT
-#undef __WINRT__
-#define __WINRT__ 1
-#elif defined(_GAMING_DESKTOP) /* GDK project configuration always defines _GAMING_XXX */
-#undef __WINGDK__
-#define __WINGDK__ 1
-#elif defined(_GAMING_XBOX_XBOXONE)
-#undef __XBOXONE__
-#define __XBOXONE__ 1
-#elif defined(_GAMING_XBOX_SCARLETT)
-#undef __XBOXSERIES__
-#define __XBOXSERIES__ 1
-#else
-#undef __WINDOWS__
-#define __WINDOWS__ 1
-#endif
-#endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */
-
-#if defined(__WINDOWS__)
-#undef __WIN32__
-#define __WIN32__ 1
-#endif
-/* This is to support generic "any GDK" separate from a platform-specific GDK */
-#if defined(__WINGDK__) || defined(__XBOXONE__) || defined(__XBOXSERIES__)
-#undef __GDK__
-#define __GDK__ 1
-#endif
-#if defined(__PSP__)
-#undef __PSP__
-#define __PSP__ 1
-#endif
-#if defined(PS2)
-#define __PS2__ 1
-#endif
-
-#if defined(__vita__)
-#define __VITA__ 1
-#endif
-
-#if defined(__3DS__)
-#undef __3DS__
-#define __3DS__ 1
-#endif
+#include <SDL3/SDL_platform_defines.h>
 
 
 #include <SDL3/SDL_begin_code.h>
 #include <SDL3/SDL_begin_code.h>
 /* Set up for C function definitions, even when using C++ */
 /* Set up for C function definitions, even when using C++ */

+ 210 - 0
include/SDL3/SDL_platform_defines.h

@@ -0,0 +1,210 @@
+/*
+  Simple DirectMedia Layer
+  Copyright (C) 1997-2022 Sam Lantinga <[email protected]>
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+*/
+
+/**
+ *  \file SDL_platform_defines.h
+ *
+ *  Try to get a standard set of platform defines.
+ */
+
+#ifndef SDL_platform_defines_h_
+#define SDL_platform_defines_h_
+
+#if defined(_AIX)
+#undef __AIX__
+#define __AIX__     1
+#endif
+#if defined(__HAIKU__)
+#undef __HAIKU__
+#define __HAIKU__   1
+#endif
+#if defined(bsdi) || defined(__bsdi) || defined(__bsdi__)
+#undef __BSDI__
+#define __BSDI__    1
+#endif
+#if defined(_arch_dreamcast)
+#undef __DREAMCAST__
+#define __DREAMCAST__   1
+#endif
+#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
+#undef __FREEBSD__
+#define __FREEBSD__ 1
+#endif
+#if defined(hpux) || defined(__hpux) || defined(__hpux__)
+#undef __HPUX__
+#define __HPUX__    1
+#endif
+#if defined(sgi) || defined(__sgi) || defined(__sgi__) || defined(_SGI_SOURCE)
+#undef __IRIX__
+#define __IRIX__    1
+#endif
+#if (defined(linux) || defined(__linux) || defined(__linux__))
+#undef __LINUX__
+#define __LINUX__   1
+#endif
+#if defined(ANDROID) || defined(__ANDROID__)
+#undef __ANDROID__
+#undef __LINUX__ /* do we need to do this? */
+#define __ANDROID__ 1
+#endif
+#if defined(__NGAGE__)
+#undef __NGAGE__
+#define __NGAGE__ 1
+#endif
+
+#if defined(__APPLE__)
+/* lets us know what version of macOS we're compiling on */
+#include <AvailabilityMacros.h>
+#include <TargetConditionals.h>
+
+/* Fix building with older SDKs that don't define these
+   See this for more information:
+   https://stackoverflow.com/questions/12132933/preprocessor-macro-for-os-x-targets
+*/
+#ifndef TARGET_OS_MACCATALYST
+#define TARGET_OS_MACCATALYST 0
+#endif
+#ifndef TARGET_OS_IOS
+#define TARGET_OS_IOS 0
+#endif
+#ifndef TARGET_OS_IPHONE
+#define TARGET_OS_IPHONE 0
+#endif
+#ifndef TARGET_OS_TV
+#define TARGET_OS_TV 0
+#endif
+#ifndef TARGET_OS_SIMULATOR
+#define TARGET_OS_SIMULATOR 0
+#endif
+
+#if TARGET_OS_TV
+#undef __TVOS__
+#define __TVOS__ 1
+#endif
+#if TARGET_OS_IPHONE
+#undef __IOS__
+#define __IOS__ 1
+#else
+#undef __MACOS__
+#define __MACOS__  1
+#if MAC_OS_X_VERSION_MIN_REQUIRED < 1070
+# error SDL for macOS only supports deploying on 10.7 and above.
+#endif /* MAC_OS_X_VERSION_MIN_REQUIRED < 1070 */
+#endif /* TARGET_OS_IPHONE */
+#endif /* defined(__APPLE__) */
+
+#if defined(__NetBSD__)
+#undef __NETBSD__
+#define __NETBSD__  1
+#endif
+#if defined(__OpenBSD__)
+#undef __OPENBSD__
+#define __OPENBSD__ 1
+#endif
+#if defined(__OS2__) || defined(__EMX__)
+#undef __OS2__
+#define __OS2__     1
+#endif
+#if defined(osf) || defined(__osf) || defined(__osf__) || defined(_OSF_SOURCE)
+#undef __OSF__
+#define __OSF__     1
+#endif
+#if defined(__QNXNTO__)
+#undef __QNXNTO__
+#define __QNXNTO__  1
+#endif
+#if defined(riscos) || defined(__riscos) || defined(__riscos__)
+#undef __RISCOS__
+#define __RISCOS__  1
+#endif
+#if defined(__sun) && defined(__SVR4)
+#undef __SOLARIS__
+#define __SOLARIS__ 1
+#endif
+
+#if defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) || defined(__MINGW32__)
+/* Try to find out if we're compiling for WinRT, GDK or non-WinRT/GDK */
+#if defined(_MSC_VER) && defined(__has_include)
+#if __has_include(<winapifamily.h>)
+#define HAVE_WINAPIFAMILY_H 1
+#else
+#define HAVE_WINAPIFAMILY_H 0
+#endif
+
+/* If _USING_V110_SDK71_ is defined it means we are using the Windows XP toolset. */
+#elif defined(_MSC_VER) && (_MSC_VER >= 1700 && !_USING_V110_SDK71_)    /* _MSC_VER == 1700 for Visual Studio 2012 */
+#define HAVE_WINAPIFAMILY_H 1
+#else
+#define HAVE_WINAPIFAMILY_H 0
+#endif
+
+#if HAVE_WINAPIFAMILY_H
+#include <winapifamily.h>
+#define WINAPI_FAMILY_WINRT (!WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP))
+#else
+#define WINAPI_FAMILY_WINRT 0
+#endif /* HAVE_WINAPIFAMILY_H */
+
+#if WINAPI_FAMILY_WINRT
+#undef __WINRT__
+#define __WINRT__ 1
+#elif defined(_GAMING_DESKTOP) /* GDK project configuration always defines _GAMING_XXX */
+#undef __WINGDK__
+#define __WINGDK__ 1
+#elif defined(_GAMING_XBOX_XBOXONE)
+#undef __XBOXONE__
+#define __XBOXONE__ 1
+#elif defined(_GAMING_XBOX_SCARLETT)
+#undef __XBOXSERIES__
+#define __XBOXSERIES__ 1
+#else
+#undef __WINDOWS__
+#define __WINDOWS__ 1
+#endif
+#endif /* defined(WIN32) || defined(_WIN32) || defined(__CYGWIN__) */
+
+#if defined(__WINDOWS__)
+#undef __WIN32__
+#define __WIN32__ 1
+#endif
+/* This is to support generic "any GDK" separate from a platform-specific GDK */
+#if defined(__WINGDK__) || defined(__XBOXONE__) || defined(__XBOXSERIES__)
+#undef __GDK__
+#define __GDK__ 1
+#endif
+#if defined(__PSP__)
+#undef __PSP__
+#define __PSP__ 1
+#endif
+#if defined(PS2)
+#define __PS2__ 1
+#endif
+
+#if defined(__vita__)
+#define __VITA__ 1
+#endif
+
+#if defined(__3DS__)
+#undef __3DS__
+#define __3DS__ 1
+#endif
+
+#endif /* SDL_platform_defines_h_ */

+ 1 - 1
include/SDL3/SDL_stdinc.h

@@ -28,7 +28,7 @@
 #ifndef SDL_stdinc_h_
 #ifndef SDL_stdinc_h_
 #define SDL_stdinc_h_
 #define SDL_stdinc_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 #if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
 #include <inttypes.h>
 #include <inttypes.h>

+ 1 - 1
include/SDL3/SDL_syswm.h

@@ -30,7 +30,7 @@
 
 
 #include <SDL3/SDL_stdinc.h>
 #include <SDL3/SDL_stdinc.h>
 #include <SDL3/SDL_error.h>
 #include <SDL3/SDL_error.h>
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 #include <SDL3/SDL_video.h>
 #include <SDL3/SDL_video.h>
 
 
 /**
 /**

+ 1 - 1
include/build_config/SDL_build_config.h

@@ -22,7 +22,7 @@
 #ifndef SDL_build_config_h_
 #ifndef SDL_build_config_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /**
 /**
  *  \file SDL_build_config.h
  *  \file SDL_build_config.h

+ 1 - 1
include/build_config/SDL_build_config.h.cmake

@@ -29,7 +29,7 @@
  */
  */
 
 
 /* General platform specific identifiers */
 /* General platform specific identifiers */
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* C language features */
 /* C language features */
 #cmakedefine const @HAVE_CONST@
 #cmakedefine const @HAVE_CONST@

+ 1 - 1
include/build_config/SDL_build_config_android.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_android_h_
 #define SDL_build_config_android_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /**
 /**
  *  \file SDL_build_config_android.h
  *  \file SDL_build_config_android.h

+ 1 - 1
include/build_config/SDL_build_config_emscripten.h

@@ -22,7 +22,7 @@
 #ifndef SDL_build_config_emscripten_h
 #ifndef SDL_build_config_emscripten_h
 #define SDL_build_config_emscripten_h
 #define SDL_build_config_emscripten_h
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /**
 /**
  *  \file SDL_build_config_emscripten.h
  *  \file SDL_build_config_emscripten.h

+ 1 - 1
include/build_config/SDL_build_config_ios.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_ios_h_
 #define SDL_build_config_ios_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 #define HAVE_GCC_ATOMICS    1
 #define HAVE_GCC_ATOMICS    1
 
 

+ 1 - 1
include/build_config/SDL_build_config_macos.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_macos_h_
 #define SDL_build_config_macos_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */
 /* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */
 #include <AvailabilityMacros.h>
 #include <AvailabilityMacros.h>

+ 1 - 1
include/build_config/SDL_build_config_minimal.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_minimal_h_
 #define SDL_build_config_minimal_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /**
 /**
  *  \file SDL_build_config_minimal.h
  *  \file SDL_build_config_minimal.h

+ 1 - 1
include/build_config/SDL_build_config_ngage.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_ngage_h_
 #define SDL_build_config_ngage_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 typedef signed char        int8_t;
 typedef signed char        int8_t;
 typedef unsigned char      uint8_t;
 typedef unsigned char      uint8_t;

+ 1 - 1
include/build_config/SDL_build_config_windows.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_windows_h_
 #define SDL_build_config_windows_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* winsdkver.h defines _WIN32_MAXVER for SDK version detection. It is present since at least the Windows 7 SDK,
 /* winsdkver.h defines _WIN32_MAXVER for SDK version detection. It is present since at least the Windows 7 SDK,
  * but out of caution we'll only use it if the compiler supports __has_include() to confirm its presence.
  * but out of caution we'll only use it if the compiler supports __has_include() to confirm its presence.

+ 1 - 1
include/build_config/SDL_build_config_wingdk.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_wingdk_h_
 #define SDL_build_config_wingdk_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* Windows GDK does not need Windows SDK version checks because it requires
 /* Windows GDK does not need Windows SDK version checks because it requires
  * a recent version of the Windows 10 SDK. */
  * a recent version of the Windows 10 SDK. */

+ 1 - 1
include/build_config/SDL_build_config_winrt.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_winrt_h_
 #define SDL_build_config_winrt_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* Make sure the Windows SDK's NTDDI_VERSION macro gets defined.  This is used
 /* Make sure the Windows SDK's NTDDI_VERSION macro gets defined.  This is used
    by SDL to determine which version of the Windows SDK is being used.
    by SDL to determine which version of the Windows SDK is being used.

+ 1 - 1
include/build_config/SDL_build_config_xbox.h

@@ -23,7 +23,7 @@
 #define SDL_build_config_wingdk_h_
 #define SDL_build_config_wingdk_h_
 #define SDL_build_config_h_
 #define SDL_build_config_h_
 
 
-#include <SDL3/SDL_platform.h>
+#include <SDL3/SDL_platform_defines.h>
 
 
 /* Windows GDK does not need Windows SDK version checks because it requires
 /* Windows GDK does not need Windows SDK version checks because it requires
  * a recent version of the Windows 10 SDK. */
  * a recent version of the Windows 10 SDK. */

+ 5 - 2
src/SDL_internal.h

@@ -49,17 +49,20 @@
         SDL_free(ptr);               \
         SDL_free(ptr);               \
     }
     }
 
 
+#include "build_config/SDL_build_config.h"
+
 #include "dynapi/SDL_dynapi.h"
 #include "dynapi/SDL_dynapi.h"
 
 
 #if SDL_DYNAMIC_API
 #if SDL_DYNAMIC_API
 #include "dynapi/SDL_dynapi_overrides.h"
 #include "dynapi/SDL_dynapi_overrides.h"
 /* force DECLSPEC off...it's all internal symbols now.
 /* force DECLSPEC off...it's all internal symbols now.
    These will have actual #defines during SDL_dynapi.c only */
    These will have actual #defines during SDL_dynapi.c only */
+#ifdef DECLSPEC
+#undef DECLSPEC
+#endif
 #define DECLSPEC
 #define DECLSPEC
 #endif
 #endif
 
 
-#include "build_config/SDL_build_config.h"
-
 #ifdef __APPLE__
 #ifdef __APPLE__
 #ifndef _DARWIN_C_SOURCE
 #ifndef _DARWIN_C_SOURCE
 #define _DARWIN_C_SOURCE 1 /* for memset_pattern4() */
 #define _DARWIN_C_SOURCE 1 /* for memset_pattern4() */