From 2c4159b99adf72c428347a7dea6e704314b5b6f1 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 21 Nov 2022 20:28:58 -0800 Subject: [PATCH] First pass at changing SDL 2.0 to SDL 3.0 --- .editorconfig | 2 +- Android.mk | 10 +- CMakeLists.txt | 754 +++++++-------- Makefile.in | 60 +- Makefile.minimal | 4 +- Makefile.os2 | 16 +- Makefile.pandora | 2 +- Makefile.w32 | 18 +- README.md | 2 +- SDL2Config.cmake.in | 65 -- SDL2.spec.in => SDL3.spec.in | 6 +- SDL3Config.cmake.in | 65 ++ VisualC-GDK/SDL.sln | 6 +- VisualC-GDK/SDL/SDL.vcxproj | 2 +- VisualC-GDK/SDLmain/SDLmain.vcxproj | 4 +- VisualC-GDK/SDLtest/SDLtest.vcxproj | 4 +- VisualC-WinRT/SDL-UWP.sln | 2 +- VisualC-WinRT/SDL-UWP.vcxproj | 20 +- VisualC/SDL.sln | 6 +- VisualC/SDL/SDL.vcxproj | 2 +- VisualC/SDLmain/SDLmain.vcxproj | 2 +- VisualC/SDLtest/SDLtest.vcxproj | 2 +- VisualC/pkg-support/cmake/sdl2-config.cmake | 111 --- ...ersion.cmake => sdl3-config-version.cmake} | 6 +- VisualC/pkg-support/cmake/sdl3-config.cmake | 111 +++ .../Demos/Demos.xcodeproj/project.pbxproj | 98 +- Xcode-iOS/Demos/README | 2 +- Xcode-iOS/Demos/config.xcconfig | 2 +- Xcode/SDL/Info-Framework.plist | 4 +- Xcode/SDL/SDL.xcodeproj/project.pbxproj | 126 +-- .../xcschemes/Framework-iOS.xcscheme | 4 +- .../xcschemes/xcFramework-iOS.xcscheme | 4 +- Xcode/SDL/{SDL2 => SDL3}/Info.plist | 0 Xcode/SDL/pkg-support/SDL.info | 2 +- .../resources/CMake/sdl2-config.cmake | 69 -- ...ersion.cmake => sdl3-config-version.cmake} | 6 +- .../resources/CMake/sdl3-config.cmake | 69 ++ Xcode/SDL/pkg-support/resources/ReadMe.txt | 10 +- Xcode/SDL/pkg-support/resources/SDL_DS_Store | Bin 15364 -> 15365 bytes .../SDLTest/SDLTest.xcodeproj/project.pbxproj | 66 +- Xcode/SDLTest/config.xcconfig | 6 +- android-project-ant/jni/src/Android.mk | 2 +- android-project-ant/jni/src/Android_static.mk | 2 +- android-project/app/jni/src/Android.mk | 2 +- android-project/app/jni/src/CMakeLists.txt | 4 +- .../main/java/org/libsdl/app/SDLActivity.java | 18 +- build-scripts/android-prefab.sh | 4 +- build-scripts/androidbuildlibs.sh | 2 +- build-scripts/emscripten-buildbot.sh | 6 +- build-scripts/nacl-buildbot.sh | 8 +- build-scripts/naclbuild.sh | 12 +- build-scripts/raspberrypi-buildbot.sh | 14 +- build-scripts/windows-buildbot-zipper.bat | 6 +- cmake/macros.cmake | 2 +- cmake/sdlchecks.cmake | 58 +- cmake/test/CMakeLists.txt | 84 +- cmake/test/jni/Android.mk | 6 +- cmake/test/main_cli.c | 2 +- cmake/test/main_gui.c | 4 +- cmake/test/main_lib.c | 2 +- cmake/test/test_pkgconfig.sh | 6 +- cmake/test/test_sdlconfig.sh | 6 +- configure | 64 +- configure.ac | 44 +- docs/README-android.md | 8 +- docs/README-cmake.md | 30 +- docs/README-dynapi.md | 24 +- docs/README-emscripten.md | 4 +- docs/README-gdk.md | 20 +- docs/README-ios.md | 8 +- docs/README-kmsbsd.md | 2 +- docs/README-n3ds.md | 2 +- docs/README-ngage.md | 4 +- docs/README-os2.md | 13 +- docs/README-ps2.md | 6 +- docs/README-psp.md | 6 +- docs/README-raspberrypi.md | 4 +- docs/README-riscos.md | 6 +- docs/README-visualc.md | 16 +- docs/README-winrt.md | 6 +- docs/doxyfile | 8 +- include/SDL.h | 2 +- include/SDL_audio.h | 2 +- include/SDL_hints.h | 2 +- include/SDL_main.h | 2 +- include/SDL_test.h | 2 +- include/SDL_test_assert.h | 2 +- include/SDL_test_common.h | 2 +- include/SDL_test_compare.h | 2 +- include/SDL_test_crc32.h | 2 +- include/SDL_test_font.h | 2 +- include/SDL_test_fuzzer.h | 2 +- include/SDL_test_harness.h | 2 +- include/SDL_test_images.h | 2 +- include/SDL_test_log.h | 2 +- include/SDL_test_md5.h | 2 +- include/SDL_test_memory.h | 2 +- include/SDL_test_random.h | 2 +- include/SDL_thread.h | 8 +- include/SDL_version.h | 6 +- .../cmake/sdl2-config-version.cmake | 19 - mingw/pkg-support/cmake/sdl2-config.cmake | 19 - .../cmake/sdl3-config-version.cmake | 19 + mingw/pkg-support/cmake/sdl3-config.cmake | 19 + sdl2-config.cmake.in | 206 ----- ...n.cmake.in => sdl3-config-version.cmake.in | 2 +- sdl3-config.cmake.in | 206 +++++ sdl2-config.in => sdl3-config.in | 4 +- sdl2.m4 => sdl3.m4 | 76 +- sdl2.pc.in => sdl3.pc.in | 4 +- src/SDL_internal.h | 2 +- src/audio/emscripten/SDL_emscriptenaudio.c | 134 +-- src/audio/qsa/SDL_qsa_audio.c | 2 +- src/core/linux/SDL_ibus.c | 2 +- src/dynapi/SDL2.exports | 869 ------------------ src/dynapi/SDL3.exports | 869 ++++++++++++++++++ src/dynapi/SDL_dynapi.c | 16 +- src/dynapi/gendynapi.pl | 8 +- src/main/windows/version.rc | 10 +- ...cur => SDL3-WinRTResource_BlankCursor.cur} | Bin ...nRTResources.rc => SDL3-WinRTResources.rc} | 2 +- src/stdlib/SDL_mslibc.c | 2 +- .../emscripten/SDL_emscriptenframebuffer.c | 36 +- src/video/haiku/SDL_bmessagebox.cc | 2 +- src/video/kmsdrm/SDL_kmsdrmopengles.c | 2 +- src/video/kmsdrm/SDL_kmsdrmvideo.c | 2 +- src/video/os2/SDL_os2video.c | 4 +- src/video/raspberry/SDL_rpiopengles.c | 2 +- src/video/windows/SDL_windowswindow.c | 3 +- src/video/winrt/SDL_winrtmouse.cpp | 4 +- src/video/x11/SDL_x11video.c | 2 +- test/CMakeLists.txt | 40 +- test/Makefile.in | 4 +- test/Makefile.os2 | 2 +- test/Makefile.w32 | 2 +- test/acinclude.m4 | 54 +- test/configure | 108 +-- test/configure.ac | 20 +- test/nacl/Makefile | 4 +- test/testautomation_audio.c | 2 +- test/testver.c | 6 +- test/watcom.mif | 8 +- visualtest/COPYING.txt | 2 +- visualtest/acinclude.m4 | 54 +- visualtest/configure | 86 +- visualtest/configure.ac | 6 +- 146 files changed, 2633 insertions(+), 2635 deletions(-) delete mode 100644 SDL2Config.cmake.in rename SDL2.spec.in => SDL3.spec.in (97%) create mode 100644 SDL3Config.cmake.in delete mode 100644 VisualC/pkg-support/cmake/sdl2-config.cmake rename VisualC/pkg-support/cmake/{sdl2-config-version.cmake => sdl3-config-version.cmake} (92%) create mode 100644 VisualC/pkg-support/cmake/sdl3-config.cmake rename Xcode/SDL/{SDL2 => SDL3}/Info.plist (100%) delete mode 100644 Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake rename Xcode/SDL/pkg-support/resources/CMake/{sdl2-config-version.cmake => sdl3-config-version.cmake} (94%) create mode 100644 Xcode/SDL/pkg-support/resources/CMake/sdl3-config.cmake delete mode 100644 mingw/pkg-support/cmake/sdl2-config-version.cmake delete mode 100644 mingw/pkg-support/cmake/sdl2-config.cmake create mode 100644 mingw/pkg-support/cmake/sdl3-config-version.cmake create mode 100644 mingw/pkg-support/cmake/sdl3-config.cmake delete mode 100644 sdl2-config.cmake.in rename sdl2-config-version.cmake.in => sdl3-config-version.cmake.in (81%) create mode 100644 sdl3-config.cmake.in rename sdl2-config.in => sdl3-config.in (94%) rename sdl2.m4 => sdl3.m4 (73%) rename sdl2.pc.in => sdl3.pc.in (86%) delete mode 100644 src/dynapi/SDL2.exports create mode 100644 src/dynapi/SDL3.exports rename src/main/winrt/{SDL2-WinRTResource_BlankCursor.cur => SDL3-WinRTResource_BlankCursor.cur} (100%) rename src/main/winrt/{SDL2-WinRTResources.rc => SDL3-WinRTResources.rc} (54%) diff --git a/.editorconfig b/.editorconfig index 636c54453..5f3849ca4 100644 --- a/.editorconfig +++ b/.editorconfig @@ -16,7 +16,7 @@ indent_style = space indent_size = 4 indent_style = space -[{CMakeLists.txt,sdl2-config*.cmake.in,cmake/*.cmake}] +[{CMakeLists.txt,sdl3-config*.cmake.in,cmake/*.cmake}] indent_size = 2 indent_style = space diff --git a/Android.mk b/Android.mk index 06146cd40..658e15951 100644 --- a/Android.mk +++ b/Android.mk @@ -8,7 +8,7 @@ LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) -LOCAL_MODULE := SDL2 +LOCAL_MODULE := SDL3 LOCAL_C_INCLUDES := $(LOCAL_PATH)/include @@ -97,9 +97,9 @@ include $(BUILD_SHARED_LIBRARY) # ########################### -LOCAL_MODULE := SDL2_static +LOCAL_MODULE := SDL3_static -LOCAL_MODULE_FILENAME := libSDL2 +LOCAL_MODULE_FILENAME := libSDL3 LOCAL_LDLIBS := @@ -120,9 +120,9 @@ include $(CLEAR_VARS) LOCAL_C_INCLUDES := $(LOCAL_PATH)/include -LOCAL_MODULE := SDL2_main +LOCAL_MODULE := SDL3_main -LOCAL_MODULE_FILENAME := libSDL2main +LOCAL_MODULE_FILENAME := libSDL3main include $(BUILD_STATIC_LIBRARY) diff --git a/CMakeLists.txt b/CMakeLists.txt index 021b66cd5..60a4782ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,12 +3,12 @@ if(${CMAKE_CURRENT_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_BINARY_DIR}) endif() cmake_minimum_required(VERSION 3.0.0) -project(SDL2 C CXX) +project(SDL3 C CXX) if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR) - set(SDL2_SUBPROJECT OFF) + set(SDL3_SUBPROJECT OFF) else() - set(SDL2_SUBPROJECT ON) + set(SDL3_SUBPROJECT ON) endif() if (HAIKU) @@ -46,7 +46,7 @@ if(POLICY CMP0054) endif() # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property -# !!! FIXME: for the SDL2 shared library (so you get an +# !!! FIXME: for the SDL shared library (so you get an # !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib" # !!! FIXME: instead of "/usr/local/lib/libSDL-whatever.dylib"), but I'm # !!! FIXME: punting for now and leaving the existing behavior. Until this @@ -71,10 +71,10 @@ include(GNUInstallDirs) find_package(PkgConfig) -list(APPEND CMAKE_MODULE_PATH "${SDL2_SOURCE_DIR}/cmake") -include(${SDL2_SOURCE_DIR}/cmake/macros.cmake) -include(${SDL2_SOURCE_DIR}/cmake/sdlchecks.cmake) -include(${SDL2_SOURCE_DIR}/cmake/CheckCPUArchitecture.cmake) +list(APPEND CMAKE_MODULE_PATH "${SDL3_SOURCE_DIR}/cmake") +include(${SDL3_SOURCE_DIR}/cmake/macros.cmake) +include(${SDL3_SOURCE_DIR}/cmake/sdlchecks.cmake) +include(${SDL3_SOURCE_DIR}/cmake/CheckCPUArchitecture.cmake) # Enable large file support on 32-bit glibc, so that we can access files # with large inode numbers @@ -84,8 +84,8 @@ if (LIBC_IS_GLIBC AND CMAKE_SIZEOF_VOID_P EQUAL 4) endif() # See docs/release_checklist.md -set(SDL_MAJOR_VERSION 2) -set(SDL_MINOR_VERSION 26) +set(SDL_MAJOR_VERSION 3) +set(SDL_MINOR_VERSION 0) set(SDL_MICRO_VERSION 0) set(SDL_VERSION "${SDL_MAJOR_VERSION}.${SDL_MINOR_VERSION}.${SDL_MICRO_VERSION}") @@ -98,15 +98,15 @@ mark_as_advanced(CMAKE_IMPORT_LIBRARY_SUFFIX SDL_CMAKE_DEBUG_POSTFIX) # Calculate a libtool-like version number math(EXPR SDL_BINARY_AGE "${SDL_MINOR_VERSION} * 100 + ${SDL_MICRO_VERSION}") if(SDL_MINOR_VERSION MATCHES "[02468]$") - # Stable branch, 2.24.1 -> libSDL2-2.0.so.0.2400.1 + # Stable branch, 3.24.1 -> libSDL3-3.0.so.0.2400.1 set(SDL_INTERFACE_AGE ${SDL_MICRO_VERSION}) else() - # Development branch, 2.23.1 -> libSDL2-2.0.so.0.2301.0 + # Development branch, 3.23.1 -> libSDL3-3.0.so.0.2301.0 set(SDL_INTERFACE_AGE 0) endif() # Increment this if there is an incompatible change - but if that happens, -# we should rename the library from SDL2 to SDL3, at which point this would +# we should rename the library from SDL3 to SDL4, at which point this would # reset to 0 anyway. set(LT_MAJOR "0") @@ -114,10 +114,10 @@ math(EXPR LT_AGE "${SDL_BINARY_AGE} - ${SDL_INTERFACE_AGE}") math(EXPR LT_CURRENT "${LT_MAJOR} + ${LT_AGE}") set(LT_REVISION "${SDL_INTERFACE_AGE}") # For historical reasons, the library name redundantly includes the major -# version twice: libSDL2-2.0.so.0. +# version twice: libSDL3-3.0.so.0. # TODO: in SDL 3, set the OUTPUT_NAME to plain SDL3, which will simplify # it to libSDL3.so.0 -set(LT_RELEASE "2.0") +set(LT_RELEASE "3.0") set(LT_VERSION "${LT_MAJOR}.${LT_AGE}.${LT_REVISION}") # The following should match the versions in the Xcode project file. @@ -146,7 +146,7 @@ else() set(ARCH_64 FALSE) set(PROCESSOR_ARCH "x86") endif() -set(LIBNAME SDL2) +set(LIBNAME SDL3) if(NOT LIBTYPE) set(LIBTYPE SHARED) endif() @@ -325,9 +325,9 @@ if(MSVC) endif() endif() -# Those are used for pkg-config and friends, so that the sdl2.pc, sdl2-config, +# Those are used for pkg-config and friends, so that the sdl3.pc, sdl3-config, # etc. are created correctly. -set(SDL_LIBS "-lSDL2") +set(SDL_LIBS "-lSDL3") set(SDL_CFLAGS ) # When building shared lib for Windows with MinGW, @@ -358,13 +358,13 @@ endif() # General includes target_compile_definitions(sdl-build-options INTERFACE "-DUSING_GENERATED_CONFIG_H") -target_include_directories(sdl-build-options BEFORE INTERFACE "${SDL2_BINARY_DIR}/include" "${SDL2_BINARY_DIR}/include-config-$>") +target_include_directories(sdl-build-options BEFORE INTERFACE "${SDL3_BINARY_DIR}/include" "${SDL3_BINARY_DIR}/include-config-$>") # Note: The clang toolset for Visual Studio does not support the '-idirafter' option. if(USE_GCC OR (USE_CLANG AND NOT MSVC_CLANG)) # !!! FIXME: do we _need_ to mess with CMAKE_C_FLAGS here? - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter \"${SDL2_SOURCE_DIR}/src/video/khronos\"") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -idirafter \"${SDL3_SOURCE_DIR}/src/video/khronos\"") else() - target_include_directories(sdl-build-options INTERFACE "${SDL2_SOURCE_DIR}/src/video/khronos") + target_include_directories(sdl-build-options INTERFACE "${SDL3_SOURCE_DIR}/src/video/khronos") endif() # All these ENABLED_BY_DEFAULT vars will default to ON if not specified, so @@ -427,9 +427,9 @@ foreach(_SUB ${SDL_SUBSYSTEMS}) endforeach() # Allow some projects to be built conditionally. -set_option(SDL2_DISABLE_SDL2MAIN "Disable building/installation of SDL2main" OFF) -set_option(SDL2_DISABLE_INSTALL "Disable installation of SDL2" ${SDL2_SUBPROJECT}) -set_option(SDL2_DISABLE_UNINSTALL "Disable uninstallation of SDL2" OFF) +set_option(SDL3_DISABLE_SDL3MAIN "Disable building/installation of SDL3main" OFF) +set_option(SDL3_DISABLE_INSTALL "Disable installation of SDL3" ${SDL3_SUBPROJECT}) +set_option(SDL3_DISABLE_UNINSTALL "Disable uninstallation of SDL3" OFF) option_string(SDL_ASSERTIONS "Enable internal sanity checks (auto/disabled/release/enabled/paranoid)" "auto") #set_option(SDL_DEPENDENCY_TRACKING "Use gcc -MMD -MT dependency tracking" ON) @@ -519,7 +519,7 @@ option(SDL_WERROR "Enable -Werror" OFF) option(SDL_SHARED "Build a shared version of the library" ${SDL_SHARED_ENABLED_BY_DEFAULT}) option(SDL_STATIC "Build a static version of the library" ${SDL_STATIC_ENABLED_BY_DEFAULT}) -option(SDL_TEST "Build the SDL2_test library" ${SDL_TEST_ENABLED_BY_DEFAULT}) +option(SDL_TEST "Build the SDL3_test library" ${SDL_TEST_ENABLED_BY_DEFAULT}) dep_option(SDL_STATIC_PIC "Static version of the library should be built with Position Independent Code" "${CMAKE_POSITION_INDEPENDENT_CODE}" "SDL_STATIC" OFF) dep_option(SDL_TESTS "Build the test directory" OFF SDL_TEST OFF) @@ -562,28 +562,28 @@ endif() # General source files file(GLOB SOURCE_FILES - ${SDL2_SOURCE_DIR}/src/*.c - ${SDL2_SOURCE_DIR}/src/atomic/*.c - ${SDL2_SOURCE_DIR}/src/audio/*.c - ${SDL2_SOURCE_DIR}/src/cpuinfo/*.c - ${SDL2_SOURCE_DIR}/src/dynapi/*.c - ${SDL2_SOURCE_DIR}/src/events/*.c - ${SDL2_SOURCE_DIR}/src/file/*.c - ${SDL2_SOURCE_DIR}/src/joystick/*.c - ${SDL2_SOURCE_DIR}/src/haptic/*.c - ${SDL2_SOURCE_DIR}/src/hidapi/*.c - ${SDL2_SOURCE_DIR}/src/libm/*.c - ${SDL2_SOURCE_DIR}/src/locale/*.c - ${SDL2_SOURCE_DIR}/src/misc/*.c - ${SDL2_SOURCE_DIR}/src/power/*.c - ${SDL2_SOURCE_DIR}/src/render/*.c - ${SDL2_SOURCE_DIR}/src/render/*/*.c - ${SDL2_SOURCE_DIR}/src/sensor/*.c - ${SDL2_SOURCE_DIR}/src/stdlib/*.c - ${SDL2_SOURCE_DIR}/src/thread/*.c - ${SDL2_SOURCE_DIR}/src/timer/*.c - ${SDL2_SOURCE_DIR}/src/video/*.c - ${SDL2_SOURCE_DIR}/src/video/yuv2rgb/*.c) + ${SDL3_SOURCE_DIR}/src/*.c + ${SDL3_SOURCE_DIR}/src/atomic/*.c + ${SDL3_SOURCE_DIR}/src/audio/*.c + ${SDL3_SOURCE_DIR}/src/cpuinfo/*.c + ${SDL3_SOURCE_DIR}/src/dynapi/*.c + ${SDL3_SOURCE_DIR}/src/events/*.c + ${SDL3_SOURCE_DIR}/src/file/*.c + ${SDL3_SOURCE_DIR}/src/joystick/*.c + ${SDL3_SOURCE_DIR}/src/haptic/*.c + ${SDL3_SOURCE_DIR}/src/hidapi/*.c + ${SDL3_SOURCE_DIR}/src/libm/*.c + ${SDL3_SOURCE_DIR}/src/locale/*.c + ${SDL3_SOURCE_DIR}/src/misc/*.c + ${SDL3_SOURCE_DIR}/src/power/*.c + ${SDL3_SOURCE_DIR}/src/render/*.c + ${SDL3_SOURCE_DIR}/src/render/*/*.c + ${SDL3_SOURCE_DIR}/src/sensor/*.c + ${SDL3_SOURCE_DIR}/src/stdlib/*.c + ${SDL3_SOURCE_DIR}/src/thread/*.c + ${SDL3_SOURCE_DIR}/src/timer/*.c + ${SDL3_SOURCE_DIR}/src/video/*.c + ${SDL3_SOURCE_DIR}/src/video/yuv2rgb/*.c) set(SDL_DEFAULT_ASSERT_LEVEL_CONFIGURED 1) @@ -924,7 +924,7 @@ if(SDL_ASSEMBLY) if(ARMSIMD_FOUND) set(HAVE_ARMSIMD TRUE) set(SDL_ARM_SIMD_BLITTERS 1) - file(GLOB ARMSIMD_SOURCES ${SDL2_SOURCE_DIR}/src/video/arm/pixman-arm-simd*.S) + file(GLOB ARMSIMD_SOURCES ${SDL3_SOURCE_DIR}/src/video/arm/pixman-arm-simd*.S) list(APPEND SOURCE_FILES ${ARMSIMD_SOURCES}) set(WARN_ABOUT_ARM_SIMD_ASM_MIT TRUE) endif() @@ -952,7 +952,7 @@ if(SDL_ASSEMBLY) if(ARMNEON_FOUND) set(HAVE_ARMNEON TRUE) set(SDL_ARM_NEON_BLITTERS 1) - file(GLOB ARMNEON_SOURCES ${SDL2_SOURCE_DIR}/src/video/arm/pixman-arm-neon*.S) + file(GLOB ARMNEON_SOURCES ${SDL3_SOURCE_DIR}/src/video/arm/pixman-arm-neon*.S) list(APPEND SOURCE_FILES ${ARMNEON_SOURCES}) set(WARN_ABOUT_ARM_NEON_ASM_MIT TRUE) endif() @@ -1141,14 +1141,14 @@ if(SDL_AUDIO) # CheckDummyAudio/CheckDiskAudio - valid for all platforms if(SDL_DUMMYAUDIO) set(SDL_AUDIO_DRIVER_DUMMY 1) - file(GLOB DUMMYAUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/dummy/*.c) + file(GLOB DUMMYAUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/dummy/*.c) list(APPEND SOURCE_FILES ${DUMMYAUDIO_SOURCES}) set(HAVE_DUMMYAUDIO TRUE) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_DISKAUDIO) set(SDL_AUDIO_DRIVER_DISK 1) - file(GLOB DISKAUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/disk/*.c) + file(GLOB DISKAUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/disk/*.c) list(APPEND SOURCE_FILES ${DISKAUDIO_SOURCES}) set(HAVE_DISKAUDIO TRUE) set(HAVE_SDL_AUDIO TRUE) @@ -1161,7 +1161,7 @@ if(UNIX OR APPLE) CheckDLOPEN() if(SDL_LOADSO AND HAVE_DLOPEN) set(SDL_LOADSO_DLOPEN 1) - file(GLOB DLOPEN_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/dlopen/*.c) + file(GLOB DLOPEN_SOURCES ${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c) list(APPEND SOURCE_FILES ${DLOPEN_SOURCES}) set(HAVE_SDL_LOADSO TRUE) endif() @@ -1175,7 +1175,7 @@ if(SDL_JOYSTICK) if(SDL_VIRTUAL_JOYSTICK) set(HAVE_VIRTUAL_JOYSTICK TRUE) set(SDL_JOYSTICK_VIRTUAL 1) - file(GLOB JOYSTICK_VIRTUAL_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/virtual/*.c) + file(GLOB JOYSTICK_VIRTUAL_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/virtual/*.c) list(APPEND SOURCE_FILES ${JOYSTICK_VIRTUAL_SOURCES}) endif() endif() @@ -1183,14 +1183,14 @@ endif() if(SDL_VIDEO) if(SDL_DUMMYVIDEO) set(SDL_VIDEO_DRIVER_DUMMY 1) - file(GLOB VIDEO_DUMMY_SOURCES ${SDL2_SOURCE_DIR}/src/video/dummy/*.c) + file(GLOB VIDEO_DUMMY_SOURCES ${SDL3_SOURCE_DIR}/src/video/dummy/*.c) list(APPEND SOURCE_FILES ${VIDEO_DUMMY_SOURCES}) set(HAVE_DUMMYVIDEO TRUE) set(HAVE_SDL_VIDEO TRUE) endif() if(SDL_OFFSCREEN) set(SDL_VIDEO_DRIVER_OFFSCREEN 1) - file(GLOB VIDEO_OFFSCREEN_SOURCES ${SDL2_SOURCE_DIR}/src/video/offscreen/*.c) + file(GLOB VIDEO_OFFSCREEN_SOURCES ${SDL3_SOURCE_DIR}/src/video/offscreen/*.c) list(APPEND SOURCE_FILES ${VIDEO_OFFSCREEN_SOURCES}) set(HAVE_OFFSCREEN TRUE) set(HAVE_SDL_VIDEO TRUE) @@ -1199,12 +1199,12 @@ endif() # Platform-specific options and settings if(ANDROID) - file(GLOB ANDROID_CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/android/*.c) + file(GLOB ANDROID_CORE_SOURCES ${SDL3_SOURCE_DIR}/src/core/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_CORE_SOURCES} ${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c) set_property(SOURCE "${ANDROID_NDK}/sources/android/cpufeatures/cpu-features.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-declaration-after-statement") if(SDL_MISC) - file(GLOB ANDROID_MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/android/*.c) + file(GLOB ANDROID_MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) endif() @@ -1217,39 +1217,39 @@ if(ANDROID) set(CMAKE_REQUIRED_FLAGS "-Werror=unused-command-line-argument") check_c_compiler_flag(-marm HAVE_ARM_MODE) if(HAVE_ARM_MODE) - set_property(SOURCE "${SDL2_SOURCE_DIR}/src/atomic/SDL_spinlock.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -marm") + set_property(SOURCE "${SDL3_SOURCE_DIR}/src/atomic/SDL_spinlock.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -marm") endif() cmake_pop_check_state() - file(GLOB ANDROID_MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/android/*.c) + file(GLOB ANDROID_MAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/android/*.c) list(APPEND SDLMAIN_SOURCES ${ANDROID_MAIN_SOURCES}) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_ANDROID 1) - file(GLOB ANDROID_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/android/*.c) + file(GLOB ANDROID_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_AUDIO_SOURCES}) set(SDL_AUDIO_DRIVER_OPENSLES 1) - file(GLOB OPENSLES_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/openslES/*.c) + file(GLOB OPENSLES_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/openslES/*.c) list(APPEND SOURCE_FILES ${OPENSLES_AUDIO_SOURCES}) list(APPEND EXTRA_LIBS ${ANDROID_DL_LIBRARY} OpenSLES) set(SDL_AUDIO_DRIVER_AAUDIO 1) - file(GLOB AAUDIO_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/aaudio/*.c) + file(GLOB AAUDIO_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/aaudio/*.c) list(APPEND SOURCE_FILES ${AAUDIO_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_ANDROID 1) - file(GLOB ANDROID_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/android/*.c) + file(GLOB ANDROID_FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_HAPTIC) set(SDL_HAPTIC_ANDROID 1) - file(GLOB ANDROID_HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/android/*.c) + file(GLOB ANDROID_HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_HAPTIC_SOURCES}) set(HAVE_SDL_HAPTIC TRUE) endif() @@ -1258,42 +1258,42 @@ if(ANDROID) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_ANDROID 1) - file(GLOB ANDROID_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/android/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c) + file(GLOB ANDROID_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/android/*.c ${SDL3_SOURCE_DIR}/src/joystick/steam/*.c) list(APPEND SOURCE_FILES ${ANDROID_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_LOADSO) set(SDL_LOADSO_DLOPEN 1) - file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/dlopen/*.c) + file(GLOB LOADSO_SOURCES ${SDL3_SOURCE_DIR}/src/loadso/dlopen/*.c) list(APPEND SOURCE_FILES ${LOADSO_SOURCES}) set(HAVE_SDL_LOADSO TRUE) endif() if(SDL_POWER) set(SDL_POWER_ANDROID 1) - file(GLOB ANDROID_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/android/*.c) + file(GLOB ANDROID_POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() if(SDL_LOCALE) - file(GLOB ANDROID_LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/android/*.c) + file(GLOB ANDROID_LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_UNIX 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/unix/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_SENSOR) set(SDL_SENSOR_ANDROID 1) set(HAVE_SDL_SENSORS TRUE) - file(GLOB ANDROID_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/android/*.c) + file(GLOB ANDROID_SENSOR_SOURCES ${SDL3_SOURCE_DIR}/src/sensor/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_SENSOR_SOURCES}) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_ANDROID 1) - file(GLOB ANDROID_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/android/*.c) + file(GLOB ANDROID_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/android/*.c) list(APPEND SOURCE_FILES ${ANDROID_VIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) @@ -1340,42 +1340,42 @@ elseif(EMSCRIPTEN) target_compile_options(sdl-build-options INTERFACE "-Wno-warn-absolute-paths") if(SDL_MISC) - file(GLOB EMSRIPTEN_MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/emscripten/*.c) + file(GLOB EMSRIPTEN_MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/emscripten/*.c) list(APPEND SOURCE_FILES ${EMSRIPTEN_MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) endif() if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_EMSCRIPTEN 1) - file(GLOB EM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/emscripten/*.c) + file(GLOB EM_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/emscripten/*.c) list(APPEND SOURCE_FILES ${EM_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_EMSCRIPTEN 1) - file(GLOB EM_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/emscripten/*.c) + file(GLOB EM_FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/emscripten/*.c) list(APPEND SOURCE_FILES ${EM_FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_EMSCRIPTEN 1) - file(GLOB EM_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/emscripten/*.c) + file(GLOB EM_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/emscripten/*.c) list(APPEND SOURCE_FILES ${EM_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_POWER) set(SDL_POWER_EMSCRIPTEN 1) - file(GLOB EM_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/emscripten/*.c) + file(GLOB EM_POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/emscripten/*.c) list(APPEND SOURCE_FILES ${EM_POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() if(SDL_LOCALE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/emscripten/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/emscripten/*.c) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_UNIX 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/unix/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) @@ -1385,7 +1385,7 @@ elseif(EMSCRIPTEN) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_EMSCRIPTEN 1) - file(GLOB EM_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/emscripten/*.c) + file(GLOB EM_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/emscripten/*.c) list(APPEND SOURCE_FILES ${EM_VIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) @@ -1408,17 +1408,17 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) if(SDL_AUDIO) if(SYSV5 OR SOLARIS OR HPUX) set(SDL_AUDIO_DRIVER_SUNAUDIO 1) - file(GLOB SUN_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/sun/*.c) + file(GLOB SUN_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/sun/*.c) list(APPEND SOURCE_FILES ${SUN_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) elseif(NETBSD) set(SDL_AUDIO_DRIVER_NETBSD 1) - file(GLOB NETBSD_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/netbsd/*.c) + file(GLOB NETBSD_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/netbsd/*.c) list(APPEND SOURCE_FILES ${NETBSD_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) elseif(AIX) set(SDL_AUDIO_DRIVER_PAUDIO 1) - file(GLOB AIX_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/paudio/*.c) + file(GLOB AIX_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/paudio/*.c) list(APPEND SOURCE_FILES ${AIX_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() @@ -1455,7 +1455,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) endif() if(UNIX) - file(GLOB CORE_UNIX_SOURCES ${SDL2_SOURCE_DIR}/src/core/unix/*.c) + file(GLOB CORE_UNIX_SOURCES ${SDL3_SOURCE_DIR}/src/core/unix/*.c) list(APPEND SOURCE_FILES ${CORE_UNIX_SOURCES}) check_c_source_compiles(" @@ -1493,7 +1493,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) if(SDL_HAPTIC AND HAVE_INPUT_EVENTS) set(SDL_HAPTIC_LINUX 1) - file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/linux/*.c) + file(GLOB HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/linux/*.c) list(APPEND SOURCE_FILES ${HAPTIC_SOURCES}) set(HAVE_SDL_HAPTIC TRUE) endif() @@ -1561,38 +1561,38 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) endif() if(HAVE_DBUS_DBUS_H) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_dbus.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_dbus.c") endif() if(SDL_USE_IME) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_ime.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_ime.c") endif() if(HAVE_IBUS_IBUS_H) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_ibus.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_ibus.c") endif() if(HAVE_FCITX) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_fcitx.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_fcitx.c") endif() if(HAVE_LIBUDEV_H) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_udev.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_udev.c") endif() if(HAVE_INPUT_EVENTS) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_evdev.c") - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_evdev_kbd.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_evdev.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_evdev_kbd.c") endif() if(HAVE_INPUT_KBIO) - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/freebsd/SDL_evdev_kbd_freebsd.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/freebsd/SDL_evdev_kbd_freebsd.c") endif() # Always compiled for Linux, unconditionally: - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_evdev_capabilities.c") - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_threadprio.c") - list(APPEND SOURCE_FILES "${SDL2_SOURCE_DIR}/src/core/linux/SDL_sandbox.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_evdev_capabilities.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_threadprio.c") + list(APPEND SOURCE_FILES "${SDL3_SOURCE_DIR}/src/core/linux/SDL_sandbox.c") # src/core/unix/*.c is included in a generic if(UNIX) section, elsewhere. endif() @@ -1607,7 +1607,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) endif() if(LINUX AND HAVE_LINUX_INPUT_H AND NOT ANDROID) set(SDL_JOYSTICK_LINUX 1) - file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/linux/*.c ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c) + file(GLOB JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/linux/*.c ${SDL3_SOURCE_DIR}/src/joystick/steam/*.c) list(APPEND SOURCE_FILES ${JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() @@ -1634,7 +1634,7 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) endif() if(SDL_MISC) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/unix/*.c) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/unix/*.c) list(APPEND SOURCE_FILES ${MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) endif() @@ -1642,28 +1642,28 @@ elseif(UNIX AND NOT APPLE AND NOT RISCOS AND NOT HAIKU) if(SDL_POWER) if(LINUX) set(SDL_POWER_LINUX 1) - file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/linux/*.c) + file(GLOB POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/linux/*.c) list(APPEND SOURCE_FILES ${POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() endif() if(SDL_LOCALE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/unix/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/unix/*.c) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_UNIX 1) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/unix/*.c) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/unix/*.c) list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_UNIX 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/unix/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() @@ -1693,11 +1693,11 @@ elseif(WINDOWS) #include int main(int argc, char **argv) { return 0; }" HAVE_WIN32_CC) - file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) + file(GLOB CORE_SOURCES ${SDL3_SOURCE_DIR}/src/core/windows/*.c) list(APPEND SOURCE_FILES ${CORE_SOURCES}) if(WINDOWS_STORE) - file(GLOB WINRT_SOURCE_FILES ${SDL2_SOURCE_DIR}/src/core/winrt/*.c ${SDL2_SOURCE_DIR}/src/core/winrt/*.cpp) + file(GLOB WINRT_SOURCE_FILES ${SDL3_SOURCE_DIR}/src/core/winrt/*.c ${SDL3_SOURCE_DIR}/src/core/winrt/*.cpp) list(APPEND SOURCE_FILES ${WINRT_SOURCE_FILES}) endif() @@ -1711,9 +1711,9 @@ elseif(WINDOWS) if(SDL_MISC) if(WINDOWS_STORE) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/winrt/*.cpp) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/winrt/*.cpp) else() - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/windows/*.c) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/windows/*.c) endif() list(APPEND SOURCE_FILES ${MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) @@ -1793,14 +1793,14 @@ elseif(WINDOWS) if(SDL_AUDIO) if(NOT WINDOWS_STORE) set(SDL_AUDIO_DRIVER_WINMM 1) - file(GLOB WINMM_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/winmm/*.c) + file(GLOB WINMM_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/winmm/*.c) list(APPEND SOURCE_FILES ${WINMM_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(HAVE_DSOUND_H AND NOT WINDOWS_STORE) set(SDL_AUDIO_DRIVER_DSOUND 1) - file(GLOB DSOUND_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/directsound/*.c) + file(GLOB DSOUND_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/directsound/*.c) list(APPEND SOURCE_FILES ${DSOUND_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() @@ -1808,9 +1808,9 @@ elseif(WINDOWS) if(SDL_WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H) set(SDL_AUDIO_DRIVER_WASAPI 1) set(HAVE_WASAPI TRUE) - file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c) + file(GLOB WASAPI_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/wasapi/*.c) if(WINDOWS_STORE) - list(APPEND WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/SDL_wasapi_winrt.cpp) + list(APPEND WASAPI_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/wasapi/SDL_wasapi_winrt.cpp) endif() list(APPEND SOURCE_FILES ${WASAPI_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) @@ -1825,13 +1825,13 @@ elseif(WINDOWS) if(WINDOWS_STORE) set(SDL_VIDEO_DRIVER_WINRT 1) file(GLOB WIN_VIDEO_SOURCES - ${SDL2_SOURCE_DIR}/src/video/winrt/*.c - ${SDL2_SOURCE_DIR}/src/video/winrt/*.cpp - ${SDL2_SOURCE_DIR}/src/render/direct3d11/*.cpp + ${SDL3_SOURCE_DIR}/src/video/winrt/*.c + ${SDL3_SOURCE_DIR}/src/video/winrt/*.cpp + ${SDL3_SOURCE_DIR}/src/render/direct3d11/*.cpp ) else() set(SDL_VIDEO_DRIVER_WINDOWS 1) - file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c) + file(GLOB WIN_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/windows/*.c) endif() list(APPEND SOURCE_FILES ${WIN_VIDEO_SOURCES}) @@ -1854,38 +1854,38 @@ elseif(WINDOWS) set(SDL_THREAD_GENERIC_COND_SUFFIX 1) set(SDL_THREAD_WINDOWS 1) list(APPEND SOURCE_FILES - ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_syscond.c - ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_syscond_cv.c - ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_sysmutex.c - ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_syssem.c - ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_systhread.c - ${SDL2_SOURCE_DIR}/src/thread/windows/SDL_systls.c) + ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syscond.c + ${SDL3_SOURCE_DIR}/src/thread/windows/SDL_syscond_cv.c + ${SDL3_SOURCE_DIR}/src/thread/windows/SDL_sysmutex.c + ${SDL3_SOURCE_DIR}/src/thread/windows/SDL_syssem.c + ${SDL3_SOURCE_DIR}/src/thread/windows/SDL_systhread.c + ${SDL3_SOURCE_DIR}/src/thread/windows/SDL_systls.c) set(HAVE_SDL_THREADS TRUE) endif() if(SDL_SENSOR AND HAVE_SENSORSAPI_H AND NOT WINDOWS_STORE) set(SDL_SENSOR_WINDOWS 1) set(HAVE_SDL_SENSORS TRUE) - file(GLOB WINDOWS_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/windows/*.c) + file(GLOB WINDOWS_SENSOR_SOURCES ${SDL3_SOURCE_DIR}/src/sensor/windows/*.c) list(APPEND SOURCE_FILES ${WINDOWS_SENSOR_SOURCES}) endif() if(SDL_POWER) if(WINDOWS_STORE) set(SDL_POWER_WINRT 1) - list(APPEND SOURCE_FILES ${SDL2_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp) + list(APPEND SOURCE_FILES ${SDL3_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp) else() set(SDL_POWER_WINDOWS 1) - list(APPEND SOURCE_FILES ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c) + list(APPEND SOURCE_FILES ${SDL3_SOURCE_DIR}/src/power/windows/SDL_syspower.c) set(HAVE_SDL_POWER TRUE) endif() endif() if(SDL_LOCALE) if(WINDOWS_STORE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/winrt/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/winrt/*.c) else() - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/windows/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/windows/*.c) endif() list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) @@ -1894,9 +1894,9 @@ elseif(WINDOWS) if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_WINDOWS 1) if(WINDOWS_STORE) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/winrt/*.cpp) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/winrt/*.cpp) else() - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/windows/*.c) endif() list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) @@ -1918,19 +1918,19 @@ elseif(WINDOWS) if(SDL_TIMERS) set(SDL_TIMER_WINDOWS 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/windows/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/windows/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_LOADSO) set(SDL_LOADSO_WINDOWS 1) - file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/windows/*.c) + file(GLOB LOADSO_SOURCES ${SDL3_SOURCE_DIR}/src/loadso/windows/*.c) list(APPEND SOURCE_FILES ${LOADSO_SOURCES}) set(HAVE_SDL_LOADSO TRUE) endif() - file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) + file(GLOB CORE_SOURCES ${SDL3_SOURCE_DIR}/src/core/windows/*.c) list(APPEND SOURCE_FILES ${CORE_SOURCES}) if(SDL_VIDEO) @@ -1959,7 +1959,7 @@ elseif(WINDOWS) endif() if(SDL_JOYSTICK) - file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/windows/*.c) + file(GLOB JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/windows/*.c) list(APPEND SOURCE_FILES ${JOYSTICK_SOURCES}) if(NOT WINDOWS_STORE) @@ -1982,7 +1982,7 @@ elseif(WINDOWS) if(SDL_HAPTIC) if((HAVE_DINPUT_H OR HAVE_XINPUT_H) AND NOT WINDOWS_STORE) - file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/windows/*.c) + file(GLOB HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/windows/*.c) if(HAVE_DINPUT_H) set(SDL_HAPTIC_DINPUT 1) endif() @@ -1990,7 +1990,7 @@ elseif(WINDOWS) set(SDL_HAPTIC_XINPUT 1) endif() else() - file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c) + file(GLOB HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/dummy/*.c) set(SDL_HAPTIC_DUMMY 1) endif() list(APPEND SOURCE_FILES ${HAPTIC_SOURCES}) @@ -1998,13 +1998,13 @@ elseif(WINDOWS) endif() endif() - file(GLOB VERSION_SOURCES ${SDL2_SOURCE_DIR}/src/main/windows/*.rc) - file(GLOB SDLMAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/windows/*.c) + file(GLOB VERSION_SOURCES ${SDL3_SOURCE_DIR}/src/main/windows/*.rc) + file(GLOB SDLMAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/windows/*.c) if(MINGW OR CYGWIN) - if(NOT SDL2_DISABLE_SDL2MAIN) + if(NOT SDL3_DISABLE_SDL3MAIN) list(APPEND SDL_CFLAGS "-Dmain=SDL_main") - list(INSERT SDL_LIBS 0 "-lSDL2main") - endif(NOT SDL2_DISABLE_SDL2MAIN) + list(INSERT SDL_LIBS 0 "-lSDL3main") + endif(NOT SDL3_DISABLE_SDL3MAIN) list(INSERT SDL_LIBS 0 "-lmingw32" "-mwindows") endif() @@ -2024,20 +2024,20 @@ elseif(APPLE) # Requires the darwin file implementation if(SDL_FILE) - file(GLOB EXTRA_SOURCES ${SDL2_SOURCE_DIR}/src/file/cocoa/*.m) + file(GLOB EXTRA_SOURCES ${SDL3_SOURCE_DIR}/src/file/cocoa/*.m) list(APPEND SOURCE_FILES ${EXTRA_SOURCES}) set(HAVE_SDL_FILE TRUE) endif() if(IOS OR TVOS) - file(GLOB SDLMAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/uikit/*.c) + file(GLOB SDLMAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/uikit/*.c) endif() if(SDL_MISC) if(IOS OR TVOS) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/ios/*.m) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/ios/*.m) else() - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/macosx/*.m) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/macosx/*.m) endif() list(APPEND SOURCE_FILES ${MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) @@ -2045,7 +2045,7 @@ elseif(APPLE) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_COREAUDIO 1) - file(GLOB AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/coreaudio/*.m) + file(GLOB AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/coreaudio/*.m) list(APPEND SOURCE_FILES ${AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) set(SDL_FRAMEWORK_COREAUDIO 1) @@ -2058,9 +2058,9 @@ elseif(APPLE) endif() if(SDL_JOYSTICK) - file(GLOB MFI_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/iphoneos/*.m) + file(GLOB MFI_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/iphoneos/*.m) if(IOS OR TVOS) - file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/steam/*.c) + file(GLOB JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/steam/*.c) set(SDL_JOYSTICK_MFI 1) if(IOS) set(SDL_FRAMEWORK_COREMOTION 1) @@ -2068,7 +2068,7 @@ elseif(APPLE) set(SDL_FRAMEWORK_GAMECONTROLLER 1) set(SDL_FRAMEWORK_COREHAPTICS 1) else() - file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/darwin/*.c) + file(GLOB JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/darwin/*.c) set_property(SOURCE ${MFI_JOYSTICK_SOURCES} APPEND_STRING PROPERTY COMPILE_FLAGS " -fobjc-weak") check_objc_source_compiles(" #include @@ -2104,10 +2104,10 @@ elseif(APPLE) if(SDL_HAPTIC) if (IOS OR TVOS) - file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c) + file(GLOB HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/dummy/*.c) set(SDL_HAPTIC_DUMMY 1) else() - file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/darwin/*.c) + file(GLOB HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/darwin/*.c) set(SDL_HAPTIC_IOKIT 1) set(SDL_FRAMEWORK_IOKIT 1) set(SDL_FRAMEWORK_FF 1) @@ -2118,10 +2118,10 @@ elseif(APPLE) if(SDL_POWER) if (IOS OR TVOS) - file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/uikit/*.m) + file(GLOB POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/uikit/*.m) set(SDL_POWER_UIKIT 1) else() - file(GLOB POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/macosx/*.c) + file(GLOB POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/macosx/*.c) set(SDL_POWER_MACOSX 1) set(SDL_FRAMEWORK_IOKIT 1) endif() @@ -2130,21 +2130,21 @@ elseif(APPLE) endif() if(SDL_LOCALE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/macosx/*.m) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/macosx/*.m) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_UNIX 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/unix/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif(SDL_TIMERS) if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_COCOA 1) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/cocoa/*.m) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/cocoa/*.m) list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() @@ -2153,7 +2153,7 @@ elseif(APPLE) if(IOS) set(SDL_SENSOR_COREMOTION 1) set(HAVE_SDL_SENSORS TRUE) - file(GLOB SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/coremotion/*.m) + file(GLOB SENSOR_SOURCES ${SDL3_SOURCE_DIR}/src/sensor/coremotion/*.m) list(APPEND SOURCE_FILES ${SENSOR_SOURCES}) endif() endif() @@ -2167,7 +2167,7 @@ elseif(APPLE) set(SDL_FRAMEWORK_UIKIT 1) set(SDL_IPHONE_KEYBOARD 1) set(SDL_IPHONE_LAUNCHSCREEN 1) - file(GLOB UIKITVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/uikit/*.m) + file(GLOB UIKITVIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/uikit/*.m) list(APPEND SOURCE_FILES ${UIKITVIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) else() @@ -2215,7 +2215,7 @@ elseif(APPLE) set(HAVE_METAL TRUE) endif() if(SDL_RENDER_METAL) - file(GLOB RENDER_METAL_SOURCES ${SDL2_SOURCE_DIR}/src/render/metal/*.m) + file(GLOB RENDER_METAL_SOURCES ${SDL3_SOURCE_DIR}/src/render/metal/*.m) list(APPEND SOURCE_FILES ${RENDER_METAL_SOURCES}) set(SDL_VIDEO_RENDER_METAL 1) set(HAVE_RENDER_METAL TRUE) @@ -2299,27 +2299,27 @@ elseif(APPLE) elseif(HAIKU) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_HAIKU 1) - file(GLOB HAIKU_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/haiku/*.cc) + file(GLOB HAIKU_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/haiku/*.cc) list(APPEND SOURCE_FILES ${HAIKU_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_HAIKU 1) - file(GLOB HAIKU_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/haiku/*.cc) + file(GLOB HAIKU_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/haiku/*.cc) list(APPEND SOURCE_FILES ${HAIKU_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_MISC) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/haiku/*.cc) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/haiku/*.cc) list(APPEND SOURCE_FILES ${MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_HAIKU 1) - file(GLOB HAIKUVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/haiku/*.cc) + file(GLOB HAIKUVIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/haiku/*.cc) list(APPEND SOURCE_FILES ${HAIKUVIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) @@ -2335,32 +2335,32 @@ elseif(HAIKU) if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_HAIKU 1) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/haiku/*.cc) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/haiku/*.cc) list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_HAIKU 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/haiku/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/haiku/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_POWER) set(SDL_POWER_HAIKU 1) - file(GLOB HAIKU_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/haiku/*.c) + file(GLOB HAIKU_POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/haiku/*.c) list(APPEND SOURCE_FILES ${HAIKU_POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() if(SDL_LOCALE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/haiku/*.cc) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/haiku/*.cc) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() - file(GLOB MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/haiku/*.cc) + file(GLOB MAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/haiku/*.cc) list(APPEND SOURCE_FILES ${MAIN_SOURCES}) CheckPTHREAD() @@ -2368,28 +2368,28 @@ elseif(HAIKU) elseif(RISCOS) if(SDL_MISC) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/riscos/*.c) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/riscos/*.c) list(APPEND SOURCE_FILES ${MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_RISCOS 1) - file(GLOB RISCOSVIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/riscos/*.c) + file(GLOB RISCOSVIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/riscos/*.c) list(APPEND SOURCE_FILES ${RISCOSVIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_RISCOS 1) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/riscos/*.c) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/riscos/*.c) list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_UNIX 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/unix/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/unix/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) @@ -2410,70 +2410,70 @@ elseif(VITA) set(CMAKE_REQUIRED_FLAGS "-Werror=unused-command-line-argument") check_c_compiler_flag(-marm HAVE_ARM_MODE) if(HAVE_ARM_MODE) - set_property(SOURCE "${SDL2_SOURCE_DIR}/src/atomic/SDL_spinlock.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -marm") + set_property(SOURCE "${SDL3_SOURCE_DIR}/src/atomic/SDL_spinlock.c" APPEND_STRING PROPERTY COMPILE_FLAGS " -marm") endif() cmake_pop_check_state() if(SDL_MISC) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/vita/*.c) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/vita/*.c) list(APPEND SOURCE_FILES ${MISC_SOURCES}) set(HAVE_SDL_MISC TRUE) endif() if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_VITA 1) - file(GLOB VITA_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/vita/*.c) + file(GLOB VITA_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/vita/*.c) list(APPEND SOURCE_FILES ${VITA_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_VITA 1) - file(GLOB VITA_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/vita/*.c) + file(GLOB VITA_FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/vita/*.c) list(APPEND SOURCE_FILES ${VITA_FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_VITA 1) - file(GLOB VITA_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/vita/*.c) + file(GLOB VITA_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/vita/*.c) list(APPEND SOURCE_FILES ${VITA_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_POWER) set(SDL_POWER_VITA 1) - file(GLOB VITA_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/vita/*.c) + file(GLOB VITA_POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/vita/*.c) list(APPEND SOURCE_FILES ${VITA_POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() if(SDL_THREADS) set(SDL_THREAD_VITA 1) list(APPEND SOURCE_FILES - ${SDL2_SOURCE_DIR}/src/thread/vita/SDL_sysmutex.c - ${SDL2_SOURCE_DIR}/src/thread/vita/SDL_syssem.c - ${SDL2_SOURCE_DIR}/src/thread/vita/SDL_systhread.c - ${SDL2_SOURCE_DIR}/src/thread/vita/SDL_syscond.c - ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_systls.c) + ${SDL3_SOURCE_DIR}/src/thread/vita/SDL_sysmutex.c + ${SDL3_SOURCE_DIR}/src/thread/vita/SDL_syssem.c + ${SDL3_SOURCE_DIR}/src/thread/vita/SDL_systhread.c + ${SDL3_SOURCE_DIR}/src/thread/vita/SDL_syscond.c + ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c) set(HAVE_SDL_THREADS TRUE) endif() if(SDL_LOCALE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/vita/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/vita/*.c) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_VITA 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/vita/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/vita/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_SENSOR) set(SDL_SENSOR_VITA 1) set(HAVE_SDL_SENSORS TRUE) - file(GLOB VITA_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/vita/*.c) + file(GLOB VITA_SENSOR_SOURCES ${SDL3_SOURCE_DIR}/src/sensor/vita/*.c) list(APPEND SOURCE_FILES ${VITA_SENSOR_SOURCES}) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_VITA 1) - file(GLOB VITA_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/vita/*.c) + file(GLOB VITA_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/vita/*.c) list(APPEND SOURCE_FILES ${VITA_VIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) @@ -2564,65 +2564,65 @@ elseif(VITA) set(HAVE_ARMSIMD TRUE) # set(SDL_ARM_SIMD_BLITTERS 1) -# file(GLOB ARMSIMD_SOURCES ${SDL2_SOURCE_DIR}/src/video/arm/pixman-arm-simd*.S) +# file(GLOB ARMSIMD_SOURCES ${SDL3_SOURCE_DIR}/src/video/arm/pixman-arm-simd*.S) # list(APPEND SOURCE_FILES ${ARMSIMD_SOURCES}) set(HAVE_ARMNEON TRUE) # set(SDL_ARM_NEON_BLITTERS 1) -# file(GLOB ARMNEON_SOURCES ${SDL2_SOURCE_DIR}/src/video/arm/pixman-arm-neon*.S) +# file(GLOB ARMNEON_SOURCES ${SDL3_SOURCE_DIR}/src/video/arm/pixman-arm-neon*.S) # list(APPEND SOURCE_FILES ${ARMNEON_SOURCES}) -# set_property(SOURCE ${SDL2_SOURCE_DIR}/src/video/arm/pixman-arm-simd-asm.S PROPERTY LANGUAGE C) -# set_property(SOURCE ${SDL2_SOURCE_DIR}/src/video/arm/pixman-arm-neon-asm.S PROPERTY LANGUAGE C) +# set_property(SOURCE ${SDL3_SOURCE_DIR}/src/video/arm/pixman-arm-simd-asm.S PROPERTY LANGUAGE C) +# set_property(SOURCE ${SDL3_SOURCE_DIR}/src/video/arm/pixman-arm-neon-asm.S PROPERTY LANGUAGE C) target_compile_definitions(sdl-build-options INTERFACE "-D__VITA__") # CheckPTHREAD() elseif(PSP) - file(GLOB PSP_MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/psp/*.c) + file(GLOB PSP_MAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/psp/*.c) list(APPEND SDLMAIN_SOURCES ${PSP_MAIN_SOURCES}) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_PSP 1) - file(GLOB PSP_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/psp/*.c) + file(GLOB PSP_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/psp/*.c) list(APPEND SOURCE_FILES ${PSP_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_PSP 1) - file(GLOB PSP_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/psp/*.c) + file(GLOB PSP_FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/psp/*.c) list(APPEND SOURCE_FILES ${PSP_FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_PSP 1) - file(GLOB PSP_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/psp/*.c) + file(GLOB PSP_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/psp/*.c) list(APPEND SOURCE_FILES ${PSP_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_POWER) set(SDL_POWER_PSP 1) - file(GLOB PSP_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/psp/*.c) + file(GLOB PSP_POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/psp/*.c) list(APPEND SOURCE_FILES ${PSP_POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() if(SDL_THREADS) set(SDL_THREAD_PSP 1) - file(GLOB PSP_THREAD_SOURCES ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_systls.c ${SDL2_SOURCE_DIR}/src/thread/psp/*.c) + file(GLOB PSP_THREAD_SOURCES ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c ${SDL3_SOURCE_DIR}/src/thread/psp/*.c) list(APPEND SOURCE_FILES ${PSP_THREAD_SOURCES}) set(HAVE_SDL_THREADS TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_PSP 1) - file(GLOB PSP_TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/psp/*.c) + file(GLOB PSP_TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/psp/*.c) list(APPEND SOURCE_FILES ${PSP_TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_PSP 1) set(SDL_VIDEO_RENDER_PSP 1) - file(GLOB PSP_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/psp/*.c) + file(GLOB PSP_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/psp/*.c) list(APPEND SOURCE_FILES ${PSP_VIDEO_SOURCES}) set(SDL_VIDEO_OPENGL 1) set(HAVE_SDL_VIDEO TRUE) @@ -2640,50 +2640,50 @@ elseif(PSP) pspctrl psppower ) - if(NOT SDL2_DISABLE_SDL2MAIN) - list(INSERT SDL_LIBS 0 "-lSDL2main") - endif(NOT SDL2_DISABLE_SDL2MAIN) + if(NOT SDL3_DISABLE_SDL3MAIN) + list(INSERT SDL_LIBS 0 "-lSDL3main") + endif(NOT SDL3_DISABLE_SDL3MAIN) elseif(PS2) list(APPEND EXTRA_CFLAGS "-DPS2" "-D__PS2__" "-I$ENV{PS2SDK}/ports/include" "-I$ENV{PS2DEV}/gsKit/include") - file(GLOB PS2_MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/ps2/*.c) + file(GLOB PS2_MAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/ps2/*.c) set(SDLMAIN_SOURCES ${SDLMAIN_SOURCES} ${PS2_MAIN_SOURCES}) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_PS2 1) - file(GLOB PS2_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/ps2/*.c) + file(GLOB PS2_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/ps2/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${PS2_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_PS2 1) - file(GLOB PS2_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/ps2/*.c) + file(GLOB PS2_FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/ps2/*.c) list(APPEND SOURCE_FILES ${PS2_FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_PS2 1) - file(GLOB PS2_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/ps2/*.c) + file(GLOB PS2_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/ps2/*.c) list(APPEND SOURCE_FILES ${PS2_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_THREADS) set(SDL_THREAD_PS2 1) - file(GLOB PS2_THREAD_SOURCES ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_systls.c ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_sysmutex.c ${SDL2_SOURCE_DIR}/src/thread/ps2/*.c) + file(GLOB PS2_THREAD_SOURCES ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_sysmutex.c ${SDL3_SOURCE_DIR}/src/thread/ps2/*.c) list(APPEND SOURCE_FILES ${PS2_THREAD_SOURCES}) set(HAVE_SDL_THREADS TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_PS2 1) - file(GLOB PS2_TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/ps2/*.c) + file(GLOB PS2_TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/ps2/*.c) list(APPEND SOURCE_FILES ${PS2_TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_PS2 1) set(SDL_VIDEO_RENDER_PS2 1) - file(GLOB PS2_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/ps2/*.c ${SDL2_SOURCE_DIR}/src/render/ps2/*.c) + file(GLOB PS2_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/ps2/*.c ${SDL3_SOURCE_DIR}/src/render/ps2/*.c) list(APPEND SOURCE_FILES ${PS2_VIDEO_SOURCES}) set(SDL_VIDEO_OPENGL 0) set(HAVE_SDL_VIDEO TRUE) @@ -2699,57 +2699,57 @@ elseif(PS2) elseif(OS2) list(APPEND EXTRA_CFLAGS "-DOS2EMX_PLAIN_CHAR") - file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/os2/*.c) + file(GLOB CORE_SOURCES ${SDL3_SOURCE_DIR}/src/core/os2/*.c) list(APPEND SOURCE_FILES ${CORE_SOURCES}) if(NOT (HAVE_ICONV AND HAVE_ICONV_H)) - file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/os2/geniconv/*.c) + file(GLOB CORE_SOURCES ${SDL3_SOURCE_DIR}/src/core/os2/geniconv/*.c) list(APPEND SOURCE_FILES ${CORE_SOURCES}) endif() if(SDL_THREADS) set(SDL_THREAD_OS2 1) - file(GLOB OS2_THREAD_SOURCES ${SDL2_SOURCE_DIR}/src/thread/os2/*.c) + file(GLOB OS2_THREAD_SOURCES ${SDL3_SOURCE_DIR}/src/thread/os2/*.c) list(APPEND SOURCE_FILES ${OS2_THREAD_SOURCES}) set(HAVE_SDL_THREADS TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_UNIX 1) - file(GLOB OS2_TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/os2/*.c) + file(GLOB OS2_TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/os2/*.c) list(APPEND SOURCE_FILES ${OS2_TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_LOADSO) set(SDL_LOADSO_OS2 1) - file(GLOB OS2_LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/os2/*.c) + file(GLOB OS2_LOADSO_SOURCES ${SDL3_SOURCE_DIR}/src/loadso/os2/*.c) list(APPEND SOURCE_FILES ${OS2_LOADSO_SOURCES}) set(HAVE_SDL_LOADSO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_OS2 1) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/os2/*.c) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/os2/*.c) list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_LOCALE) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/unix/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/unix/*.c) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_OS2 1) - file(GLOB OS2_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/os2/*.c) + file(GLOB OS2_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/os2/*.c) list(APPEND SOURCE_FILES ${OS2_VIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) endif() if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_OS2 1) - file(GLOB OS2_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/os2/*.c) + file(GLOB OS2_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/os2/*.c) list(APPEND SOURCE_FILES ${OS2_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) list(APPEND EXTRA_LIBS mmpm2) @@ -2757,7 +2757,7 @@ elseif(OS2) if(SDL_JOYSTICK) set(SDL_JOYSTICK_OS2 1) - file(GLOB OS2_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/os2/*.c) + file(GLOB OS2_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/os2/*.c) list(APPEND SOURCE_FILES ${OS2_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() @@ -2767,74 +2767,74 @@ elseif(OS2) endif() elseif(N3DS) - file(GLOB N3DS_MAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/n3ds/*.c) + file(GLOB N3DS_MAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/n3ds/*.c) set(SDLMAIN_SOURCES ${SDLMAIN_SOURCES} ${N3DS_MAIN_SOURCES}) if(SDL_AUDIO) set(SDL_AUDIO_DRIVER_N3DS 1) - file(GLOB N3DS_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/n3ds/*.c) + file(GLOB N3DS_AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_AUDIO_SOURCES}) set(HAVE_SDL_AUDIO TRUE) endif() if(SDL_FILESYSTEM) set(SDL_FILESYSTEM_N3DS 1) - file(GLOB N3DS_FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/n3ds/*.c) + file(GLOB N3DS_FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_FILESYSTEM_SOURCES}) set(HAVE_SDL_FILESYSTEM TRUE) endif() if(SDL_JOYSTICK) set(SDL_JOYSTICK_N3DS 1) - file(GLOB N3DS_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/n3ds/*.c) + file(GLOB N3DS_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_JOYSTICK_SOURCES}) set(HAVE_SDL_JOYSTICK TRUE) endif() if(SDL_POWER) set(SDL_POWER_N3DS 1) - file(GLOB N3DS_POWER_SOURCES ${SDL2_SOURCE_DIR}/src/power/n3ds/*.c) + file(GLOB N3DS_POWER_SOURCES ${SDL3_SOURCE_DIR}/src/power/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_POWER_SOURCES}) set(HAVE_SDL_POWER TRUE) endif() if(SDL_THREADS) set(SDL_THREAD_N3DS 1) - file(GLOB N3DS_THREAD_SOURCES ${SDL2_SOURCE_DIR}/src/thread/n3ds/*.c) - list(APPEND SOURCE_FILES ${N3DS_THREAD_SOURCES} ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_systls.c) + file(GLOB N3DS_THREAD_SOURCES ${SDL3_SOURCE_DIR}/src/thread/n3ds/*.c) + list(APPEND SOURCE_FILES ${N3DS_THREAD_SOURCES} ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_systls.c) set(HAVE_SDL_THREADS TRUE) endif() if(SDL_TIMERS) set(SDL_TIMER_N3DS 1) - file(GLOB N3DS_TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/n3ds/*.c) + file(GLOB N3DS_TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_TIMER_SOURCES}) set(HAVE_SDL_TIMERS TRUE) endif() if(SDL_SENSOR) set(SDL_SENSOR_N3DS 1) - file(GLOB N3DS_SENSOR_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/n3ds/*.c) + file(GLOB N3DS_SENSOR_SOURCES ${SDL3_SOURCE_DIR}/src/sensor/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_SENSOR_SOURCES}) set(HAVE_SDL_SENSORS TRUE) endif() if(SDL_VIDEO) set(SDL_VIDEO_DRIVER_N3DS 1) - file(GLOB N3DS_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/n3ds/*.c) + file(GLOB N3DS_VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_VIDEO_SOURCES}) set(HAVE_SDL_VIDEO TRUE) endif() if(SDL_LOCALE) - file(GLOB N3DS_LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/n3ds/*.c) + file(GLOB N3DS_LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_LOCALE_SOURCES}) set(HAVE_SDL_LOCALE TRUE) endif() # Requires the n3ds file implementation if(SDL_FILE) - file(GLOB N3DS_FILE_SOURCES ${SDL2_SOURCE_DIR}/src/file/n3ds/*.c) + file(GLOB N3DS_FILE_SOURCES ${SDL3_SOURCE_DIR}/src/file/n3ds/*.c) list(APPEND SOURCE_FILES ${N3DS_FILE_SOURCES}) set(HAVE_SDL_FILE TRUE) else() @@ -2861,47 +2861,47 @@ CheckLibSampleRate() # src/X/*.c does not get included. if(NOT HAVE_SDL_AUDIO) set(SDL_AUDIO_DRIVER_DUMMY 1) - file(GLOB AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/dummy/*.c) + file(GLOB AUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/dummy/*.c) list(APPEND SOURCE_FILES ${AUDIO_SOURCES}) endif() if(NOT HAVE_SDL_VIDEO) set(SDL_VIDEO_DRIVER_DUMMY 1) - file(GLOB VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/dummy/*.c) + file(GLOB VIDEO_SOURCES ${SDL3_SOURCE_DIR}/src/video/dummy/*.c) list(APPEND SOURCE_FILES ${VIDEO_SOURCES}) endif() if(NOT HAVE_SDL_JOYSTICK) set(SDL_JOYSTICK_DUMMY 1) - file(GLOB JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/dummy/*.c) + file(GLOB JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/dummy/*.c) list(APPEND SOURCE_FILES ${JOYSTICK_SOURCES}) endif() if(NOT HAVE_SDL_HAPTIC) set(SDL_HAPTIC_DUMMY 1) - file(GLOB HAPTIC_SOURCES ${SDL2_SOURCE_DIR}/src/haptic/dummy/*.c) + file(GLOB HAPTIC_SOURCES ${SDL3_SOURCE_DIR}/src/haptic/dummy/*.c) list(APPEND SOURCE_FILES ${HAPTIC_SOURCES}) endif() if(NOT HAVE_SDL_SENSORS) set(SDL_SENSOR_DUMMY 1) - file(GLOB SENSORS_SOURCES ${SDL2_SOURCE_DIR}/src/sensor/dummy/*.c) + file(GLOB SENSORS_SOURCES ${SDL3_SOURCE_DIR}/src/sensor/dummy/*.c) list(APPEND SOURCE_FILES ${SENSORS_SOURCES}) endif() if(NOT HAVE_SDL_LOADSO) set(SDL_LOADSO_DUMMY 1) - file(GLOB LOADSO_SOURCES ${SDL2_SOURCE_DIR}/src/loadso/dummy/*.c) + file(GLOB LOADSO_SOURCES ${SDL3_SOURCE_DIR}/src/loadso/dummy/*.c) list(APPEND SOURCE_FILES ${LOADSO_SOURCES}) endif() if(NOT HAVE_SDL_FILESYSTEM) set(SDL_FILESYSTEM_DUMMY 1) - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/dummy/*.c) + file(GLOB FILESYSTEM_SOURCES ${SDL3_SOURCE_DIR}/src/filesystem/dummy/*.c) list(APPEND SOURCE_FILES ${FILESYSTEM_SOURCES}) endif() if(NOT HAVE_SDL_LOCALE) set(SDL_LOCALE_DUMMY 1) - file(GLOB LOCALE_SOURCES ${SDL2_SOURCE_DIR}/src/locale/dummy/*.c) + file(GLOB LOCALE_SOURCES ${SDL3_SOURCE_DIR}/src/locale/dummy/*.c) list(APPEND SOURCE_FILES ${LOCALE_SOURCES}) endif() if(NOT HAVE_SDL_MISC) set(SDL_MISC_DUMMY 1) - file(GLOB MISC_SOURCES ${SDL2_SOURCE_DIR}/src/misc/dummy/*.c) + file(GLOB MISC_SOURCES ${SDL3_SOURCE_DIR}/src/misc/dummy/*.c) list(APPEND SOURCE_FILES ${MISC_SOURCES}) endif() @@ -2910,7 +2910,7 @@ if(NOT HAVE_SDL_THREADS) # The emscripten platform has been carefully vetted to work without threads if (EMSCRIPTEN) set(SDL_THREADS_DISABLED 1) - file(GLOB THREADS_SOURCES ${SDL2_SOURCE_DIR}/src/thread/generic/*.c) + file(GLOB THREADS_SOURCES ${SDL3_SOURCE_DIR}/src/thread/generic/*.c) list(APPEND SOURCE_FILES ${THREADS_SOURCES}) else() message_error("Threads are needed by many SDL subsystems and may not be disabled") @@ -2918,12 +2918,12 @@ if(NOT HAVE_SDL_THREADS) endif() if(NOT HAVE_SDL_TIMERS) set(SDL_TIMER_DUMMY 1) - file(GLOB TIMER_SOURCES ${SDL2_SOURCE_DIR}/src/timer/dummy/*.c) + file(GLOB TIMER_SOURCES ${SDL3_SOURCE_DIR}/src/timer/dummy/*.c) list(APPEND SOURCE_FILES ${TIMER_SOURCES}) endif() if(NOT SDLMAIN_SOURCES) - file(GLOB SDLMAIN_SOURCES ${SDL2_SOURCE_DIR}/src/main/dummy/*.c) + file(GLOB SDLMAIN_SOURCES ${SDL3_SOURCE_DIR}/src/main/dummy/*.c) endif() # Append the -MMD -MT flags @@ -2935,15 +2935,15 @@ endif() # config variables may contain generator expression, so we need to generate SDL_config.h in 2 steps: # 1. replace all `#cmakedefine`'s and `@abc@` -configure_file("${SDL2_SOURCE_DIR}/include/SDL_config.h.cmake" - "${SDL2_BINARY_DIR}/SDL_config.h.intermediate") +configure_file("${SDL3_SOURCE_DIR}/include/SDL_config.h.cmake" + "${SDL3_BINARY_DIR}/SDL_config.h.intermediate") # 2. Create the "include-config-${CMAKE_BUILD_TYPE}" folder (fails on older CMake versions when it does not exist) string(TOLOWER "${CMAKE_BUILD_TYPE}" lower_build_type) execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/include-config-${lower_build_type}") # 3. generate SDL_config in an build_type-dependent folder (which should be first in the include search path) file(GENERATE - OUTPUT "${SDL2_BINARY_DIR}/include-config-$>/SDL_config.h" - INPUT "${SDL2_BINARY_DIR}/SDL_config.h.intermediate") + OUTPUT "${SDL3_BINARY_DIR}/include-config-$>/SDL_config.h" + INPUT "${SDL3_BINARY_DIR}/SDL_config.h.intermediate") # Prepare the flags and remove duplicates if(EXTRA_LDFLAGS) @@ -2992,32 +2992,32 @@ else() set(SDL_REVISION "SDL-${SDL_VERSION}-no-vcs") endif() -configure_file("${SDL2_SOURCE_DIR}/include/SDL_revision.h.cmake" - "${SDL2_BINARY_DIR}/include/SDL_revision.h") +configure_file("${SDL3_SOURCE_DIR}/include/SDL_revision.h.cmake" + "${SDL3_BINARY_DIR}/include/SDL_revision.h") -# Copy all non-generated headers to "${SDL2_BINARY_DIR}/include" +# Copy all non-generated headers to "${SDL3_BINARY_DIR}/include" # This is done to avoid the inclusion of a pre-generated SDL_config.h -file(GLOB SDL2_INCLUDE_FILES ${SDL2_SOURCE_DIR}/include/*.h) -set(SDL2_COPIED_INCLUDE_FILES) -foreach(_hdr IN LISTS SDL2_INCLUDE_FILES) +file(GLOB SDL3_INCLUDE_FILES ${SDL3_SOURCE_DIR}/include/*.h) +set(SDL3_COPIED_INCLUDE_FILES) +foreach(_hdr IN LISTS SDL3_INCLUDE_FILES) if(_hdr MATCHES ".*(SDL_config|SDL_revision).*") - list(REMOVE_ITEM SDL2_INCLUDE_FILES "${_hdr}") + list(REMOVE_ITEM SDL3_INCLUDE_FILES "${_hdr}") else() get_filename_component(_name "${_hdr}" NAME) - set(_bin_hdr "${SDL2_BINARY_DIR}/include/${_name}") - list(APPEND SDL2_COPIED_INCLUDE_FILES "${_bin_hdr}") + set(_bin_hdr "${SDL3_BINARY_DIR}/include/${_name}") + list(APPEND SDL3_COPIED_INCLUDE_FILES "${_bin_hdr}") add_custom_command(OUTPUT "${_bin_hdr}" COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_hdr}" "${_bin_hdr}" DEPENDS "${_hdr}") endif() endforeach() -list(APPEND SDL_GENERATED_HEADERS ${SDL2_COPIED_INCLUDE_FILES}) +list(APPEND SDL_GENERATED_HEADERS ${SDL3_COPIED_INCLUDE_FILES}) if(CMAKE_STATIC_LIBRARY_PREFIX STREQUAL "" AND CMAKE_STATIC_LIBRARY_SUFFIX STREQUAL ".lib") # Avoid conflict between the dll import library and the static library - set(sdl_static_libname "SDL2-static") + set(sdl_static_libname "SDL3-static") else() - set(sdl_static_libname "SDL2") + set(sdl_static_libname "SDL3") endif() set(prefix ${CMAKE_INSTALL_PREFIX}) @@ -3055,24 +3055,24 @@ listtostr(SDL_LIBS _SDL_LIBS) set(SDL_LIBS ${_SDL_LIBS}) listtostr(SDL_CFLAGS _SDL_CFLAGS "") set(SDL_CFLAGS ${_SDL_CFLAGS}) -string(REGEX REPLACE "-lSDL2( |$)" "-l${sdl_static_libname} " SDL_STATIC_LIBS "${SDL_STATIC_LIBS}") +string(REGEX REPLACE "-lSDL3( |$)" "-l${sdl_static_libname} " SDL_STATIC_LIBS "${SDL_STATIC_LIBS}") if(NOT SDL_SHARED) - string(REGEX REPLACE "-lSDL2( |$)" "-l${sdl_static_libname} " SDL_LIBS "${SDL_LIBS}") + string(REGEX REPLACE "-lSDL3( |$)" "-l${sdl_static_libname} " SDL_LIBS "${SDL_LIBS}") endif() -if(SDL_STATIC AND SDL_SHARED AND NOT sdl_static_libname STREQUAL "SDL2") - message(STATUS "\"pkg-config --static --libs sdl2\" will return invalid information") +if(SDL_STATIC AND SDL_SHARED AND NOT sdl_static_libname STREQUAL "SDL3") + message(STATUS "\"pkg-config --static --libs sdl3\" will return invalid information") endif() # MESSAGE(STATUS "SDL_LIBS: ${SDL_LIBS}") # MESSAGE(STATUS "SDL_STATIC_LIBS: ${SDL_STATIC_LIBS}") -configure_file("${SDL2_SOURCE_DIR}/sdl2.pc.in" - "${SDL2_BINARY_DIR}/sdl2.pc" @ONLY) -configure_file("${SDL2_SOURCE_DIR}/sdl2-config.in" - "${SDL2_BINARY_DIR}/sdl2-config" @ONLY) -configure_file("${SDL2_SOURCE_DIR}/SDL2.spec.in" - "${SDL2_BINARY_DIR}/SDL2.spec" @ONLY) +configure_file("${SDL3_SOURCE_DIR}/sdl3.pc.in" + "${SDL3_BINARY_DIR}/sdl3.pc" @ONLY) +configure_file("${SDL3_SOURCE_DIR}/sdl3-config.in" + "${SDL3_BINARY_DIR}/sdl3-config" @ONLY) +configure_file("${SDL3_SOURCE_DIR}/SDL3.spec.in" + "${SDL3_BINARY_DIR}/SDL3.spec" @ONLY) macro(check_add_debug_flag FLAG SUFFIX) check_c_compiler_flag(${FLAG} HAS_C_FLAG_${SUFFIX}) @@ -3162,7 +3162,7 @@ add_custom_target(sdl_headers_copy ##### Info output ##### message(STATUS "") -message(STATUS "SDL2 was configured with the following options:") +message(STATUS "SDL3 was configured with the following options:") message(STATUS "") message(STATUS "Platform: ${CMAKE_SYSTEM}") message(STATUS "64-bit: ${ARCH_64}") @@ -3229,27 +3229,27 @@ endif() # Ensure that the extra cflags are used at compile time set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} ${EXTRA_CFLAGS_BUILD}") -if(NOT WINDOWS_STORE AND NOT SDL2_DISABLE_SDL2MAIN) +if(NOT WINDOWS_STORE AND NOT SDL3_DISABLE_SDL3MAIN) # Build SDLmain - add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) - add_dependencies(SDL2main sdl_headers_copy) + add_library(SDL3main STATIC ${SDLMAIN_SOURCES}) + add_dependencies(SDL3main sdl_headers_copy) # alias target for in-tree builds - add_library(SDL2::SDL2main ALIAS SDL2main) - target_include_directories(SDL2main BEFORE PRIVATE "${SDL2_BINARY_DIR}/include" PRIVATE "${SDL2_BINARY_DIR}/include-config-$>") - target_include_directories(SDL2main PUBLIC "$" $ $) + add_library(SDL3::SDL3main ALIAS SDL3main) + target_include_directories(SDL3main BEFORE PRIVATE "${SDL3_BINARY_DIR}/include" PRIVATE "${SDL3_BINARY_DIR}/include-config-$>") + target_include_directories(SDL3main PUBLIC "$" $ $) if (WIN32) - target_link_libraries(SDL2main PRIVATE shell32) + target_link_libraries(SDL3main PRIVATE shell32) endif() if(MINGW OR CYGWIN) cmake_minimum_required(VERSION 3.13) if(CMAKE_SIZEOF_VOID_P EQUAL 4) - target_link_options(SDL2main PUBLIC "$<$,EXECUTABLE>:-Wl,--undefined=_WinMain@16>") + target_link_options(SDL3main PUBLIC "$<$,EXECUTABLE>:-Wl,--undefined=_WinMain@16>") else() - target_link_options(SDL2main PUBLIC "$<$,EXECUTABLE>:-Wl,--undefined=WinMain>") + target_link_options(SDL3main PUBLIC "$<$,EXECUTABLE>:-Wl,--undefined=WinMain>") endif() endif() if (NOT ANDROID) - set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") + set_target_properties(SDL3main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") endif() endif() @@ -3275,98 +3275,98 @@ if(APPLE) endif() if(SDL_SHARED) - add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES}) - add_dependencies(SDL2 sdl_headers_copy) + add_library(SDL3 SHARED ${SOURCE_FILES} ${VERSION_SOURCES}) + add_dependencies(SDL3 sdl_headers_copy) # alias target for in-tree builds - add_library(SDL2::SDL2 ALIAS SDL2) - set_target_properties(SDL2 PROPERTIES POSITION_INDEPENDENT_CODE TRUE) + add_library(SDL3::SDL3 ALIAS SDL3) + set_target_properties(SDL3 PROPERTIES POSITION_INDEPENDENT_CODE TRUE) if(NOT SDL_LIBC) check_cpu_architecture(x86 HAS_X86) if(HAS_X86) # FIXME: should be added for all architectures (missing symbols for ARM) - target_link_libraries(SDL2 PRIVATE "-nodefaultlib:MSVCRT") + target_link_libraries(SDL3 PRIVATE "-nodefaultlib:MSVCRT") endif() endif() if(APPLE) # FIXME: Remove SOVERSION in SDL3 - set_target_properties(SDL2 PROPERTIES + set_target_properties(SDL3 PROPERTIES MACOSX_RPATH 1 SOVERSION 0 - OUTPUT_NAME "SDL2-${LT_RELEASE}") + OUTPUT_NAME "SDL3-${LT_RELEASE}") elseif(UNIX AND NOT ANDROID) - set_target_properties(SDL2 PROPERTIES + set_target_properties(SDL3 PROPERTIES VERSION ${LT_VERSION} SOVERSION ${LT_MAJOR} - OUTPUT_NAME "SDL2-${LT_RELEASE}") + OUTPUT_NAME "SDL3-${LT_RELEASE}") else() if(WINDOWS OR CYGWIN) - set_target_properties(SDL2 PROPERTIES + set_target_properties(SDL3 PROPERTIES DEFINE_SYMBOL DLL_EXPORT) elseif(OS2) - set_target_properties(SDL2 PROPERTIES + set_target_properties(SDL3 PROPERTIES DEFINE_SYMBOL BUILD_SDL) endif() - set_target_properties(SDL2 PROPERTIES + set_target_properties(SDL3 PROPERTIES VERSION ${SDL_VERSION} SOVERSION ${LT_REVISION} - OUTPUT_NAME "SDL2") + OUTPUT_NAME "SDL3") endif() # Note: The clang toolset for Visual Studio does not support /NODEFAULTLIB. if(MSVC AND NOT SDL_LIBC AND NOT MSVC_CLANG AND NOT CMAKE_GENERATOR_PLATFORM STREQUAL "ARM") # Don't try to link with the default set of libraries. if(NOT WINDOWS_STORE) - set_target_properties(SDL2 PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB") - set_target_properties(SDL2 PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB") + set_target_properties(SDL3 PROPERTIES LINK_FLAGS_RELEASE "/NODEFAULTLIB") + set_target_properties(SDL3 PROPERTIES LINK_FLAGS_DEBUG "/NODEFAULTLIB") endif() - set_target_properties(SDL2 PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB") + set_target_properties(SDL3 PROPERTIES STATIC_LIBRARY_FLAGS "/NODEFAULTLIB") endif() # FIXME: if CMAKE_VERSION >= 3.13, use target_link_options for EXTRA_LDFLAGS - target_link_libraries(SDL2 PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS} ${EXTRA_LDFLAGS_BUILD}) - target_include_directories(SDL2 PUBLIC - "$" - "$>>" + target_link_libraries(SDL3 PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS} ${EXTRA_LDFLAGS_BUILD}) + target_include_directories(SDL3 PUBLIC + "$" + "$>>" "$" - "$") + "$") # This picks up all the compiler options and such we've accumulated up to here. - target_link_libraries(SDL2 PRIVATE $) + target_link_libraries(SDL3 PRIVATE $) if(MINGW OR CYGWIN) if(NOT CMAKE_VERSION VERSION_LESS "3.13") - target_link_options(SDL2 PRIVATE -static-libgcc) + target_link_options(SDL3 PRIVATE -static-libgcc) endif() endif() if(NOT ANDROID) - set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") + set_target_properties(SDL3 PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") endif() # Use `Compatible Interface Properties` to allow consumers to enforce a shared/static library - set_property(TARGET SDL2 PROPERTY INTERFACE_SDL2_SHARED TRUE) - set_property(TARGET SDL2 APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL2_SHARED) + set_property(TARGET SDL3 PROPERTY INTERFACE_SDL3_SHARED TRUE) + set_property(TARGET SDL3 APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL3_SHARED) endif() if(SDL_STATIC) - add_library(SDL2-static STATIC ${SOURCE_FILES}) - add_dependencies(SDL2-static sdl_headers_copy) + add_library(SDL3-static STATIC ${SOURCE_FILES}) + add_dependencies(SDL3-static sdl_headers_copy) # alias target for in-tree builds - add_library(SDL2::SDL2-static ALIAS SDL2-static) - set_target_properties(SDL2-static PROPERTIES + add_library(SDL3::SDL3-static ALIAS SDL3-static) + set_target_properties(SDL3-static PROPERTIES OUTPUT_NAME "${sdl_static_libname}" POSITION_INDEPENDENT_CODE "${SDL_STATIC_PIC}") - target_compile_definitions(SDL2-static PRIVATE SDL_STATIC_LIB) + target_compile_definitions(SDL3-static PRIVATE SDL_STATIC_LIB) # TODO: Win32 platforms keep the same suffix .lib for import and static # libraries - do we need to consider this? - target_link_libraries(SDL2-static PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) - target_include_directories(SDL2-static PUBLIC - "$" - "$>>" + target_link_libraries(SDL3-static PRIVATE ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) + target_include_directories(SDL3-static PUBLIC + "$" + "$>>" "$" - "$") + "$") # This picks up all the compiler options and such we've accumulated up to here. - target_link_libraries(SDL2-static PRIVATE $) + target_link_libraries(SDL3-static PRIVATE $) if(NOT ANDROID) - set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") + set_target_properties(SDL3-static PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") endif() # Use `Compatible Interface Properties` to allow consumers to enforce a shared/static library - set_property(TARGET SDL2-static PROPERTY INTERFACE_SDL2_SHARED FALSE) - set_property(TARGET SDL2-static APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL2_SHARED) + set_property(TARGET SDL3-static PROPERTY INTERFACE_SDL3_SHARED FALSE) + set_property(TARGET SDL3-static APPEND PROPERTY COMPATIBLE_INTERFACE_BOOL SDL3_SHARED) endif() set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSDL_BUILD_MAJOR_VERSION=${SDL_MAJOR_VERSION}") @@ -3376,45 +3376,45 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DSDL_BUILD_MICRO_VERSION=${SDL_MICRO_VERSIO ##### Tests ##### if(SDL_TEST) - file(GLOB TEST_SOURCES ${SDL2_SOURCE_DIR}/src/test/*.c) - add_library(SDL2_test STATIC ${TEST_SOURCES}) - add_dependencies(SDL2_test sdl_headers_copy) - add_library(SDL2::SDL2test ALIAS SDL2_test) - set_target_properties(SDL2_test PROPERTIES - EXPORT_NAME SDL2test) - target_include_directories(SDL2_test PUBLIC - "$" - "$>>" + file(GLOB TEST_SOURCES ${SDL3_SOURCE_DIR}/src/test/*.c) + add_library(SDL3_test STATIC ${TEST_SOURCES}) + add_dependencies(SDL3_test sdl_headers_copy) + add_library(SDL3::SDL3test ALIAS SDL3_test) + set_target_properties(SDL3_test PROPERTIES + EXPORT_NAME SDL3test) + target_include_directories(SDL3_test PUBLIC + "$" + "$>>" "$" - "$") - target_link_libraries(SDL2_test PRIVATE ${EXTRA_TEST_LIBS}) + "$") + target_link_libraries(SDL3_test PRIVATE ${EXTRA_TEST_LIBS}) endif() ##### Installation targets ##### -if(NOT SDL2_DISABLE_INSTALL) +if(NOT SDL3_DISABLE_INSTALL) if(SDL_SHARED) - install(TARGETS SDL2 EXPORT SDL2Targets + install(TARGETS SDL3 EXPORT SDL3Targets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") endif() - if(NOT WINDOWS_STORE AND NOT SDL2_DISABLE_SDL2MAIN) - install(TARGETS SDL2main EXPORT SDL2mainTargets + if(NOT WINDOWS_STORE AND NOT SDL3_DISABLE_SDL3MAIN) + install(TARGETS SDL3main EXPORT SDL3mainTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") endif() if(SDL_STATIC) - install(TARGETS SDL2-static EXPORT SDL2staticTargets + install(TARGETS SDL3-static EXPORT SDL3staticTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") endif() if(SDL_TEST) - install(TARGETS SDL2_test EXPORT SDL2testTargets + install(TARGETS SDL3_test EXPORT SDL3testTargets LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}" ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}") @@ -3423,85 +3423,85 @@ if(NOT SDL2_DISABLE_INSTALL) ##### Export files ##### if (WINDOWS AND NOT MINGW) set(SDL_INSTALL_CMAKEDIR_DEFAULT "cmake") - set(LICENSES_PREFIX "licenses/SDL2") + set(LICENSES_PREFIX "licenses/SDL3") else () - set(SDL_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL2") + set(SDL_INSTALL_CMAKEDIR_DEFAULT "${CMAKE_INSTALL_LIBDIR}/cmake/SDL3") set(LICENSES_PREFIX "${CMAKE_INSTALL_DATAROOTDIR}/licenses/${PROJECT_NAME}") endif () - set(SDL_INSTALL_CMAKEDIR "${SDL_INSTALL_CMAKEDIR_DEFAULT}" CACHE STRING "Location where to install SDL2Config.cmake") + set(SDL_INSTALL_CMAKEDIR "${SDL_INSTALL_CMAKEDIR_DEFAULT}" CACHE STRING "Location where to install SDL3Config.cmake") include(CMakePackageConfigHelpers) - configure_package_config_file(SDL2Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/SDL2Config.cmake" + configure_package_config_file(SDL3Config.cmake.in "${CMAKE_CURRENT_BINARY_DIR}/SDL3Config.cmake" PATH_VARS CMAKE_INSTALL_PREFIX CMAKE_INSTALL_FULL_BINDIR CMAKE_INSTALL_FULL_INCLUDEDIR CMAKE_INSTALL_FULL_LIBDIR INSTALL_DESTINATION "${SDL_INSTALL_CMAKEDIR}" ) - write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/SDL2ConfigVersion.cmake" + write_basic_package_version_file("${CMAKE_CURRENT_BINARY_DIR}/SDL3ConfigVersion.cmake" VERSION ${SDL_VERSION} COMPATIBILITY AnyNewerVersion ) if(SDL_SHARED) - install(EXPORT SDL2Targets - FILE SDL2Targets.cmake - NAMESPACE SDL2:: + install(EXPORT SDL3Targets + FILE SDL3Targets.cmake + NAMESPACE SDL3:: DESTINATION "${SDL_INSTALL_CMAKEDIR}" ) if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) - install(EXPORT_ANDROID_MK SDL2Targets - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2") + install(EXPORT_ANDROID_MK SDL3Targets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL3") endif() endif() - if(NOT WINDOWS_STORE AND NOT SDL2_DISABLE_SDL2MAIN) - install(EXPORT SDL2mainTargets - FILE SDL2mainTargets.cmake - NAMESPACE SDL2:: + if(NOT WINDOWS_STORE AND NOT SDL3_DISABLE_SDL3MAIN) + install(EXPORT SDL3mainTargets + FILE SDL3mainTargets.cmake + NAMESPACE SDL3:: DESTINATION "${SDL_INSTALL_CMAKEDIR}" ) if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) - install(EXPORT_ANDROID_MK SDL2mainTargets - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2main") + install(EXPORT_ANDROID_MK SDL3mainTargets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL3main") endif() endif() if(SDL_STATIC) - install(EXPORT SDL2staticTargets - FILE SDL2staticTargets.cmake - NAMESPACE SDL2:: + install(EXPORT SDL3staticTargets + FILE SDL3staticTargets.cmake + NAMESPACE SDL3:: DESTINATION "${SDL_INSTALL_CMAKEDIR}" ) if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) - install(EXPORT_ANDROID_MK SDL2staticTargets - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2-static") + install(EXPORT_ANDROID_MK SDL3staticTargets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL3-static") endif() endif() if(SDL_TEST) - install(EXPORT SDL2testTargets - FILE SDL2testTargets.cmake - NAMESPACE SDL2:: + install(EXPORT SDL3testTargets + FILE SDL3testTargets.cmake + NAMESPACE SDL3:: DESTINATION "${SDL_INSTALL_CMAKEDIR}" ) if(ANDROID AND NOT CMAKE_VERSION VERSION_LESS 3.7) - install(EXPORT_ANDROID_MK SDL2testTargets - DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL2test") + install(EXPORT_ANDROID_MK SDL3testTargets + DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/ndk-modules/SDL3test") endif() endif() install( FILES - ${CMAKE_CURRENT_BINARY_DIR}/SDL2Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/SDL2ConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/SDL3Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/SDL3ConfigVersion.cmake DESTINATION "${SDL_INSTALL_CMAKEDIR}" COMPONENT Devel ) install( FILES - ${SDL2_INCLUDE_FILES} - "${SDL2_BINARY_DIR}/include/SDL_revision.h" - "${SDL2_BINARY_DIR}/include-config-$>/SDL_config.h" - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SDL2) + ${SDL3_INCLUDE_FILES} + "${SDL3_BINARY_DIR}/include/SDL_revision.h" + "${SDL3_BINARY_DIR}/include-config-$>/SDL_config.h" + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/SDL3) string(TOUPPER "${CMAKE_BUILD_TYPE}" UPPER_BUILD_TYPE) if (UPPER_BUILD_TYPE MATCHES DEBUG) @@ -3513,32 +3513,32 @@ if(NOT SDL2_DISABLE_INSTALL) install(FILES "LICENSE.txt" DESTINATION "${LICENSES_PREFIX}") if(FREEBSD) # FreeBSD uses ${PREFIX}/libdata/pkgconfig - install(FILES ${SDL2_BINARY_DIR}/sdl2.pc DESTINATION "libdata/pkgconfig") + install(FILES ${SDL3_BINARY_DIR}/sdl3.pc DESTINATION "libdata/pkgconfig") else() - install(FILES ${SDL2_BINARY_DIR}/sdl2.pc + install(FILES ${SDL3_BINARY_DIR}/sdl3.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") endif() if(NOT (WINDOWS OR CYGWIN) OR MINGW) if(SDL_SHARED) set(SOEXT ${CMAKE_SHARED_LIBRARY_SUFFIX}) # ".so", ".dylib", etc. - get_target_property(SONAME SDL2 OUTPUT_NAME) + get_target_property(SONAME SDL3 OUTPUT_NAME) if(NOT ANDROID AND NOT MINGW AND NOT OS2) install(CODE " execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink - \"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL2${SOPOSTFIX}${SOEXT}\" - WORKING_DIRECTORY \"${SDL2_BINARY_DIR}\")") - install(FILES ${SDL2_BINARY_DIR}/libSDL2${SOPOSTFIX}${SOEXT} DESTINATION "${CMAKE_INSTALL_LIBDIR}") + \"lib${SONAME}${SOPOSTFIX}${SOEXT}\" \"libSDL3${SOPOSTFIX}${SOEXT}\" + WORKING_DIRECTORY \"${SDL3_BINARY_DIR}\")") + install(FILES ${SDL3_BINARY_DIR}/libSDL3${SOPOSTFIX}${SOEXT} DESTINATION "${CMAKE_INSTALL_LIBDIR}") endif() endif() - install(PROGRAMS ${SDL2_BINARY_DIR}/sdl2-config DESTINATION "${CMAKE_INSTALL_BINDIR}") + install(PROGRAMS ${SDL3_BINARY_DIR}/sdl3-config DESTINATION "${CMAKE_INSTALL_BINDIR}") # TODO: what about the .spec file? Is it only needed for RPM creation? - install(FILES "${SDL2_SOURCE_DIR}/sdl2.m4" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/aclocal") + install(FILES "${SDL3_SOURCE_DIR}/sdl3.m4" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/aclocal") endif() endif() ##### Uninstall target ##### -if(NOT SDL2_DISABLE_UNINSTALL) +if(NOT SDL3_DISABLE_UNINSTALL) if(NOT TARGET uninstall) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in" @@ -3561,7 +3561,7 @@ endif() ##### Fix Objective C builds ##### set(CMAKE_OBJC_FLAGS "${CMAKE_OBJC_FLAGS} ${CMAKE_C_FLAGS}") -# Make sure SDL2::SDL2 always exists -if(TARGET SDL2::SDL2-static AND NOT TARGET SDL2::SDL2) - add_library(SDL2::SDL2 ALIAS SDL2-static) +# Make sure SDL3::SDL3 always exists +if(TARGET SDL3::SDL3-static AND NOT TARGET SDL3::SDL3) + add_library(SDL3::SDL3 ALIAS SDL3-static) endif() diff --git a/Makefile.in b/Makefile.in index d4eeee402..f72a044c2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -13,7 +13,7 @@ datarootdir = @datarootdir@ datadir = @datadir@ auxdir = @ac_aux_dir@ distpath = $(srcdir)/.. -distdir = SDL2-@SDL_VERSION@ +distdir = SDL3-@SDL_VERSION@ distfile = $(distdir).tar.gz @SET_MAKE@ @@ -34,25 +34,25 @@ LINKER = @LINKER@ LIBTOOLLINKERTAG = @LIBTOOLLINKERTAG@ SDL_VENDOR_INFO = @SDL_VENDOR_INFO@ -TARGET = libSDL2.la +TARGET = libSDL3.la OBJECTS = @OBJECTS@ GEN_HEADERS = @GEN_HEADERS@ GEN_OBJECTS = @GEN_OBJECTS@ VERSION_OBJECTS = @VERSION_OBJECTS@ -SDLMAIN_TARGET = libSDL2main.la +SDLMAIN_TARGET = libSDL3main.la SDLMAIN_OBJECTS = @SDLMAIN_OBJECTS@ -SDLTEST_TARGET = libSDL2_test.la +SDLTEST_TARGET = libSDL3_test.la SDLTEST_OBJECTS = @SDLTEST_OBJECTS@ WAYLAND_SCANNER = @WAYLAND_SCANNER@ WAYLAND_SCANNER_CODE_MODE = @WAYLAND_SCANNER_CODE_MODE@ -INSTALL_SDL2_CONFIG = @INSTALL_SDL2_CONFIG@ +INSTALL_SDL3_CONFIG = @INSTALL_SDL3_CONFIG@ -SRC_DIST = *.md *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac docs include Makefile.* mingw sdl2-config.cmake.in sdl2-config-version.cmake.in sdl2-config.in sdl2.m4 sdl2.pc.in SDL2.spec.in SDL2Config.cmake.in src test VisualC VisualC-WinRT Xcode Xcode-iOS wayland-protocols -GEN_DIST = SDL2.spec +SRC_DIST = *.md *.txt acinclude Android.mk autogen.sh android-project build-scripts cmake cmake_uninstall.cmake.in configure configure.ac docs include Makefile.* mingw sdl3-config.cmake.in sdl3-config-version.cmake.in sdl3-config.in sdl3.m4 sdl3.pc.in SDL3.spec.in SDL3Config.cmake.in src test VisualC VisualC-WinRT Xcode Xcode-iOS wayland-protocols +GEN_DIST = SDL3.spec ifneq ($V,1) RUN_CMD_AR = @echo " AR " $@; @@ -168,21 +168,21 @@ $(objects)/$(SDLTEST_TARGET): $(SDLTEST_OBJECTS) install: all install-bin install-hdrs install-lib install-data install-bin: -ifeq ($(INSTALL_SDL2_CONFIG),TRUE) +ifeq ($(INSTALL_SDL3_CONFIG),TRUE) $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(bindir) - $(INSTALL) -m 755 sdl2-config $(DESTDIR)$(bindir)/sdl2-config + $(INSTALL) -m 755 sdl3-config $(DESTDIR)$(bindir)/sdl3-config endif install-hdrs: update-revision - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL2 + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(includedir)/SDL3 for file in $(HDRS) $(SDLTEST_HDRS); do \ - $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL2/$$file; \ + $(INSTALL) -m 644 $(srcdir)/include/$$file $(DESTDIR)$(includedir)/SDL3/$$file; \ done - $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL2/SDL_config.h + $(INSTALL) -m 644 include/SDL_config.h $(DESTDIR)$(includedir)/SDL3/SDL_config.h if test -f include/SDL_revision.h; then \ - $(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \ + $(INSTALL) -m 644 include/SDL_revision.h $(DESTDIR)$(includedir)/SDL3/SDL_revision.h; \ else \ - $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL2/SDL_revision.h; \ + $(INSTALL) -m 644 $(srcdir)/include/SDL_revision.h $(DESTDIR)$(includedir)/SDL3/SDL_revision.h; \ fi install-lib: $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET) @@ -192,34 +192,34 @@ install-lib: $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLT $(LIBTOOL) --mode=install $(INSTALL) $(objects)/$(SDLTEST_TARGET) $(DESTDIR)$(libdir)/$(SDLTEST_TARGET) install-data: $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(datadir)/aclocal - $(INSTALL) -m 644 $(srcdir)/sdl2.m4 $(DESTDIR)$(datadir)/aclocal/sdl2.m4 + $(INSTALL) -m 644 $(srcdir)/sdl3.m4 $(DESTDIR)$(datadir)/aclocal/sdl3.m4 $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/pkgconfig - $(INSTALL) -m 644 sdl2.pc $(DESTDIR)$(libdir)/pkgconfig -ifeq ($(INSTALL_SDL2_CONFIG),TRUE) - $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL2 - $(INSTALL) -m 644 sdl2-config.cmake $(DESTDIR)$(libdir)/cmake/SDL2 - $(INSTALL) -m 644 sdl2-config-version.cmake $(DESTDIR)$(libdir)/cmake/SDL2 + $(INSTALL) -m 644 sdl3.pc $(DESTDIR)$(libdir)/pkgconfig +ifeq ($(INSTALL_SDL3_CONFIG),TRUE) + $(SHELL) $(auxdir)/mkinstalldirs $(DESTDIR)$(libdir)/cmake/SDL3 + $(INSTALL) -m 644 sdl3-config.cmake $(DESTDIR)$(libdir)/cmake/SDL3 + $(INSTALL) -m 644 sdl3-config-version.cmake $(DESTDIR)$(libdir)/cmake/SDL3 endif uninstall: uninstall-bin uninstall-hdrs uninstall-lib uninstall-data uninstall-bin: - rm -f $(DESTDIR)$(bindir)/sdl2-config + rm -f $(DESTDIR)$(bindir)/sdl3-config uninstall-hdrs: for file in $(HDRS) $(SDLTEST_HDRS); do \ - rm -f $(DESTDIR)$(includedir)/SDL2/$$file; \ + rm -f $(DESTDIR)$(includedir)/SDL3/$$file; \ done - rm -f $(DESTDIR)$(includedir)/SDL2/SDL_config.h - rm -f $(DESTDIR)$(includedir)/SDL2/SDL_revision.h - -rmdir $(DESTDIR)$(includedir)/SDL2 + rm -f $(DESTDIR)$(includedir)/SDL3/SDL_config.h + rm -f $(DESTDIR)$(includedir)/SDL3/SDL_revision.h + -rmdir $(DESTDIR)$(includedir)/SDL3 uninstall-lib: $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/$(TARGET) rm -f $(DESTDIR)$(libdir)/$(SDLMAIN_TARGET) rm -f $(DESTDIR)$(libdir)/$(SDLTEST_TARGET) uninstall-data: - rm -f $(DESTDIR)$(datadir)/aclocal/sdl2.m4 - rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl2.pc - rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config.cmake - rm -f $(DESTDIR)$(libdir)/cmake/SDL2/sdl2-config-version.cmake + rm -f $(DESTDIR)$(datadir)/aclocal/sdl3.m4 + rm -f $(DESTDIR)$(libdir)/pkgconfig/sdl3.pc + rm -f $(DESTDIR)$(libdir)/cmake/SDL3/sdl3-config.cmake + rm -f $(DESTDIR)$(libdir)/cmake/SDL3/sdl3-config-version.cmake clean: rm -rf $(objects) @@ -227,7 +227,7 @@ clean: if test -f test/Makefile; then (cd test; $(MAKE) $@); fi distclean: clean - rm -f Makefile Makefile.rules sdl2-config + rm -f Makefile Makefile.rules sdl3-config rm -f config.status config.cache config.log libtool rm -rf $(srcdir)/autom4te* find $(srcdir) \( \ diff --git a/Makefile.minimal b/Makefile.minimal index 97ce201ea..0a69413dd 100644 --- a/Makefile.minimal +++ b/Makefile.minimal @@ -5,8 +5,8 @@ CFLAGS = -g -O2 $(INCLUDE) AR = ar RANLIB = ranlib -TARGET = libSDL2.a -TESTTARGET = libSDL2_test.a +TARGET = libSDL3.a +TESTTARGET = libSDL3_test.a SOURCES = \ src/*.c \ diff --git a/Makefile.os2 b/Makefile.os2 index 2e38ed0d4..0cefb4b3e 100644 --- a/Makefile.os2 +++ b/Makefile.os2 @@ -1,4 +1,4 @@ -# Open Watcom makefile to build SDL2.dll for OS/2 +# Open Watcom makefile to build SDL3.dll for OS/2 # wmake -f Makefile.os2 # # If you have GNU libiconv installed (iconv2.dll), you @@ -12,9 +12,9 @@ # # To error out upon warnings: wmake -f Makefile.os2 ENABLE_WERROR=1 -LIBNAME = SDL2 -MAJOR_VERSION = 2 -MINOR_VERSION = 26 +LIBNAME = SDL3 +MAJOR_VERSION = 3 +MINOR_VERSION = 0 MICRO_VERSION = 0 VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION) DESCRIPTION = Simple DirectMedia Layer 2 @@ -30,8 +30,8 @@ LNKFILE = $(LIBNAME).lnk INCPATH = -I"$(%WATCOM)/h/os2" -I"$(%WATCOM)/h" INCPATH+= -Iinclude -LIBM = SDL2libm.lib -TLIB = SDL2test.lib +LIBM = SDL3libm.lib +TLIB = SDL3test.lib LIBS = mmpm2.lib $(LIBM) CFLAGS = -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oeatxhn -ei # Debug options: @@ -162,7 +162,7 @@ $(LIBICONV_LIB): "src/core/os2/iconv2.lbc" @echo * Creating: $@ wlib -q -b -n -c -pa -s -t -zld -ii -io $@ @$< -# SDL2libm +# SDL3libm MSRCS= e_atan2.c e_exp.c e_fmod.c e_log10.c e_log.c e_pow.c e_rem_pio2.c e_sqrt.c & k_cos.c k_rem_pio2.c k_sin.c k_tan.c & s_atan.c s_copysign.c s_cos.c s_fabs.c s_floor.c s_scalbn.c s_sin.c s_tan.c @@ -216,7 +216,7 @@ $(LIBM): build_libm $(MOBJS) @echo * Creating: $@ wlib -q -b -n -c -pa -s -t -zld -ii -io $@ $(MOBJS) -# SDL2test +# SDL3test TSRCS = SDL_test_assert.c SDL_test_common.c SDL_test_compare.c & SDL_test_crc32.c SDL_test_font.c SDL_test_fuzzer.c SDL_test_harness.c & SDL_test_imageBlit.c SDL_test_imageBlitBlend.c SDL_test_imageFace.c & diff --git a/Makefile.pandora b/Makefile.pandora index fe2249979..4e6465eb5 100644 --- a/Makefile.pandora +++ b/Makefile.pandora @@ -10,7 +10,7 @@ CFLAGS = -O3 -march=armv7-a -mcpu=cortex-a8 -mtune=cortex-a8 -mfloat-abi=softfp -mfpu=neon -ftree-vectorize -ffast-math -fomit-frame-pointer -fno-strict-aliasing -fsingle-precision-constant \ -I./include -I$(PNDSDK)/usr/include -TARGET = libSDL2.a +TARGET = libSDL3.a SOURCES = ./src/*.c \ diff --git a/Makefile.w32 b/Makefile.w32 index 82609036b..b89a44e57 100644 --- a/Makefile.w32 +++ b/Makefile.w32 @@ -1,11 +1,11 @@ -# Open Watcom makefile to build SDL2.dll for Win32 +# Open Watcom makefile to build SDL3.dll for Win32 # wmake -f Makefile.w32 # # To error out upon warnings: wmake -f Makefile.w32 ENABLE_WERROR=1 -LIBNAME = SDL2 -MAJOR_VERSION = 2 -MINOR_VERSION = 26 +LIBNAME = SDL3 +MAJOR_VERSION = 3 +MINOR_VERSION = 0 MICRO_VERSION = 0 VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(MICRO_VERSION) @@ -19,8 +19,8 @@ INCPATH = -I"$(%WATCOM)/h/nt" -I"$(%WATCOM)/h/nt/directx" -I"$(%WATCOM)/h" INCPATH+= -Iinclude INCPATH+= -I"src/video/khronos" -LIBM = SDL2libm.lib -TLIB = SDL2test.lib +LIBM = SDL3libm.lib +TLIB = SDL3test.lib # user32.lib, gdi32.lib, ole32.lib and oleaut32.lib are actually # among the default libraries in wlink.lnk for nt_dll linkage... LIBS = user32.lib gdi32.lib winmm.lib imm32.lib ole32.lib oleaut32.lib shell32.lib setupapi.lib version.lib uuid.lib dxguid.lib $(LIBM) @@ -147,7 +147,7 @@ SDL_RLEaccel.obj: SDL_RLEaccel.c SDL_malloc.obj: SDL_malloc.c wcc386 $(CFLAGS_DLL) -wcd=201 -fo=$^@ $< -# SDL2libm +# SDL3libm MSRCS= e_atan2.c e_exp.c e_fmod.c e_log10.c e_log.c e_pow.c e_rem_pio2.c e_sqrt.c & k_cos.c k_rem_pio2.c k_sin.c k_tan.c & s_atan.c s_copysign.c s_cos.c s_fabs.c s_floor.c s_scalbn.c s_sin.c s_tan.c @@ -201,7 +201,7 @@ $(LIBM): build_libm $(MOBJS) @echo * Creating: $@ wlib -q -b -n -c -pa -s -t -zld -ii -io $@ $(MOBJS) -# SDL2test +# SDL3test TSRCS = SDL_test_assert.c SDL_test_common.c SDL_test_compare.c & SDL_test_crc32.c SDL_test_font.c SDL_test_fuzzer.c SDL_test_harness.c & SDL_test_imageBlit.c SDL_test_imageBlitBlend.c SDL_test_imageFace.c & @@ -257,7 +257,7 @@ $(LNKFILE): Makefile.w32 @for %i in ($(OBJS)) do @%append $@ FILE %i @for %i in ($(LIBS)) do @%append $@ LIB %i @%append $@ OPTION RESOURCE=$(RCOBJS) - @%append $@ EXPORT=src/dynapi/SDL2.exports + @%append $@ EXPORT=src/dynapi/SDL3.exports @%append $@ OPTION QUIET @%append $@ OPTION IMPF=$(EXPFILE) @%append $@ OPTION MAP=$(LIBHOME)/$^&.map diff --git a/README.md b/README.md index fa7f7ba0b..fac8663cb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Simple DirectMedia Layer (SDL) Version 2.0 +# Simple DirectMedia Layer (SDL) Version 3.0 https://www.libsdl.org/ diff --git a/SDL2Config.cmake.in b/SDL2Config.cmake.in deleted file mode 100644 index 8c18aa5d4..000000000 --- a/SDL2Config.cmake.in +++ /dev/null @@ -1,65 +0,0 @@ -# sdl2 cmake project-config input for CMakeLists.txt script - -include(FeatureSummary) -set_package_properties(SDL2 PROPERTIES - URL "https://www.libsdl.org/" - DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" -) - -@PACKAGE_INIT@ - -set(SDL2_FOUND TRUE) - -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2Targets.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/SDL2Targets.cmake") - set(SDL2_SDL2_FOUND TRUE) -endif() -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2staticTargets.cmake") - if(ANDROID) - enable_language(CXX) - endif() - include("${CMAKE_CURRENT_LIST_DIR}/SDL2staticTargets.cmake") - set(SDL2_SDL2-static_FOUND TRUE) -endif() -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2mainTargets.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/SDL2mainTargets.cmake") - set(SDL2_SDL2main_FOUND TRUE) -endif() -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL2testTargets.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/SDL2testTargets.cmake") - set(SDL2_SDL2test_FOUND TRUE) -endif() - -check_required_components(SDL2) - -# Create SDL2::SDL2 alias for static-only builds -if(TARGET SDL2::SDL2-static AND NOT TARGET SDL2::SDL2) - if(CMAKE_VERSION VERSION_LESS "3.18") - # FIXME: Aliasing local targets is not supported on CMake < 3.18, so make it global. - add_library(SDL2::SDL2 INTERFACE IMPORTED) - set_target_properties(SDL2::SDL2 PROPERTIES INTERFACE_LINK_LIBRARIES "SDL2::SDL2-static") - else() - add_library(SDL2::SDL2 ALIAS SDL2::SDL2-static) - endif() -endif() - -# For compatibility with autotools sdl2-config.cmake, provide SDL2_* variables. - -set(SDL2_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@") -set(SDL2_EXEC_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@") -set(SDL2_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_FULL_INCLUDEDIR@/SDL2") -set(SDL2_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_FULL_INCLUDEDIR@;@PACKAGE_CMAKE_INSTALL_FULL_INCLUDEDIR@/SDL2") -set(SDL2_BINDIR "@PACKAGE_CMAKE_INSTALL_FULL_BINDIR@") -set(SDL2_LIBDIR "@PACKAGE_CMAKE_INSTALL_FULL_LIBDIR@") -set(SDL2_LIBRARIES SDL2::SDL2) -set(SDL2_STATIC_LIBRARIES SDL2::SDL2-static) -set(SDL2_STATIC_PRIVATE_LIBS) - -set(SDL2MAIN_LIBRARY) -if(TARGET SDL2::SDL2main) - set(SDL2MAIN_LIBRARY SDL2::SDL2main) - list(INSERT SDL2_LIBRARIES 0 SDL2::SDL2main) - list(INSERT SDL2_STATIC_LIBRARIES 0 SDL2::SDL2main) -endif() - -set(SDL2TEST_LIBRARY SDL2::SDL2test) \ No newline at end of file diff --git a/SDL2.spec.in b/SDL3.spec.in similarity index 97% rename from SDL2.spec.in rename to SDL3.spec.in index 812d2d861..533af702c 100644 --- a/SDL2.spec.in +++ b/SDL3.spec.in @@ -1,5 +1,5 @@ Summary: Simple DirectMedia Layer -Name: SDL2 +Name: SDL3 Version: @SDL_VERSION@ Release: 2 Source: http://www.libsdl.org/release/%{name}-%{version}.tar.gz @@ -9,7 +9,7 @@ Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot Prefix: %{_prefix} %ifos linux -Provides: libSDL2-2.0.so.0 +Provides: libSDL3-3.0.so.0 %endif %define __defattr %defattr(-,root,root) @@ -75,7 +75,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/lib*.%{__soext} %{_includedir}/*/*.h %{_libdir}/cmake/* -%{_libdir}/pkgconfig/SDL2/* +%{_libdir}/pkgconfig/SDL3/* %{_datadir}/aclocal/* %changelog diff --git a/SDL3Config.cmake.in b/SDL3Config.cmake.in new file mode 100644 index 000000000..52dcfb198 --- /dev/null +++ b/SDL3Config.cmake.in @@ -0,0 +1,65 @@ +# SDL cmake project-config input for CMakeLists.txt script + +include(FeatureSummary) +set_package_properties(SDL3 PROPERTIES + URL "https://www.libsdl.org/" + DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" +) + +@PACKAGE_INIT@ + +set(SDL3_FOUND TRUE) + +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3Targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/SDL3Targets.cmake") + set(SDL3_SDL3_FOUND TRUE) +endif() +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake") + if(ANDROID) + enable_language(CXX) + endif() + include("${CMAKE_CURRENT_LIST_DIR}/SDL3staticTargets.cmake") + set(SDL3_SDL3-static_FOUND TRUE) +endif() +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3mainTargets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/SDL3mainTargets.cmake") + set(SDL3_SDL3main_FOUND TRUE) +endif() +if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/SDL3testTargets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/SDL3testTargets.cmake") + set(SDL3_SDL3test_FOUND TRUE) +endif() + +check_required_components(SDL3) + +# Create SDL3::SDL3 alias for static-only builds +if(TARGET SDL3::SDL3-static AND NOT TARGET SDL3::SDL3) + if(CMAKE_VERSION VERSION_LESS "3.18") + # FIXME: Aliasing local targets is not supported on CMake < 3.18, so make it global. + add_library(SDL3::SDL3 INTERFACE IMPORTED) + set_target_properties(SDL3::SDL3 PROPERTIES INTERFACE_LINK_LIBRARIES "SDL3::SDL3-static") + else() + add_library(SDL3::SDL3 ALIAS SDL3::SDL3-static) + endif() +endif() + +# For compatibility with autotools sdl3-config.cmake, provide SDL3_* variables. + +set(SDL3_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@") +set(SDL3_EXEC_PREFIX "@PACKAGE_CMAKE_INSTALL_PREFIX@") +set(SDL3_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_FULL_INCLUDEDIR@/SDL3") +set(SDL3_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_FULL_INCLUDEDIR@;@PACKAGE_CMAKE_INSTALL_FULL_INCLUDEDIR@/SDL3") +set(SDL3_BINDIR "@PACKAGE_CMAKE_INSTALL_FULL_BINDIR@") +set(SDL3_LIBDIR "@PACKAGE_CMAKE_INSTALL_FULL_LIBDIR@") +set(SDL3_LIBRARIES SDL3::SDL3) +set(SDL3_STATIC_LIBRARIES SDL3::SDL3-static) +set(SDL3_STATIC_PRIVATE_LIBS) + +set(SDL3MAIN_LIBRARY) +if(TARGET SDL3::SDL3main) + set(SDL3MAIN_LIBRARY SDL3::SDL3main) + list(INSERT SDL3_LIBRARIES 0 SDL3::SDL3main) + list(INSERT SDL3_STATIC_LIBRARIES 0 SDL3::SDL3main) +endif() + +set(SDL3TEST_LIBRARY SDL3::SDL3test) diff --git a/VisualC-GDK/SDL.sln b/VisualC-GDK/SDL.sln index 258421950..827c9ff4b 100644 --- a/VisualC-GDK/SDL.sln +++ b/VisualC-GDK/SDL.sln @@ -4,13 +4,13 @@ VisualStudioVersion = 17.1.32414.318 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D69D5741-611F-4E14-8541-1FEE94F50B5A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3", "SDL\SDL.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3main", "SDLmain\SDLmain.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2.vcxproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3test", "SDLtest\SDLtest.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgamecontroller", "tests\testgamecontroller\testgamecontroller.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08305}" EndProject diff --git a/VisualC-GDK/SDL/SDL.vcxproj b/VisualC-GDK/SDL/SDL.vcxproj index c8208b41f..b183f6225 100644 --- a/VisualC-GDK/SDL/SDL.vcxproj +++ b/VisualC-GDK/SDL/SDL.vcxproj @@ -27,7 +27,7 @@ - SDL2 + SDL3 {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} SDL 10.0 diff --git a/VisualC-GDK/SDLmain/SDLmain.vcxproj b/VisualC-GDK/SDLmain/SDLmain.vcxproj index a2c05b1c3..df88a7741 100644 --- a/VisualC-GDK/SDLmain/SDLmain.vcxproj +++ b/VisualC-GDK/SDLmain/SDLmain.vcxproj @@ -30,7 +30,7 @@ - SDL2main + SDL3main {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} SDLmain 10.0 @@ -208,4 +208,4 @@ - \ No newline at end of file + diff --git a/VisualC-GDK/SDLtest/SDLtest.vcxproj b/VisualC-GDK/SDLtest/SDLtest.vcxproj index c2e9348c3..9ed131a38 100644 --- a/VisualC-GDK/SDLtest/SDLtest.vcxproj +++ b/VisualC-GDK/SDLtest/SDLtest.vcxproj @@ -27,7 +27,7 @@ - SDL2test + SDL3test {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} SDLtest 10.0 @@ -223,4 +223,4 @@ - \ No newline at end of file + diff --git a/VisualC-WinRT/SDL-UWP.sln b/VisualC-WinRT/SDL-UWP.sln index 472c4f01b..62f9f0417 100644 --- a/VisualC-WinRT/SDL-UWP.sln +++ b/VisualC-WinRT/SDL-UWP.sln @@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio 14 VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2-UWP", "SDL-UWP.vcxproj", "{89E9B32E-A86A-47C3-A948-D2B1622925CE}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3-UWP", "SDL-UWP.vcxproj", "{89E9B32E-A86A-47C3-A948-D2B1622925CE}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/VisualC-WinRT/SDL-UWP.vcxproj b/VisualC-WinRT/SDL-UWP.vcxproj index 9d7c01351..a34357e73 100644 --- a/VisualC-WinRT/SDL-UWP.vcxproj +++ b/VisualC-WinRT/SDL-UWP.vcxproj @@ -349,8 +349,8 @@ {89e9b32e-a86a-47c3-a948-d2b1622925ce} DynamicLibrary - SDL2-UWP - SDL2 + SDL3-UWP + SDL3 en-US 14.0 true @@ -439,42 +439,42 @@ false false - SDL2 + SDL3 false false - SDL2 + SDL3 false false - SDL2 + SDL3 false false - SDL2 + SDL3 false false - SDL2 + SDL3 false false - SDL2 + SDL3 false false - SDL2 + SDL3 false false - SDL2 + SDL3 diff --git a/VisualC/SDL.sln b/VisualC/SDL.sln index 87b2cf520..ebb836d47 100644 --- a/VisualC/SDL.sln +++ b/VisualC/SDL.sln @@ -2,9 +2,9 @@ Microsoft Visual Studio Solution File, Format Version 11.00 # Visual Studio 2010 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{D69D5741-611F-4E14-8541-1FEE94F50B5A}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2", "SDL\SDL.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3", "SDL\SDL.vcxproj", "{81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2main", "SDLmain\SDLmain.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3main", "SDLmain\SDLmain.vcxproj", "{DA956FD3-E142-46F2-9DD5-C78BEBB56B7A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "checkkeys", "tests\checkkeys\checkkeys.vcxproj", "{26828762-C95D-4637-9CB1-7F0979523813}" EndProject @@ -40,7 +40,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testshape", "tests\testshap EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testsprite2", "tests\testsprite2\testsprite2.vcxproj", "{40FB7794-D3C3-4CFE-BCF4-A80C96635682}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL2test", "SDLtest\SDLtest.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SDL3test", "SDLtest\SDLtest.vcxproj", "{DA956FD3-E143-46F2-9FE5-C77BEBC56B1A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testgamecontroller", "tests\testgamecontroller\testgamecontroller.vcxproj", "{55812185-D13C-4022-9C81-32E0F4A08305}" EndProject diff --git a/VisualC/SDL/SDL.vcxproj b/VisualC/SDL/SDL.vcxproj index 2c85790e2..64f1341a4 100644 --- a/VisualC/SDL/SDL.vcxproj +++ b/VisualC/SDL/SDL.vcxproj @@ -19,7 +19,7 @@ - SDL2 + SDL3 {81CE8DAF-EBB2-4761-8E45-B71ABCCA8C68} SDL 10.0 diff --git a/VisualC/SDLmain/SDLmain.vcxproj b/VisualC/SDLmain/SDLmain.vcxproj index ad63dc6c6..6da048b69 100644 --- a/VisualC/SDLmain/SDLmain.vcxproj +++ b/VisualC/SDLmain/SDLmain.vcxproj @@ -19,7 +19,7 @@ - SDL2main + SDL3main {DA956FD3-E142-46F2-9DD5-C78BEBB56B7A} SDLmain 10.0 diff --git a/VisualC/SDLtest/SDLtest.vcxproj b/VisualC/SDLtest/SDLtest.vcxproj index 042baf131..3faca9916 100644 --- a/VisualC/SDLtest/SDLtest.vcxproj +++ b/VisualC/SDLtest/SDLtest.vcxproj @@ -19,7 +19,7 @@ - SDL2test + SDL3test {DA956FD3-E143-46F2-9FE5-C77BEBC56B1A} SDLtest 10.0 diff --git a/VisualC/pkg-support/cmake/sdl2-config.cmake b/VisualC/pkg-support/cmake/sdl2-config.cmake deleted file mode 100644 index 1a25259c0..000000000 --- a/VisualC/pkg-support/cmake/sdl2-config.cmake +++ /dev/null @@ -1,111 +0,0 @@ -# SDL2 CMake configuration file: -# This file is meant to be placed in a cmake subfolder of SDL2-devel-2.x.y-VC - -cmake_minimum_required(VERSION 3.0) - -include(FeatureSummary) -set_package_properties(SDL2 PROPERTIES - URL "https://www.libsdl.org/" - DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" -) - -# Copied from `configure_package_config_file` -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -# Copied from `configure_package_config_file` -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -set(SDL2_FOUND TRUE) - -if(CMAKE_SIZEOF_VOID_P STREQUAL "4") - set(_sdl_arch_subdir "x86") -elseif(CMAKE_SIZEOF_VOID_P STREQUAL "8") - set(_sdl_arch_subdir "x64") -else() - set(SDL2_FOUND FALSE) - return() -endif() - -# For compatibility with autotools sdl2-config.cmake, provide SDL2_* variables. - -set_and_check(SDL2_PREFIX "${CMAKE_CURRENT_LIST_DIR}/..") -set_and_check(SDL2_EXEC_PREFIX "${CMAKE_CURRENT_LIST_DIR}/..") -set_and_check(SDL2_INCLUDE_DIR "${SDL2_PREFIX}/include") -set(SDL2_INCLUDE_DIRS "${SDL2_INCLUDE_DIR}") -set_and_check(SDL2_BINDIR "${SDL2_PREFIX}/lib/${_sdl_arch_subdir}") -set_and_check(SDL2_LIBDIR "${SDL2_PREFIX}/lib/${_sdl_arch_subdir}") - -set(SDL2_LIBRARIES SDL2::SDL2main SDL2::SDL2) -set(SDL2MAIN_LIBRARY SDL2::SDL2main) -set(SDL2TEST_LIBRARY SDL2::SDL2test) - - -# All targets are created, even when some might not be requested though COMPONENTS. -# This is done for compatibility with CMake generated SDL2-target.cmake files. - -set(_sdl2_library "${SDL2_LIBDIR}/SDL2.lib") -set(_sdl2_dll_library "${SDL2_BINDIR}/SDL2.dll") -if(EXISTS "${_sdl2_library}" AND EXISTS "${_sdl2_dll_library}") - if(NOT TARGET SDL2::SDL2) - add_library(SDL2::SDL2 SHARED IMPORTED) - set_target_properties(SDL2::SDL2 - PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" - IMPORTED_IMPLIB "${_sdl2_library}" - IMPORTED_LOCATION "${_sdl2_dll_library}" - COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED" - INTERFACE_SDL2_SHARED "ON" - ) - endif() - set(SDL2_SDL2_FOUND TRUE) -else() - set(SDL2_SDL2_FOUND FALSE) -endif() -unset(_sdl2_library) -unset(_sdl2_dll_library) - -set(_sdl2main_library "${SDL2_LIBDIR}/SDL2main.lib") -if(EXISTS "${_sdl2main_library}") - if(NOT TARGET SDL2::SDL2main) - add_library(SDL2::SDL2main STATIC IMPORTED) - set_target_properties(SDL2::SDL2main - PROPERTIES - IMPORTED_LOCATION "${_sdl2main_library}" - ) - endif() - set(SDL2_SDL2main_FOUND TRUE) -else() - set(SDL2_SDL2_FOUND FALSE) -endif() -unset(_sdl2main_library) - -set(_sdl2test_library "${SDL2_LIBDIR}/SDL2test.lib") -if(EXISTS "${_sdl2test_library}") - if(NOT TARGET SDL2::SDL2test) - add_library(SDL2::SDL2test STATIC IMPORTED) - set_target_properties(SDL2::SDL2test - PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" - IMPORTED_LOCATION "${_sdl2test_library}" - ) - endif() - set(SDL2_SDL2test_FOUND TRUE) -else() - set(SDL2_SDL2_FOUND FALSE) -endif() -unset(_sdl2test_library) - -check_required_components(SDL2) diff --git a/VisualC/pkg-support/cmake/sdl2-config-version.cmake b/VisualC/pkg-support/cmake/sdl3-config-version.cmake similarity index 92% rename from VisualC/pkg-support/cmake/sdl2-config-version.cmake rename to VisualC/pkg-support/cmake/sdl3-config-version.cmake index 42bb6e743..500e88fdb 100644 --- a/VisualC/pkg-support/cmake/sdl2-config-version.cmake +++ b/VisualC/pkg-support/cmake/sdl3-config-version.cmake @@ -1,10 +1,10 @@ # based on the files generated by CMake's write_basic_package_version_file -# SDL2 CMake version configuration file: -# This file is meant to be placed in a cmake subfolder of SDL2-devel-2.x.y-VC +# SDL CMake version configuration file: +# This file is meant to be placed in a cmake subfolder of SDL3-devel-3.x.y-VC if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../include/SDL_version.h") - message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the root of SDL2-devel-2.x.y-VC") + message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the root of SDL3-devel-3.x.y-VC") return() endif() diff --git a/VisualC/pkg-support/cmake/sdl3-config.cmake b/VisualC/pkg-support/cmake/sdl3-config.cmake new file mode 100644 index 000000000..c35d6b873 --- /dev/null +++ b/VisualC/pkg-support/cmake/sdl3-config.cmake @@ -0,0 +1,111 @@ +# SDL CMake configuration file: +# This file is meant to be placed in a cmake subfolder of SDL3-devel-3.x.y-VC + +cmake_minimum_required(VERSION 3.0) + +include(FeatureSummary) +set_package_properties(SDL3 PROPERTIES + URL "https://www.libsdl.org/" + DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" +) + +# Copied from `configure_package_config_file` +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +# Copied from `configure_package_config_file` +macro(check_required_components _NAME) + foreach(comp ${${_NAME}_FIND_COMPONENTS}) + if(NOT ${_NAME}_${comp}_FOUND) + if(${_NAME}_FIND_REQUIRED_${comp}) + set(${_NAME}_FOUND FALSE) + endif() + endif() + endforeach() +endmacro() + +set(SDL3_FOUND TRUE) + +if(CMAKE_SIZEOF_VOID_P STREQUAL "4") + set(_sdl_arch_subdir "x86") +elseif(CMAKE_SIZEOF_VOID_P STREQUAL "8") + set(_sdl_arch_subdir "x64") +else() + set(SDL3_FOUND FALSE) + return() +endif() + +# For compatibility with autotools sdl3-config.cmake, provide SDL3_* variables. + +set_and_check(SDL3_PREFIX "${CMAKE_CURRENT_LIST_DIR}/..") +set_and_check(SDL3_EXEC_PREFIX "${CMAKE_CURRENT_LIST_DIR}/..") +set_and_check(SDL3_INCLUDE_DIR "${SDL3_PREFIX}/include") +set(SDL3_INCLUDE_DIRS "${SDL3_INCLUDE_DIR}") +set_and_check(SDL3_BINDIR "${SDL3_PREFIX}/lib/${_sdl_arch_subdir}") +set_and_check(SDL3_LIBDIR "${SDL3_PREFIX}/lib/${_sdl_arch_subdir}") + +set(SDL3_LIBRARIES SDL3::SDL3main SDL3::SDL3) +set(SDL3MAIN_LIBRARY SDL3::SDL3main) +set(SDL3TEST_LIBRARY SDL3::SDL3test) + + +# All targets are created, even when some might not be requested though COMPONENTS. +# This is done for compatibility with CMake generated SDL3-target.cmake files. + +set(_sdl3_library "${SDL3_LIBDIR}/SDL3.lib") +set(_sdl3_dll_library "${SDL3_BINDIR}/SDL3.dll") +if(EXISTS "${_sdl3_library}" AND EXISTS "${_sdl3_dll_library}") + if(NOT TARGET SDL3::SDL3) + add_library(SDL3::SDL3 SHARED IMPORTED) + set_target_properties(SDL3::SDL3 + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIRS}" + IMPORTED_IMPLIB "${_sdl3_library}" + IMPORTED_LOCATION "${_sdl3_dll_library}" + COMPATIBLE_INTERFACE_BOOL "SDL3_SHARED" + INTERFACE_SDL3_SHARED "ON" + ) + endif() + set(SDL3_SDL3_FOUND TRUE) +else() + set(SDL3_SDL3_FOUND FALSE) +endif() +unset(_sdl3_library) +unset(_sdl3_dll_library) + +set(_sdl3main_library "${SDL3_LIBDIR}/SDL3main.lib") +if(EXISTS "${_sdl3main_library}") + if(NOT TARGET SDL3::SDL3main) + add_library(SDL3::SDL3main STATIC IMPORTED) + set_target_properties(SDL3::SDL3main + PROPERTIES + IMPORTED_LOCATION "${_sdl3main_library}" + ) + endif() + set(SDL3_SDL3main_FOUND TRUE) +else() + set(SDL3_SDL3_FOUND FALSE) +endif() +unset(_sdl3main_library) + +set(_sdl3test_library "${SDL3_LIBDIR}/SDL3test.lib") +if(EXISTS "${_sdl3test_library}") + if(NOT TARGET SDL3::SDL3test) + add_library(SDL3::SDL3test STATIC IMPORTED) + set_target_properties(SDL3::SDL3test + PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIRS}" + IMPORTED_LOCATION "${_sdl3test_library}" + ) + endif() + set(SDL3_SDL3test_FOUND TRUE) +else() + set(SDL3_SDL3_FOUND FALSE) +endif() +unset(_sdl3test_library) + +check_required_components(SDL3) diff --git a/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj b/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj index 8fc664b8c..0104d6e0b 100644 --- a/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj +++ b/Xcode-iOS/Demos/Demos.xcodeproj/project.pbxproj @@ -7,14 +7,14 @@ objects = { /* Begin PBXBuildFile section */ - F3A497102555EE4800E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; - F3A4972F2555EE8A00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; - F3A497422555EEBE00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; - F3A497442555EECD00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; - F3A497462555EEDF00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A4959B2555ED0500E92A8B /* libSDL2.a */; }; - F3A497492555EF0B00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; - F3A4974B2555EF1B00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; - F3A4974E2555EF9F00E92A8B /* libSDL2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL2.a */; }; + F3A497102555EE4800E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; + F3A4972F2555EE8A00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; + F3A497422555EEBE00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; + F3A497442555EECD00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; + F3A497462555EEDF00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A4959B2555ED0500E92A8B /* libSDL3.a */; }; + F3A497492555EF0B00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; + F3A4974B2555EF1B00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; + F3A4974E2555EF9F00E92A8B /* libSDL3.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F3A495992555ED0500E92A8B /* libSDL3.a */; }; FA30DEB01BBF5A8F009C397F /* common.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0060E26BC0500F39101 /* common.c */; }; FA30DEB11BBF5A93009C397F /* happy.c in Sources */ = {isa = PBXBuildFile; fileRef = FD77A0080E26BC0500F39101 /* happy.c */; }; FA30DEB31BBF5AD7009C397F /* icon.bmp in Resources */ = {isa = PBXBuildFile; fileRef = FDB651CC0E43D19800F688B5 /* icon.bmp */; }; @@ -188,7 +188,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A497102555EE4800E92A8B /* libSDL2.a in Frameworks */, + F3A497102555EE4800E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -196,7 +196,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A497462555EEDF00E92A8B /* libSDL2.a in Frameworks */, + F3A497462555EEDF00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -204,7 +204,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A497442555EECD00E92A8B /* libSDL2.a in Frameworks */, + F3A497442555EECD00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -212,7 +212,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A4972F2555EE8A00E92A8B /* libSDL2.a in Frameworks */, + F3A4972F2555EE8A00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -220,7 +220,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A497492555EF0B00E92A8B /* libSDL2.a in Frameworks */, + F3A497492555EF0B00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -228,7 +228,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A4974E2555EF9F00E92A8B /* libSDL2.a in Frameworks */, + F3A4974E2555EF9F00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -236,7 +236,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A497422555EEBE00E92A8B /* libSDL2.a in Frameworks */, + F3A497422555EEBE00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -244,7 +244,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - F3A4974B2555EF1B00E92A8B /* libSDL2.a in Frameworks */, + F3A4974B2555EF1B00E92A8B /* libSDL3.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -292,17 +292,17 @@ F3A495812555ED0400E92A8B /* Products */ = { isa = PBXGroup; children = ( - F3A495912555ED0500E92A8B /* SDL2.framework */, - F3A495932555ED0500E92A8B /* SDL2.framework */, - F3A495952555ED0500E92A8B /* SDL2.framework */, - F3C17D9228E4355900E1A26D /* SDL2.framework */, - F3A495972555ED0500E92A8B /* libSDL2.a */, - F3A495992555ED0500E92A8B /* libSDL2.a */, - F3A4959B2555ED0500E92A8B /* libSDL2.a */, - F3A4959D2555ED0500E92A8B /* libSDL2.dylib */, - F3A4959F2555ED0500E92A8B /* libSDL2.dylib */, - F3A495A12555ED0500E92A8B /* libSDL2.dylib */, - F3A495A32555ED0500E92A8B /* SDL2 */, + F3A495912555ED0500E92A8B /* SDL3.framework */, + F3A495932555ED0500E92A8B /* SDL3.framework */, + F3A495952555ED0500E92A8B /* SDL3.framework */, + F3C17D9228E4355900E1A26D /* SDL3.framework */, + F3A495972555ED0500E92A8B /* libSDL3.a */, + F3A495992555ED0500E92A8B /* libSDL3.a */, + F3A4959B2555ED0500E92A8B /* libSDL3.a */, + F3A4959D2555ED0500E92A8B /* libSDL3.dylib */, + F3A4959F2555ED0500E92A8B /* libSDL3.dylib */, + F3A495A12555ED0500E92A8B /* libSDL3.dylib */, + F3A495A32555ED0500E92A8B /* SDL3 */, ); name = Products; sourceTree = ""; @@ -565,80 +565,80 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - F3A495912555ED0500E92A8B /* SDL2.framework */ = { + F3A495912555ED0500E92A8B /* SDL3.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = SDL2.framework; + path = SDL3.framework; remoteRef = F3A495902555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A495932555ED0500E92A8B /* SDL2.framework */ = { + F3A495932555ED0500E92A8B /* SDL3.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = SDL2.framework; + path = SDL3.framework; remoteRef = F3A495922555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A495952555ED0500E92A8B /* SDL2.framework */ = { + F3A495952555ED0500E92A8B /* SDL3.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = SDL2.framework; + path = SDL3.framework; remoteRef = F3A495942555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A495972555ED0500E92A8B /* libSDL2.a */ = { + F3A495972555ED0500E92A8B /* libSDL3.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libSDL2.a; + path = libSDL3.a; remoteRef = F3A495962555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A495992555ED0500E92A8B /* libSDL2.a */ = { + F3A495992555ED0500E92A8B /* libSDL3.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libSDL2.a; + path = libSDL3.a; remoteRef = F3A495982555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A4959B2555ED0500E92A8B /* libSDL2.a */ = { + F3A4959B2555ED0500E92A8B /* libSDL3.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; - path = libSDL2.a; + path = libSDL3.a; remoteRef = F3A4959A2555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A4959D2555ED0500E92A8B /* libSDL2.dylib */ = { + F3A4959D2555ED0500E92A8B /* libSDL3.dylib */ = { isa = PBXReferenceProxy; fileType = "compiled.mach-o.dylib"; - path = libSDL2.dylib; + path = libSDL3.dylib; remoteRef = F3A4959C2555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A4959F2555ED0500E92A8B /* libSDL2.dylib */ = { + F3A4959F2555ED0500E92A8B /* libSDL3.dylib */ = { isa = PBXReferenceProxy; fileType = "compiled.mach-o.dylib"; - path = libSDL2.dylib; + path = libSDL3.dylib; remoteRef = F3A4959E2555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A495A12555ED0500E92A8B /* libSDL2.dylib */ = { + F3A495A12555ED0500E92A8B /* libSDL3.dylib */ = { isa = PBXReferenceProxy; fileType = "compiled.mach-o.dylib"; - path = libSDL2.dylib; + path = libSDL3.dylib; remoteRef = F3A495A02555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3A495A32555ED0500E92A8B /* SDL2 */ = { + F3A495A32555ED0500E92A8B /* SDL3 */ = { isa = PBXReferenceProxy; fileType = "compiled.mach-o.executable"; - path = SDL2; + path = SDL3; remoteRef = F3A495A22555ED0500E92A8B /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - F3C17D9228E4355900E1A26D /* SDL2.framework */ = { + F3C17D9228E4355900E1A26D /* SDL3.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = SDL2.framework; + path = SDL3.framework; remoteRef = F3C17D9128E4355900E1A26D /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; diff --git a/Xcode-iOS/Demos/README b/Xcode-iOS/Demos/README index da6fb7490..d0f4ea179 100644 --- a/Xcode-iOS/Demos/README +++ b/Xcode-iOS/Demos/README @@ -2,7 +2,7 @@ About the iPhone OS Demo Applications ============================================================================== -Demos.xcodeproj contains several targets for iPhone oriented SDL demos. These demos are written strictly using SDL 2.0 calls. All the demos except for Fireworks (which requires OpenGL ES) should work on platforms other than iPhone OS, though you'll need to write your own compile script. +Demos.xcodeproj contains several targets for iPhone oriented SDL demos. These demos are written strictly using SDL 3.0 calls. All the demos except for Fireworks (which requires OpenGL ES) should work on platforms other than iPhone OS, though you'll need to write your own compile script. Common files: diff --git a/Xcode-iOS/Demos/config.xcconfig b/Xcode-iOS/Demos/config.xcconfig index 563917290..5b7da5271 100644 --- a/Xcode-iOS/Demos/config.xcconfig +++ b/Xcode-iOS/Demos/config.xcconfig @@ -9,6 +9,6 @@ // Include any optional config for this build #include? "build.xcconfig" -CONFIG_FRAMEWORK_LDFLAGS[sdk=macos*] = $(inherited) -framework SDL2 -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreHaptics -framework CoreVideo -framework ForceFeedback -framework GameController -framework IOKit -framework Metal +CONFIG_FRAMEWORK_LDFLAGS[sdk=macos*] = $(inherited) -framework SDL3 -framework AudioToolbox -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreHaptics -framework CoreVideo -framework ForceFeedback -framework GameController -framework IOKit -framework Metal CONFIG_FRAMEWORK_LDFLAGS[sdk=iphone*] = $(inherited) -framework AVFoundation -framework AudioToolbox -framework CoreGraphics -framework CoreHaptics -framework CoreMotion -framework Foundation -framework GameController -framework Metal -framework OpenGLES -framework QuartzCore -framework UIKit CONFIG_FRAMEWORK_LDFLAGS[sdk=appletv*] = $(inherited) -framework AVFoundation -framework AudioToolbox -framework CoreGraphics -framework CoreHaptics -framework Foundation -framework GameController -framework Metal -framework OpenGLES -framework QuartzCore -framework UIKit diff --git a/Xcode/SDL/Info-Framework.plist b/Xcode/SDL/Info-Framework.plist index 09bae6c16..65acdef21 100644 --- a/Xcode/SDL/Info-Framework.plist +++ b/Xcode/SDL/Info-Framework.plist @@ -19,10 +19,10 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.26.0 + 3.0.0 CFBundleSignature SDLX CFBundleVersion - 2.26.0 + 3.0.0 diff --git a/Xcode/SDL/SDL.xcodeproj/project.pbxproj b/Xcode/SDL/SDL.xcodeproj/project.pbxproj index b59a594fb..40b04d63f 100644 --- a/Xcode/SDL/SDL.xcodeproj/project.pbxproj +++ b/Xcode/SDL/SDL.xcodeproj/project.pbxproj @@ -3704,8 +3704,8 @@ A1BB8B6227F6CF330057CFA8 /* SDL_list.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_list.h; sourceTree = ""; }; A7381E931D8B69C300B177DD /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; A7381E951D8B69D600B177DD /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; - A75FCEB323E25AB700529352 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - A75FD06C23E25AC700529352 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + A75FCEB323E25AB700529352 /* libSDL3.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL3.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + A75FD06C23E25AC700529352 /* libSDL3.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL3.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; A75FDAA523E2792500529352 /* hid.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = hid.m; sourceTree = ""; }; A75FDAAC23E2795C00529352 /* SDL_hidapi_steam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_steam.c; sourceTree = ""; }; A75FDAB923E28A7A00529352 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; @@ -3723,11 +3723,11 @@ A75FDBA723E4CB6F00529352 /* LICENSE.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE.txt; sourceTree = ""; }; A75FDBC323EA380300529352 /* SDL_hidapi_rumble.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_hidapi_rumble.h; sourceTree = ""; }; A75FDBC423EA380300529352 /* SDL_hidapi_rumble.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_hidapi_rumble.c; sourceTree = ""; }; - A769B23D23E259AE00872273 /* libSDL2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.a; sourceTree = BUILT_PRODUCTS_DIR; }; + A769B23D23E259AE00872273 /* libSDL3.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL3.a; sourceTree = BUILT_PRODUCTS_DIR; }; A77E6EB3167AB0A90010E40B /* SDL_gamecontroller.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_gamecontroller.h; sourceTree = ""; }; - A7D88B5423E2437C00DCD162 /* SDL2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7D88D1523E24BED00DCD162 /* SDL2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7D88E5423E24D3B00DCD162 /* libSDL2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.a; sourceTree = BUILT_PRODUCTS_DIR; }; + A7D88B5423E2437C00DCD162 /* SDL3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL3.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A7D88D1523E24BED00DCD162 /* SDL3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL3.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A7D88E5423E24D3B00DCD162 /* libSDL3.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL3.a; sourceTree = BUILT_PRODUCTS_DIR; }; A7D8A57023E2513D00DCD162 /* SDL_dataqueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_dataqueue.h; sourceTree = ""; }; A7D8A57123E2513D00DCD162 /* SDL.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL.c; sourceTree = ""; }; A7D8A57323E2513D00DCD162 /* SDL_spinlock.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_spinlock.c; sourceTree = ""; }; @@ -4098,11 +4098,11 @@ AAC070F8195606770073DCDF /* SDL_opengles2_khrplatform.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_opengles2_khrplatform.h; sourceTree = ""; }; AADA5B8616CCAB3000107CF7 /* SDL_bits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_bits.h; sourceTree = ""; }; BECDF66B0761BA81005FE872 /* Info-Framework.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Info-Framework.plist"; sourceTree = ""; }; - BECDF66C0761BA81005FE872 /* SDL2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - BECDF6B30761BA81005FE872 /* libSDL2.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL2.a; sourceTree = BUILT_PRODUCTS_DIR; }; - BECDF6BE0761BA81005FE872 /* SDL2 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = SDL2; sourceTree = BUILT_PRODUCTS_DIR; }; - DB31407717554B71006C0E22 /* libSDL2.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL2.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; - E2D187CF28A5673500D2B4F1 /* SDL2.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL2.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BECDF66C0761BA81005FE872 /* SDL3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL3.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + BECDF6B30761BA81005FE872 /* libSDL3.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libSDL3.a; sourceTree = BUILT_PRODUCTS_DIR; }; + BECDF6BE0761BA81005FE872 /* SDL3 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = SDL3; sourceTree = BUILT_PRODUCTS_DIR; }; + DB31407717554B71006C0E22 /* libSDL3.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libSDL3.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; + E2D187CF28A5673500D2B4F1 /* SDL3.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SDL3.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E2D187D228A5673500D2B4F1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; F31A92C628D4CB39003BFD6A /* SDL_offscreenopengles.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SDL_offscreenopengles.h; sourceTree = ""; }; F31A92C728D4CB39003BFD6A /* SDL_offscreenopengles.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SDL_offscreenopengles.c; sourceTree = ""; }; @@ -4386,17 +4386,17 @@ 034768DDFF38A45A11DB9C8B /* Products */ = { isa = PBXGroup; children = ( - BECDF66C0761BA81005FE872 /* SDL2.framework */, - BECDF6B30761BA81005FE872 /* libSDL2.a */, - BECDF6BE0761BA81005FE872 /* SDL2 */, - DB31407717554B71006C0E22 /* libSDL2.dylib */, - A7D88B5423E2437C00DCD162 /* SDL2.framework */, - A7D88D1523E24BED00DCD162 /* SDL2.framework */, - A7D88E5423E24D3B00DCD162 /* libSDL2.a */, - A769B23D23E259AE00872273 /* libSDL2.a */, - A75FCEB323E25AB700529352 /* libSDL2.dylib */, - A75FD06C23E25AC700529352 /* libSDL2.dylib */, - E2D187CF28A5673500D2B4F1 /* SDL2.framework */, + BECDF66C0761BA81005FE872 /* SDL3.framework */, + BECDF6B30761BA81005FE872 /* libSDL3.a */, + BECDF6BE0761BA81005FE872 /* SDL3 */, + DB31407717554B71006C0E22 /* libSDL3.dylib */, + A7D88B5423E2437C00DCD162 /* SDL3.framework */, + A7D88D1523E24BED00DCD162 /* SDL3.framework */, + A7D88E5423E24D3B00DCD162 /* libSDL3.a */, + A769B23D23E259AE00872273 /* libSDL3.a */, + A75FCEB323E25AB700529352 /* libSDL3.dylib */, + A75FD06C23E25AC700529352 /* libSDL3.dylib */, + E2D187CF28A5673500D2B4F1 /* SDL3.framework */, ); name = Products; sourceTree = ""; @@ -4408,7 +4408,7 @@ F59C70FC00D5CB5801000001 /* pkg-support */, 0153844A006D81B07F000001 /* Public Headers */, 08FB77ACFE841707C02AAC07 /* Library Source */, - E2D187D028A5673500D2B4F1 /* SDL2 */, + E2D187D028A5673500D2B4F1 /* SDL3 */, 034768DDFF38A45A11DB9C8B /* Products */, BECDF66B0761BA81005FE872 /* Info-Framework.plist */, 564624341FF821B70074AC87 /* Frameworks */, @@ -5344,12 +5344,12 @@ path = events; sourceTree = ""; }; - E2D187D028A5673500D2B4F1 /* SDL2 */ = { + E2D187D028A5673500D2B4F1 /* SDL3 */ = { isa = PBXGroup; children = ( E2D187D228A5673500D2B4F1 /* Info.plist */, ); - path = SDL2; + path = SDL3; sourceTree = ""; }; F3ADAB8C2576F08500A6B1D9 /* ios */ = { @@ -7299,13 +7299,13 @@ ); buildRules = ( ); - comments = "This produces libSDL2.dylib, which is the shared build of SDL."; + comments = "This produces libSDL3.dylib, which is the shared build of SDL."; dependencies = ( ); name = "Shared Library-iOS"; productInstallPath = /usr/local/lib; productName = "Shared Library"; - productReference = A75FCEB323E25AB700529352 /* libSDL2.dylib */; + productReference = A75FCEB323E25AB700529352 /* libSDL3.dylib */; productType = "com.apple.product-type.library.dynamic"; }; A75FCEB423E25AC700529352 /* Shared Library-tvOS */ = { @@ -7319,13 +7319,13 @@ ); buildRules = ( ); - comments = "This produces libSDL2.dylib, which is the shared build of SDL."; + comments = "This produces libSDL3.dylib, which is the shared build of SDL."; dependencies = ( ); name = "Shared Library-tvOS"; productInstallPath = /usr/local/lib; productName = "Shared Library"; - productReference = A75FD06C23E25AC700529352 /* libSDL2.dylib */; + productReference = A75FD06C23E25AC700529352 /* libSDL3.dylib */; productType = "com.apple.product-type.library.dynamic"; }; A769B08223E259AE00872273 /* Static Library-tvOS */ = { @@ -7345,7 +7345,7 @@ name = "Static Library-tvOS"; productInstallPath = /usr/local/lib; productName = "Static Library"; - productReference = A769B23D23E259AE00872273 /* libSDL2.a */; + productReference = A769B23D23E259AE00872273 /* libSDL3.a */; productType = "com.apple.product-type.library.static"; }; A7D88A1423E2437C00DCD162 /* Framework-iOS */ = { @@ -7367,7 +7367,7 @@ name = "Framework-iOS"; productInstallPath = "@executable_path/../Frameworks"; productName = SDL; - productReference = A7D88B5423E2437C00DCD162 /* SDL2.framework */; + productReference = A7D88B5423E2437C00DCD162 /* SDL3.framework */; productType = "com.apple.product-type.framework"; }; A7D88BC923E24BED00DCD162 /* Framework-tvOS */ = { @@ -7389,7 +7389,7 @@ name = "Framework-tvOS"; productInstallPath = "@executable_path/../Frameworks"; productName = SDL; - productReference = A7D88D1523E24BED00DCD162 /* SDL2.framework */; + productReference = A7D88D1523E24BED00DCD162 /* SDL3.framework */; productType = "com.apple.product-type.framework"; }; A7D88D1723E24D3B00DCD162 /* Static Library-iOS */ = { @@ -7409,7 +7409,7 @@ name = "Static Library-iOS"; productInstallPath = /usr/local/lib; productName = "Static Library"; - productReference = A7D88E5423E24D3B00DCD162 /* libSDL2.a */; + productReference = A7D88E5423E24D3B00DCD162 /* libSDL3.a */; productType = "com.apple.product-type.library.static"; }; BECDF5FE0761BA81005FE872 /* Framework */ = { @@ -7431,7 +7431,7 @@ name = Framework; productInstallPath = "@executable_path/../Frameworks"; productName = SDL; - productReference = BECDF66C0761BA81005FE872 /* SDL2.framework */; + productReference = BECDF66C0761BA81005FE872 /* SDL3.framework */; productType = "com.apple.product-type.framework"; }; BECDF66D0761BA81005FE872 /* Static Library */ = { @@ -7451,7 +7451,7 @@ name = "Static Library"; productInstallPath = /usr/local/lib; productName = "Static Library"; - productReference = BECDF6B30761BA81005FE872 /* libSDL2.a */; + productReference = BECDF6B30761BA81005FE872 /* libSDL3.a */; productType = "com.apple.product-type.library.static"; }; BECDF6BB0761BA81005FE872 /* Standard DMG */ = { @@ -7468,7 +7468,7 @@ name = "Standard DMG"; productInstallPath = /usr/local/bin; productName = "Standard Package"; - productReference = BECDF6BE0761BA81005FE872 /* SDL2 */; + productReference = BECDF6BE0761BA81005FE872 /* SDL3 */; productType = "com.apple.product-type.tool"; }; DB313F7217554B71006C0E22 /* Shared Library */ = { @@ -7482,13 +7482,13 @@ ); buildRules = ( ); - comments = "This produces libSDL2.dylib, which is the shared build of SDL."; + comments = "This produces libSDL3.dylib, which is the shared build of SDL."; dependencies = ( ); name = "Shared Library"; productInstallPath = /usr/local/lib; productName = "Shared Library"; - productReference = DB31407717554B71006C0E22 /* libSDL2.dylib */; + productReference = DB31407717554B71006C0E22 /* libSDL3.dylib */; productType = "com.apple.product-type.library.dynamic"; }; E2D187CE28A5673500D2B4F1 /* xcFramework-iOS */ = { @@ -7506,8 +7506,8 @@ dependencies = ( ); name = "xcFramework-iOS"; - productName = SDL2; - productReference = E2D187CF28A5673500D2B4F1 /* SDL2.framework */; + productName = SDL3; + productReference = E2D187CF28A5673500D2B4F1 /* SDL3.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -7645,7 +7645,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Sign framework\nif [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" $TARGET_BUILD_DIR/SDL2.framework/Versions/A || exit $?\nfi\n\n# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\ncp -a $TARGET_BUILD_DIR/SDL2.framework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL2 -srcfolder build/dmg-tmp build/SDL2.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n"; + shellScript = "# Sign framework\nif [ \"$SDL_CODESIGN_IDENTITY\" != \"\" ]; then\n codesign --force --deep --sign \"$SDL_CODESIGN_IDENTITY\" $TARGET_BUILD_DIR/SDL3.framework/Versions/A || exit $?\nfi\n\n# clean up the framework, remove headers, extra files\nmkdir -p build/dmg-tmp\ncp -a $TARGET_BUILD_DIR/SDL3.framework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL3 -srcfolder build/dmg-tmp build/SDL3.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n"; }; E2D187E728A5685000D2B4F1 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; @@ -7662,7 +7662,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "# Build an xcframework with both device and simulator files for all platforms.\n# Adapted from an answer in\n# https://developer.apple.com/forums/thread/666335?answerId=685927022#685927022\n\nif [ \"$XCODE_VERSION_ACTUAL\" -lt 1100 ]\nthen\n\techo \"error: Building an xcframework requires Xcode 11 minimum.\"\n\texit 1\nfi\n\nSCHEME_NAME=\"Framework-iOS\"\nFRAMEWORK_NAME=\"SDL2\"\nPROJECT_NAME=\"SDL\"\n\nSIMULATOR_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphonesimulator.xcarchive\"\nDEVICE_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphoneos.xcarchive\"\n\nOUTPUT_DIR=\"./Products/\"\n\n# Simulator xcarchive (arm64, i386, x86_64)\nxcodebuild archive \\\n\tONLY_ACTIVE_ARCH=NO \\\n\t-scheme ${SCHEME_NAME} \\\n\t-project \"${PROJECT_NAME}.xcodeproj\" \\\n\t-archivePath ${SIMULATOR_ARCHIVE_PATH} \\\n\t-sdk iphonesimulator \\\n\tBUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n\tSKIP_INSTALL=NO\n\n# Device xcarchive (arm64, armv7)\nxcodebuild archive \\\n\t-scheme ${SCHEME_NAME} \\\n\t-project \"${PROJECT_NAME}.xcodeproj\" \\\n\t-archivePath ${DEVICE_ARCHIVE_PATH} \\\n\t-sdk iphoneos \\\n\tBUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n\tSKIP_INSTALL=NO\n\n# Clean-up any existing instance of this xcframework from the Products directory\nrm -rf \"${OUTPUT_DIR}${FRAMEWORK_NAME}.xcframework\"\n\n# Create final xcframework\nxcodebuild -create-xcframework \\\n\t-framework \"${DEVICE_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n\t-framework \"${SIMULATOR_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n\t-output ${OUTPUT_DIR}/${FRAMEWORK_NAME}.xcframework\n\n# Ensure git doesn't pick up on our Products folder. \nrm -rf ${OUTPUT_DIR}/.gitignore\necho \"*\" >> ${OUTPUT_DIR}/.gitignore\n"; + shellScript = "# Build an xcframework with both device and simulator files for all platforms.\n# Adapted from an answer in\n# https://developer.apple.com/forums/thread/666335?answerId=685927022#685927022\n\nif [ \"$XCODE_VERSION_ACTUAL\" -lt 1100 ]\nthen\n\techo \"error: Building an xcframework requires Xcode 11 minimum.\"\n\texit 1\nfi\n\nSCHEME_NAME=\"Framework-iOS\"\nFRAMEWORK_NAME=\"SDL3\"\nPROJECT_NAME=\"SDL\"\n\nSIMULATOR_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphonesimulator.xcarchive\"\nDEVICE_ARCHIVE_PATH=\"${BUILD_DIR}/${CONFIGURATION}/${FRAMEWORK_NAME}-iphoneos.xcarchive\"\n\nOUTPUT_DIR=\"./Products/\"\n\n# Simulator xcarchive (arm64, i386, x86_64)\nxcodebuild archive \\\n\tONLY_ACTIVE_ARCH=NO \\\n\t-scheme ${SCHEME_NAME} \\\n\t-project \"${PROJECT_NAME}.xcodeproj\" \\\n\t-archivePath ${SIMULATOR_ARCHIVE_PATH} \\\n\t-sdk iphonesimulator \\\n\tBUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n\tSKIP_INSTALL=NO\n\n# Device xcarchive (arm64, armv7)\nxcodebuild archive \\\n\t-scheme ${SCHEME_NAME} \\\n\t-project \"${PROJECT_NAME}.xcodeproj\" \\\n\t-archivePath ${DEVICE_ARCHIVE_PATH} \\\n\t-sdk iphoneos \\\n\tBUILD_LIBRARY_FOR_DISTRIBUTION=YES \\\n\tSKIP_INSTALL=NO\n\n# Clean-up any existing instance of this xcframework from the Products directory\nrm -rf \"${OUTPUT_DIR}${FRAMEWORK_NAME}.xcframework\"\n\n# Create final xcframework\nxcodebuild -create-xcframework \\\n\t-framework \"${DEVICE_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n\t-framework \"${SIMULATOR_ARCHIVE_PATH}\"/Products/Library/Frameworks/${FRAMEWORK_NAME}.framework \\\n\t-output ${OUTPUT_DIR}/${FRAMEWORK_NAME}.xcframework\n\n# Ensure git doesn't pick up on our Products folder. \nrm -rf ${OUTPUT_DIR}/.gitignore\necho \"*\" >> ${OUTPUT_DIR}/.gitignore\n"; }; F3ED8106281DB8A500C33C5B /* Convert SDL includes to SDL Framework includes */ = { isa = PBXShellScriptBuildPhase; @@ -7680,7 +7680,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "cd \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nsed -i '' -e 's,#include \"\\(.*\\)\",#include ,' *.h\n"; + shellScript = "cd \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nsed -i '' -e 's,#include \"\\(.*\\)\",#include ,' *.h\n"; }; F3ED8107281DB8E600C33C5B /* Convert SDL includes to SDL Framework includes */ = { isa = PBXShellScriptBuildPhase; @@ -7698,7 +7698,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "cd \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nsed -i '' -e 's,#include \"\\(.*\\)\",#include ,' *.h\n"; + shellScript = "cd \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nsed -i '' -e 's,#include \"\\(.*\\)\",#include ,' *.h\n"; }; F3ED8108281DB8F200C33C5B /* Convert SDL includes to SDL Framework includes */ = { isa = PBXShellScriptBuildPhase; @@ -7716,7 +7716,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "cd \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nsed -i '' -e 's,#include \"\\(.*\\)\",#include ,' *.h\n"; + shellScript = "cd \"$BUILT_PRODUCTS_DIR/$PUBLIC_HEADERS_FOLDER_PATH\"\nsed -i '' -e 's,#include \"\\(.*\\)\",#include ,' *.h\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -9528,8 +9528,8 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEPLOYMENT_POSTPROCESSING = YES; - DYLIB_COMPATIBILITY_VERSION = 2601.0.0; - DYLIB_CURRENT_VERSION = 2601.0.0; + DYLIB_COMPATIBILITY_VERSION = 1.0.0; + DYLIB_CURRENT_VERSION = 1.0.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_ALTIVEC_EXTENSIONS = YES; @@ -9559,8 +9559,8 @@ "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.9; - PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL2; - PRODUCT_NAME = SDL2; + PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL3; + PRODUCT_NAME = SDL3; STRIP_STYLE = "non-global"; TVOS_DEPLOYMENT_TARGET = 9.0; }; @@ -9570,7 +9570,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_LINK_OBJC_RUNTIME = NO; - MARKETING_VERSION = 2.0.17; + MARKETING_VERSION = 3.0.0; OTHER_LDFLAGS = "-liconv"; }; name = Release; @@ -9613,8 +9613,8 @@ CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; DEBUG_INFORMATION_FORMAT = dwarf; - DYLIB_COMPATIBILITY_VERSION = 2601.0.0; - DYLIB_CURRENT_VERSION = 2601.0.0; + DYLIB_COMPATIBILITY_VERSION = 1.0.0; + DYLIB_CURRENT_VERSION = 1.0.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; @@ -9645,8 +9645,8 @@ ); MACOSX_DEPLOYMENT_TARGET = 10.9; ONLY_ACTIVE_ARCH = NO; - PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL2; - PRODUCT_NAME = SDL2; + PRODUCT_BUNDLE_IDENTIFIER = org.libsdl.SDL3; + PRODUCT_NAME = SDL3; STRIP_INSTALLED_PRODUCT = NO; TVOS_DEPLOYMENT_TARGET = 9.0; }; @@ -9656,7 +9656,7 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_LINK_OBJC_RUNTIME = NO; - MARKETING_VERSION = 2.0.17; + MARKETING_VERSION = 3.0.0; OTHER_LDFLAGS = "-liconv"; }; name = Debug; @@ -9862,8 +9862,8 @@ CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 2601.0.0; - DYLIB_CURRENT_VERSION = 2601.0.0; + DYLIB_COMPATIBILITY_VERSION = 1.0.0; + DYLIB_CURRENT_VERSION = 1.0.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; @@ -9873,7 +9873,7 @@ ); GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = SDL2/Info.plist; + INFOPLIST_FILE = SDL3/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.1; LD_RUNPATH_SEARCH_PATHS = ( @@ -9885,7 +9885,7 @@ MTL_FAST_MATH = YES; OTHER_LDFLAGS = "-liconv"; PRODUCT_BUNDLE_IDENTIFIER = ""; - PRODUCT_NAME = SDL2; + PRODUCT_NAME = SDL3; SDKROOT = iphoneos; SKIP_INSTALL = NO; SUPPORTS_MACCATALYST = NO; @@ -9914,14 +9914,14 @@ CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 2601.0.0; - DYLIB_CURRENT_VERSION = 2601.0.0; + DYLIB_COMPATIBILITY_VERSION = 1.0.0; + DYLIB_CURRENT_VERSION = 1.0.0; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_NS_ASSERTIONS = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; - INFOPLIST_FILE = SDL2/Info.plist; + INFOPLIST_FILE = SDL3/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.1; LD_RUNPATH_SEARCH_PATHS = ( @@ -9933,7 +9933,7 @@ MTL_FAST_MATH = YES; OTHER_LDFLAGS = "-liconv"; PRODUCT_BUNDLE_IDENTIFIER = ""; - PRODUCT_NAME = SDL2; + PRODUCT_NAME = SDL3; SDKROOT = iphoneos; SKIP_INSTALL = NO; SUPPORTS_MACCATALYST = NO; diff --git a/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/Framework-iOS.xcscheme b/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/Framework-iOS.xcscheme index b797feacb..9c01052f2 100644 --- a/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/Framework-iOS.xcscheme +++ b/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/Framework-iOS.xcscheme @@ -15,7 +15,7 @@ @@ -51,7 +51,7 @@ diff --git a/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/xcFramework-iOS.xcscheme b/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/xcFramework-iOS.xcscheme index 82b464373..36ddd8e2a 100644 --- a/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/xcFramework-iOS.xcscheme +++ b/Xcode/SDL/SDL.xcodeproj/xcshareddata/xcschemes/xcFramework-iOS.xcscheme @@ -15,7 +15,7 @@ @@ -51,7 +51,7 @@ diff --git a/Xcode/SDL/SDL2/Info.plist b/Xcode/SDL/SDL3/Info.plist similarity index 100% rename from Xcode/SDL/SDL2/Info.plist rename to Xcode/SDL/SDL3/Info.plist diff --git a/Xcode/SDL/pkg-support/SDL.info b/Xcode/SDL/pkg-support/SDL.info index f08facd23..c60abf3a3 100644 --- a/Xcode/SDL/pkg-support/SDL.info +++ b/Xcode/SDL/pkg-support/SDL.info @@ -1,4 +1,4 @@ -Title SDL 2.0.0 +Title SDL 3.0.0 Version 1 Description SDL Library for Mac OS X (http://www.libsdl.org) DefaultLocation /Library/Frameworks diff --git a/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake b/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake deleted file mode 100644 index 28c34bc70..000000000 --- a/Xcode/SDL/pkg-support/resources/CMake/sdl2-config.cmake +++ /dev/null @@ -1,69 +0,0 @@ -# SDL2 CMake configuration file: -# This file is meant to be placed in Resources/CMake of a SDL2 framework - -# INTERFACE_LINK_OPTIONS needs CMake 3.12 -cmake_minimum_required(VERSION 3.12) - -include(FeatureSummary) -set_package_properties(SDL2 PROPERTIES - URL "https://www.libsdl.org/" - DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" -) - -# Copied from `configure_package_config_file` -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -# Copied from `configure_package_config_file` -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -set(SDL2_FOUND TRUE) - -string(REGEX REPLACE "SDL2\\.framework.*" "SDL2.framework" SDL2_FRAMEWORK_PATH "${CMAKE_CURRENT_LIST_DIR}") -string(REGEX REPLACE "SDL2\\.framework.*" "" SDL2_FRAMEWORK_PARENT_PATH "${CMAKE_CURRENT_LIST_DIR}") - -# For compatibility with autotools sdl2-config.cmake, provide SDL2_* variables. - -set_and_check(SDL2_PREFIX "${SDL2_FRAMEWORK_PATH}") -set_and_check(SDL2_EXEC_PREFIX "${SDL2_FRAMEWORK_PATH}") -set_and_check(SDL2_INCLUDE_DIR "${SDL2_FRAMEWORK_PATH}/Headers") -set(SDL2_INCLUDE_DIRS "${SDL2_INCLUDE_DIR};${SDL2_FRAMEWORK_PATH}") -set_and_check(SDL2_BINDIR "${SDL2_FRAMEWORK_PATH}") -set_and_check(SDL2_LIBDIR "${SDL2_FRAMEWORK_PATH}") - -set(SDL2_LIBRARIES "SDL2::SDL2") - -# All targets are created, even when some might not be requested though COMPONENTS. -# This is done for compatibility with CMake generated SDL2-target.cmake files. - -if(NOT TARGET SDL2::SDL2) - add_library(SDL2::SDL2 INTERFACE IMPORTED) - set_target_properties(SDL2::SDL2 - PROPERTIES - INTERFACE_COMPILE_OPTIONS "SHELL:-F \"${SDL2_FRAMEWORK_PARENT_PATH}\"" - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" - INTERFACE_LINK_OPTIONS "SHELL:-F \"${SDL2_FRAMEWORK_PARENT_PATH}\";SHELL:-framework SDL2" - COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED" - INTERFACE_SDL2_SHARED "ON" - ) -endif() -set(SDL2_SDL2_FOUND TRUE) - -if(NOT TARGET SDL2::SDL2main) - add_library(SDL2::SDL2main INTERFACE IMPORTED) -endif() -set(SDL2_SDL2main_FOUND TRUE) - -check_required_components(SDL2) diff --git a/Xcode/SDL/pkg-support/resources/CMake/sdl2-config-version.cmake b/Xcode/SDL/pkg-support/resources/CMake/sdl3-config-version.cmake similarity index 94% rename from Xcode/SDL/pkg-support/resources/CMake/sdl2-config-version.cmake rename to Xcode/SDL/pkg-support/resources/CMake/sdl3-config-version.cmake index feea76e5f..6dbcf1298 100644 --- a/Xcode/SDL/pkg-support/resources/CMake/sdl2-config-version.cmake +++ b/Xcode/SDL/pkg-support/resources/CMake/sdl3-config-version.cmake @@ -1,10 +1,10 @@ # based on the files generated by CMake's write_basic_package_version_file -# SDL2 CMake version configuration file: -# This file is meant to be placed in Resources/CMake of a SDL2 framework +# SDL CMake version configuration file: +# This file is meant to be placed in Resources/CMake of a SDL3 framework if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/../../Headers/SDL_version.h") - message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory of SDL2.framework") + message(AUTHOR_WARNING "Could not find SDL_version.h. This script is meant to be placed in the Resources/CMake directory of SDL3.framework") return() endif() diff --git a/Xcode/SDL/pkg-support/resources/CMake/sdl3-config.cmake b/Xcode/SDL/pkg-support/resources/CMake/sdl3-config.cmake new file mode 100644 index 000000000..c62043a2e --- /dev/null +++ b/Xcode/SDL/pkg-support/resources/CMake/sdl3-config.cmake @@ -0,0 +1,69 @@ +# SDL CMake configuration file: +# This file is meant to be placed in Resources/CMake of a SDL3 framework + +# INTERFACE_LINK_OPTIONS needs CMake 3.12 +cmake_minimum_required(VERSION 3.12) + +include(FeatureSummary) +set_package_properties(SDL3 PROPERTIES + URL "https://www.libsdl.org/" + DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" +) + +# Copied from `configure_package_config_file` +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +# Copied from `configure_package_config_file` +macro(check_required_components _NAME) + foreach(comp ${${_NAME}_FIND_COMPONENTS}) + if(NOT ${_NAME}_${comp}_FOUND) + if(${_NAME}_FIND_REQUIRED_${comp}) + set(${_NAME}_FOUND FALSE) + endif() + endif() + endforeach() +endmacro() + +set(SDL3_FOUND TRUE) + +string(REGEX REPLACE "SDL3\\.framework.*" "SDL3.framework" SDL3_FRAMEWORK_PATH "${CMAKE_CURRENT_LIST_DIR}") +string(REGEX REPLACE "SDL3\\.framework.*" "" SDL3_FRAMEWORK_PARENT_PATH "${CMAKE_CURRENT_LIST_DIR}") + +# For compatibility with autotools sdl3-config.cmake, provide SDL3_* variables. + +set_and_check(SDL3_PREFIX "${SDL3_FRAMEWORK_PATH}") +set_and_check(SDL3_EXEC_PREFIX "${SDL3_FRAMEWORK_PATH}") +set_and_check(SDL3_INCLUDE_DIR "${SDL3_FRAMEWORK_PATH}/Headers") +set(SDL3_INCLUDE_DIRS "${SDL3_INCLUDE_DIR};${SDL3_FRAMEWORK_PATH}") +set_and_check(SDL3_BINDIR "${SDL3_FRAMEWORK_PATH}") +set_and_check(SDL3_LIBDIR "${SDL3_FRAMEWORK_PATH}") + +set(SDL3_LIBRARIES "SDL3::SDL3") + +# All targets are created, even when some might not be requested though COMPONENTS. +# This is done for compatibility with CMake generated SDL3-target.cmake files. + +if(NOT TARGET SDL3::SDL3) + add_library(SDL3::SDL3 INTERFACE IMPORTED) + set_target_properties(SDL3::SDL3 + PROPERTIES + INTERFACE_COMPILE_OPTIONS "SHELL:-F \"${SDL3_FRAMEWORK_PARENT_PATH}\"" + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIRS}" + INTERFACE_LINK_OPTIONS "SHELL:-F \"${SDL3_FRAMEWORK_PARENT_PATH}\";SHELL:-framework SDL3" + COMPATIBLE_INTERFACE_BOOL "SDL3_SHARED" + INTERFACE_SDL3_SHARED "ON" + ) +endif() +set(SDL3_SDL3_FOUND TRUE) + +if(NOT TARGET SDL3::SDL3main) + add_library(SDL3::SDL3main INTERFACE IMPORTED) +endif() +set(SDL3_SDL3main_FOUND TRUE) + +check_required_components(SDL3) diff --git a/Xcode/SDL/pkg-support/resources/ReadMe.txt b/Xcode/SDL/pkg-support/resources/ReadMe.txt index 9f495913c..9e2976c60 100644 --- a/Xcode/SDL/pkg-support/resources/ReadMe.txt +++ b/Xcode/SDL/pkg-support/resources/ReadMe.txt @@ -15,20 +15,20 @@ contains both the SDL runtime component and development header files. To Install: -Copy the SDL2.framework to /Library/Frameworks +Copy the SDL3.framework to /Library/Frameworks You may alternatively install it in /Library/Frameworks if your access privileges are not high enough. Use in CMake projects: -SDL2.framework can be used in CMake projects using the following pattern: +SDL3.framework can be used in CMake projects using the following pattern: ``` -find_package(SDL2 REQUIRED COMPONENTS SDL2) +find_package(SDL3 REQUIRED COMPONENTS SDL3) add_executable(my_game ${MY_SOURCES}) -target_link_libraries(my_game PRIVATE SDL2::SDL2) +target_link_libraries(my_game PRIVATE SDL3::SDL3) ``` -If SDL2.framework is installed in a non-standard location, +If SDL3.framework is installed in a non-standard location, please refer to the following link for ways to configure CMake: https://cmake.org/cmake/help/latest/command/find_package.html#config-mode-search-procedure diff --git a/Xcode/SDL/pkg-support/resources/SDL_DS_Store b/Xcode/SDL/pkg-support/resources/SDL_DS_Store index 5658d15e4f13fbfd8a786e55c8b7a04cd1229cf8..99e0b237aef593f57ba9edeb417f27a0c07cee93 100644 GIT binary patch delta 86 zcmZpvXsy`bCd6nwu~2++oX|o><4M99jK-5Qg{?V^b&JaNQgYKL7Mf0eD7+jf+9{IF iXuSEW$Rqe;RUj7F0)g{?V^bc@RMQgYKL7Mf0eD7+jf+9{IF gXtepO$R=0.3.20) if(PKG_PIPEWIRE_FOUND) set(HAVE_PIPEWIRE TRUE) - file(GLOB PIPEWIRE_SOURCES ${SDL2_SOURCE_DIR}/src/audio/pipewire/*.c) + file(GLOB PIPEWIRE_SOURCES ${SDL3_SOURCE_DIR}/src/audio/pipewire/*.c) list(APPEND SOURCE_FILES ${PIPEWIRE_SOURCES}) set(SDL_AUDIO_DRIVER_PIPEWIRE 1) list(APPEND EXTRA_CFLAGS ${PKG_PIPEWIRE_CFLAGS}) @@ -146,7 +146,7 @@ macro(CheckPulseAudio) pkg_check_modules(PKG_PULSEAUDIO libpulse-simple) if(PKG_PULSEAUDIO_FOUND) set(HAVE_PULSEAUDIO TRUE) - file(GLOB PULSEAUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/pulseaudio/*.c) + file(GLOB PULSEAUDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/pulseaudio/*.c) list(APPEND SOURCE_FILES ${PULSEAUDIO_SOURCES}) set(SDL_AUDIO_DRIVER_PULSEAUDIO 1) list(APPEND EXTRA_CFLAGS ${PKG_PULSEAUDIO_CFLAGS}) @@ -175,7 +175,7 @@ macro(CheckJACK) pkg_check_modules(PKG_JACK jack) if(PKG_JACK_FOUND) set(HAVE_JACK TRUE) - file(GLOB JACK_SOURCES ${SDL2_SOURCE_DIR}/src/audio/jack/*.c) + file(GLOB JACK_SOURCES ${SDL3_SOURCE_DIR}/src/audio/jack/*.c) list(APPEND SOURCE_FILES ${JACK_SOURCES}) set(SDL_AUDIO_DRIVER_JACK 1) list(APPEND EXTRA_CFLAGS ${PKG_JACK_CFLAGS}) @@ -204,7 +204,7 @@ macro(CheckESD) pkg_check_modules(PKG_ESD esound) if(PKG_ESD_FOUND) set(HAVE_ESD TRUE) - file(GLOB ESD_SOURCES ${SDL2_SOURCE_DIR}/src/audio/esd/*.c) + file(GLOB ESD_SOURCES ${SDL3_SOURCE_DIR}/src/audio/esd/*.c) list(APPEND SOURCE_FILES ${ESD_SOURCES}) set(SDL_AUDIO_DRIVER_ESD 1) list(APPEND EXTRA_CFLAGS ${PKG_ESD_CFLAGS}) @@ -237,7 +237,7 @@ macro(CheckARTS) list(APPEND EXTRA_CFLAGS ${ARTS_CFLAGS}) execute_process(CMD_ARTSLIBS ${ARTS_CONFIG} --libs OUTPUT_VARIABLE ARTS_LIBS OUTPUT_STRIP_TRAILING_WHITESPACE) - file(GLOB ARTS_SOURCES ${SDL2_SOURCE_DIR}/src/audio/arts/*.c) + file(GLOB ARTS_SOURCES ${SDL3_SOURCE_DIR}/src/audio/arts/*.c) list(APPEND SOURCE_FILES ${ARTS_SOURCES}) set(SDL_AUDIO_DRIVER_ARTS 1) set(HAVE_ARTS TRUE) @@ -269,7 +269,7 @@ macro(CheckNAS) find_library(D_NAS_LIB audio) if(HAVE_NAS_H AND D_NAS_LIB) set(HAVE_NAS TRUE) - file(GLOB NAS_SOURCES ${SDL2_SOURCE_DIR}/src/audio/nas/*.c) + file(GLOB NAS_SOURCES ${SDL3_SOURCE_DIR}/src/audio/nas/*.c) list(APPEND SOURCE_FILES ${NAS_SOURCES}) set(SDL_AUDIO_DRIVER_NAS 1) if(SDL_NAS_SHARED AND NOT HAVE_SDL_LOADSO) @@ -297,7 +297,7 @@ macro(CheckSNDIO) pkg_check_modules(PKG_SNDIO sndio) if(PKG_SNDIO_FOUND) set(HAVE_SNDIO TRUE) - file(GLOB SNDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/sndio/*.c) + file(GLOB SNDIO_SOURCES ${SDL3_SOURCE_DIR}/src/audio/sndio/*.c) list(APPEND SOURCE_FILES ${SNDIO_SOURCES}) set(SDL_AUDIO_DRIVER_SNDIO 1) list(APPEND EXTRA_CFLAGS ${PKG_SNDIO_CFLAGS}) @@ -326,7 +326,7 @@ macro(CheckFusionSound) pkg_check_modules(PKG_FUSIONSOUND fusionsound>=1.0.0) if(PKG_FUSIONSOUND_FOUND) set(HAVE_FUSIONSOUND TRUE) - file(GLOB FUSIONSOUND_SOURCES ${SDL2_SOURCE_DIR}/src/audio/fusionsound/*.c) + file(GLOB FUSIONSOUND_SOURCES ${SDL3_SOURCE_DIR}/src/audio/fusionsound/*.c) list(APPEND SOURCE_FILES ${FUSIONSOUND_SOURCES}) set(SDL_AUDIO_DRIVER_FUSIONSOUND 1) list(APPEND EXTRA_CFLAGS ${PKG_FUSIONSOUND_CFLAGS}) @@ -442,7 +442,7 @@ macro(CheckX11) set(HAVE_X11 TRUE) set(HAVE_SDL_VIDEO TRUE) - file(GLOB X11_SOURCES ${SDL2_SOURCE_DIR}/src/video/x11/*.c) + file(GLOB X11_SOURCES ${SDL3_SOURCE_DIR}/src/video/x11/*.c) list(APPEND SOURCE_FILES ${X11_SOURCES}) set(SDL_VIDEO_DRIVER_X11 1) @@ -662,17 +662,17 @@ macro(CheckWayland) set(HAVE_WAYLAND TRUE) set(HAVE_SDL_VIDEO TRUE) - file(GLOB WAYLAND_SOURCES ${SDL2_SOURCE_DIR}/src/video/wayland/*.c) + file(GLOB WAYLAND_SOURCES ${SDL3_SOURCE_DIR}/src/video/wayland/*.c) list(APPEND SOURCE_FILES ${WAYLAND_SOURCES}) # We have to generate some protocol interface code for some unstable Wayland features. file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols") target_include_directories(sdl-build-options INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/wayland-generated-protocols") - file(GLOB WAYLAND_PROTOCOLS_XML RELATIVE "${SDL2_SOURCE_DIR}/wayland-protocols/" "${SDL2_SOURCE_DIR}/wayland-protocols/*.xml") + file(GLOB WAYLAND_PROTOCOLS_XML RELATIVE "${SDL3_SOURCE_DIR}/wayland-protocols/" "${SDL3_SOURCE_DIR}/wayland-protocols/*.xml") foreach(_XML ${WAYLAND_PROTOCOLS_XML}) string(REGEX REPLACE "\\.xml$" "" _PROTL "${_XML}") - WaylandProtocolGen("${WAYLAND_SCANNER}" "${WAYLAND_SCANNER_CODE_MODE}" "${SDL2_SOURCE_DIR}/wayland-protocols/${_XML}" "${_PROTL}") + WaylandProtocolGen("${WAYLAND_SCANNER}" "${WAYLAND_SCANNER_CODE_MODE}" "${SDL3_SOURCE_DIR}/wayland-protocols/${_XML}" "${_PROTL}") endforeach() if(SDL_WAYLAND_QT_TOUCH) @@ -731,7 +731,7 @@ macro(CheckCOCOA) set(HAVE_COCOA TRUE) endif() if(HAVE_COCOA) - file(GLOB COCOA_SOURCES ${SDL2_SOURCE_DIR}/src/video/cocoa/*.m) + file(GLOB COCOA_SOURCES ${SDL3_SOURCE_DIR}/src/video/cocoa/*.m) list(APPEND SOURCE_FILES ${COCOA_SOURCES}) set(SDL_VIDEO_DRIVER_COCOA 1) set(HAVE_SDL_VIDEO TRUE) @@ -749,7 +749,7 @@ macro(CheckDirectFB) pkg_check_modules(PKG_DIRECTFB directfb>=1.0.0) if(PKG_DIRECTFB_FOUND) set(HAVE_DIRECTFB TRUE) - file(GLOB DIRECTFB_SOURCES ${SDL2_SOURCE_DIR}/src/video/directfb/*.c) + file(GLOB DIRECTFB_SOURCES ${SDL3_SOURCE_DIR}/src/video/directfb/*.c) list(APPEND SOURCE_FILES ${DIRECTFB_SOURCES}) set(SDL_VIDEO_DRIVER_DIRECTFB 1) set(SDL_VIDEO_RENDER_DIRECTFB 1) @@ -786,7 +786,7 @@ macro(CheckVivante) set(HAVE_VIVANTE TRUE) set(HAVE_SDL_VIDEO TRUE) - file(GLOB VIVANTE_SOURCES ${SDL2_SOURCE_DIR}/src/video/vivante/*.c) + file(GLOB VIVANTE_SOURCES ${SDL3_SOURCE_DIR}/src/video/vivante/*.c) list(APPEND SOURCE_FILES ${VIVANTE_SOURCES}) set(SDL_VIDEO_DRIVER_VIVANTE 1) if(HAVE_VIVANTE_VDK) @@ -1000,17 +1000,17 @@ macro(CheckPTHREAD) endif() set(SOURCE_FILES ${SOURCE_FILES} - ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systhread.c - ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_sysmutex.c # Can be faked, if necessary - ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_syscond.c # Can be faked, if necessary - ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_systls.c + ${SDL3_SOURCE_DIR}/src/thread/pthread/SDL_systhread.c + ${SDL3_SOURCE_DIR}/src/thread/pthread/SDL_sysmutex.c # Can be faked, if necessary + ${SDL3_SOURCE_DIR}/src/thread/pthread/SDL_syscond.c # Can be faked, if necessary + ${SDL3_SOURCE_DIR}/src/thread/pthread/SDL_systls.c ) if(HAVE_PTHREADS_SEM) set(SOURCE_FILES ${SOURCE_FILES} - ${SDL2_SOURCE_DIR}/src/thread/pthread/SDL_syssem.c) + ${SDL3_SOURCE_DIR}/src/thread/pthread/SDL_syssem.c) else() set(SOURCE_FILES ${SOURCE_FILES} - ${SDL2_SOURCE_DIR}/src/thread/generic/SDL_syssem.c) + ${SDL3_SOURCE_DIR}/src/thread/generic/SDL_syssem.c) endif() set(HAVE_SDL_THREADS TRUE) endif() @@ -1147,7 +1147,7 @@ macro(CheckUSBHID) set(SDL_HAVE_MACHINE_JOYSTICK_H 1) endif() set(SDL_JOYSTICK_USBHID 1) - file(GLOB BSD_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/bsd/*.c) + file(GLOB BSD_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/bsd/*.c) list(APPEND SOURCE_FILES ${BSD_JOYSTICK_SOURCES}) list(APPEND EXTRA_CFLAGS ${USB_CFLAGS}) list(APPEND EXTRA_LIBS ${USB_LIBS}) @@ -1191,10 +1191,10 @@ macro(CheckHIDAPI) if(HAVE_HIDAPI) if(ANDROID) - list(APPEND SOURCE_FILES ${SDL2_SOURCE_DIR}/src/hidapi/android/hid.cpp) + list(APPEND SOURCE_FILES ${SDL3_SOURCE_DIR}/src/hidapi/android/hid.cpp) endif() if(IOS OR TVOS) - list(APPEND SOURCE_FILES ${SDL2_SOURCE_DIR}/src/hidapi/ios/hid.m) + list(APPEND SOURCE_FILES ${SDL3_SOURCE_DIR}/src/hidapi/ios/hid.m) set(SDL_FRAMEWORK_COREBLUETOOTH 1) endif() set(HAVE_SDL_HIDAPI TRUE) @@ -1203,7 +1203,7 @@ macro(CheckHIDAPI) set(SDL_JOYSTICK_HIDAPI 1) set(HAVE_SDL_JOYSTICK TRUE) set(HAVE_HIDAPI_JOYSTICK TRUE) - file(GLOB HIDAPI_JOYSTICK_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c) + file(GLOB HIDAPI_JOYSTICK_SOURCES ${SDL3_SOURCE_DIR}/src/joystick/hidapi/*.c) list(APPEND SOURCE_FILES ${HIDAPI_JOYSTICK_SOURCES}) endif() else() @@ -1244,7 +1244,7 @@ macro(CheckRPI) if(SDL_VIDEO AND HAVE_RPI) set(HAVE_SDL_VIDEO TRUE) set(SDL_VIDEO_DRIVER_RPI 1) - file(GLOB VIDEO_RPI_SOURCES ${SDL2_SOURCE_DIR}/src/video/raspberry/*.c) + file(GLOB VIDEO_RPI_SOURCES ${SDL3_SOURCE_DIR}/src/video/raspberry/*.c) list(APPEND SOURCE_FILES ${VIDEO_RPI_SOURCES}) list(APPEND EXTRA_LIBS ${VIDEO_RPI_LIBRARIES}) # !!! FIXME: shouldn't be using CMAKE_C_FLAGS, right? @@ -1269,7 +1269,7 @@ macro(CheckKMSDRM) set(HAVE_KMSDRM TRUE) set(HAVE_SDL_VIDEO TRUE) - file(GLOB KMSDRM_SOURCES ${SDL2_SOURCE_DIR}/src/video/kmsdrm/*.c) + file(GLOB KMSDRM_SOURCES ${SDL3_SOURCE_DIR}/src/video/kmsdrm/*.c) list(APPEND SOURCE_FILES ${KMSDRM_SOURCES}) list(APPEND EXTRA_CFLAGS ${PKG_KMSDRM_CFLAGS}) diff --git a/cmake/test/CMakeLists.txt b/cmake/test/CMakeLists.txt index 388e86c54..d4e488c54 100644 --- a/cmake/test/CMakeLists.txt +++ b/cmake/test/CMakeLists.txt @@ -16,109 +16,109 @@ endif() cmake_policy(SET CMP0074 NEW) -# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL2 outside of sysroot +# Override CMAKE_FIND_ROOT_PATH_MODE to allow search for SDL3 outside of sysroot set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE NEVER) include(FeatureSummary) -option(TEST_SHARED "Test linking to shared SDL2 library" ON) +option(TEST_SHARED "Test linking to shared SDL3 library" ON) add_feature_info("TEST_SHARED" TEST_SHARED "Test linking with shared library") -option(TEST_STATIC "Test linking to static SDL2 library" ON) +option(TEST_STATIC "Test linking to static SDL3 library" ON) add_feature_info("TEST_STATIC" TEST_STATIC "Test linking with static library") if(TEST_SHARED) - find_package(SDL2 REQUIRED CONFIG COMPONENTS SDL2) + find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3) if(EMSCRIPTEN OR (WIN32 AND NOT WINDOWS_STORE)) - find_package(SDL2 REQUIRED CONFIG COMPONENTS SDL2main) + find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3main) endif() add_executable(gui-shared WIN32 main_gui.c) - if(TARGET SDL2::SDL2main) - target_link_libraries(gui-shared PRIVATE SDL2::SDL2main) + if(TARGET SDL3::SDL3main) + target_link_libraries(gui-shared PRIVATE SDL3::SDL3main) endif() - target_link_libraries(gui-shared PRIVATE SDL2::SDL2) + target_link_libraries(gui-shared PRIVATE SDL3::SDL3) if(WIN32) add_custom_command(TARGET gui-shared POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "$" "$" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "$" "$" ) endif() add_library(sharedlib-shared SHARED main_lib.c) - target_link_libraries(sharedlib-shared PRIVATE SDL2::SDL2) + target_link_libraries(sharedlib-shared PRIVATE SDL3::SDL3) generate_export_header(sharedlib-shared EXPORT_MACRO_NAME MYLIBRARY_EXPORT) target_compile_definitions(sharedlib-shared PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-shared_export.h\"") set_target_properties(sharedlib-shared PROPERTIES C_VISIBILITY_PRESET "hidden") add_executable(gui-shared-vars WIN32 main_gui.c) - target_link_libraries(gui-shared-vars PRIVATE ${SDL2_LIBRARIES}) - target_include_directories(gui-shared-vars PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(gui-shared-vars PRIVATE ${SDL3_LIBRARIES}) + target_include_directories(gui-shared-vars PRIVATE ${SDL3_INCLUDE_DIRS}) add_executable(cli-shared main_cli.c) - target_link_libraries(cli-shared PRIVATE SDL2::SDL2) + target_link_libraries(cli-shared PRIVATE SDL3::SDL3) if(WIN32) add_custom_command(TARGET cli-shared POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "$" "$" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "$" "$" ) endif() - # SDL2_LIBRARIES does not support creating a cli SDL2 application - # (it is possible that SDL2main is a stub, but we don't know for sure) - if(NOT TARGET SDL2::SDL2main) + # SDL3_LIBRARIES does not support creating a cli SDL3 application + # (it is possible that SDL3main is a stub, but we don't know for sure) + if(NOT TARGET SDL3::SDL3main) add_executable(cli-shared-vars main_cli.c) - target_link_libraries(cli-shared-vars PRIVATE ${SDL2_LIBRARIES}) - target_include_directories(cli-shared-vars PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(cli-shared-vars PRIVATE ${SDL3_LIBRARIES}) + target_include_directories(cli-shared-vars PRIVATE ${SDL3_INCLUDE_DIRS}) endif() add_library(sharedlib-shared-vars SHARED main_lib.c) - target_link_libraries(sharedlib-shared-vars PRIVATE ${SDL2_LIBRARIES}) - target_include_directories(sharedlib-shared-vars PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(sharedlib-shared-vars PRIVATE ${SDL3_LIBRARIES}) + target_include_directories(sharedlib-shared-vars PRIVATE ${SDL3_INCLUDE_DIRS}) generate_export_header(sharedlib-shared-vars EXPORT_MACRO_NAME MYLIBRARY_EXPORT) target_compile_definitions(sharedlib-shared-vars PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-shared-vars_export.h\"") set_target_properties(sharedlib-shared-vars PROPERTIES C_VISIBILITY_PRESET "hidden") endif() if(TEST_STATIC) - find_package(SDL2 REQUIRED CONFIG COMPONENTS SDL2-static) + find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3-static) if(EMSCRIPTEN OR (WIN32 AND NOT WINDOWS_STORE)) - find_package(SDL2 REQUIRED CONFIG COMPONENTS SDL2main) + find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3main) endif() add_executable(gui-static WIN32 main_gui.c) - if(TARGET SDL2::SDL2main) - target_link_libraries(gui-static PRIVATE SDL2::SDL2main) + if(TARGET SDL3::SDL3main) + target_link_libraries(gui-static PRIVATE SDL3::SDL3main) endif() - target_link_libraries(gui-static PRIVATE SDL2::SDL2-static) + target_link_libraries(gui-static PRIVATE SDL3::SDL3-static) option(SDL_STATIC_PIC "SDL static library has been built with PIC") if(SDL_STATIC_PIC OR WIN32) add_library(sharedlib-static SHARED main_lib.c) - target_link_libraries(sharedlib-static PRIVATE SDL2::SDL2-static) + target_link_libraries(sharedlib-static PRIVATE SDL3::SDL3-static) generate_export_header(sharedlib-static EXPORT_MACRO_NAME MYLIBRARY_EXPORT) target_compile_definitions(sharedlib-static PRIVATE "EXPORT_HEADER=\"${CMAKE_CURRENT_BINARY_DIR}/sharedlib-static_export.h\"") set_target_properties(sharedlib-static PROPERTIES C_VISIBILITY_PRESET "hidden") endif() add_executable(gui-static-vars WIN32 main_gui.c) - target_link_libraries(gui-static-vars PRIVATE ${SDL2MAIN_LIBRARY} ${SDL2_STATIC_LIBRARIES}) - target_include_directories(gui-static-vars PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(gui-static-vars PRIVATE ${SDL3MAIN_LIBRARY} ${SDL3_STATIC_LIBRARIES}) + target_include_directories(gui-static-vars PRIVATE ${SDL3_INCLUDE_DIRS}) add_executable(cli-static main_cli.c) - target_link_libraries(cli-static PRIVATE SDL2::SDL2-static) + target_link_libraries(cli-static PRIVATE SDL3::SDL3-static) - # SDL2_LIBRARIES does not support creating a cli SDL2 application (when SDL2::SDL2main is available) - # (it is possible that SDL2main is a stub, but we don't know for sure) - if(NOT TARGET SDL2::SDL2main) + # SDL3_LIBRARIES does not support creating a cli SDL3 application (when SDL3::SDL3main is available) + # (it is possible that SDL3main is a stub, but we don't know for sure) + if(NOT TARGET SDL3::SDL3main) add_executable(cli-static-vars main_cli.c) - target_link_libraries(cli-static-vars PRIVATE ${SDL2_STATIC_LIBRARIES}) - target_include_directories(cli-static-vars PRIVATE ${SDL2_INCLUDE_DIRS}) + target_link_libraries(cli-static-vars PRIVATE ${SDL3_STATIC_LIBRARIES}) + target_include_directories(cli-static-vars PRIVATE ${SDL3_INCLUDE_DIRS}) endif() endif() -message(STATUS "SDL2_PREFIX: ${SDL2_PREFIX}") -message(STATUS "SDL2_INCLUDE_DIR: ${SDL2_INCLUDE_DIR}") -message(STATUS "SDL2_INCLUDE_DIRS: ${SDL2_INCLUDE_DIRS}") -message(STATUS "SDL2_LIBRARIES: ${SDL2_LIBRARIES}") -message(STATUS "SDL2_STATIC_LIBRARIES: ${SDL2_STATIC_LIBRARIES}") -message(STATUS "SDL2MAIN_LIBRARY: ${SDL2MAIN_LIBRARY}") -message(STATUS "SDL2TEST_LIBRARY: ${SDL2TEST_LIBRARY}") +message(STATUS "SDL3_PREFIX: ${SDL3_PREFIX}") +message(STATUS "SDL3_INCLUDE_DIR: ${SDL3_INCLUDE_DIR}") +message(STATUS "SDL3_INCLUDE_DIRS: ${SDL3_INCLUDE_DIRS}") +message(STATUS "SDL3_LIBRARIES: ${SDL3_LIBRARIES}") +message(STATUS "SDL3_STATIC_LIBRARIES: ${SDL3_STATIC_LIBRARIES}") +message(STATUS "SDL3MAIN_LIBRARY: ${SDL3MAIN_LIBRARY}") +message(STATUS "SDL3TEST_LIBRARY: ${SDL3TEST_LIBRARY}") feature_summary(WHAT ALL) diff --git a/cmake/test/jni/Android.mk b/cmake/test/jni/Android.mk index c4956d685..393498857 100644 --- a/cmake/test/jni/Android.mk +++ b/cmake/test/jni/Android.mk @@ -4,8 +4,8 @@ include $(CLEAR_VARS) LOCAL_MODULE := main_gui_androidmk LOCAL_SRC_FILES := ../main_gui.c -LOCAL_SHARED_LIBRARIES += SDL2 +LOCAL_SHARED_LIBRARIES += SDL3 include $(BUILD_SHARED_LIBRARY) -$(call import-module,SDL2main) -$(call import-module,SDL2) +$(call import-module,SDL3main) +$(call import-module,SDL3) diff --git a/cmake/test/main_cli.c b/cmake/test/main_cli.c index f6b083606..2bbedde88 100644 --- a/cmake/test/main_cli.c +++ b/cmake/test/main_cli.c @@ -5,7 +5,7 @@ int main(int argc, char *argv[]) { SDL_SetMainReady(); if (SDL_Init(0) < 0) { - fprintf(stderr, "could not initialize sdl2: %s\n", SDL_GetError()); + fprintf(stderr, "Could not initialize SDL: %s\n", SDL_GetError()); return 1; } SDL_Delay(100); diff --git a/cmake/test/main_gui.c b/cmake/test/main_gui.c index 4ffe9be1c..3ba0adbee 100644 --- a/cmake/test/main_gui.c +++ b/cmake/test/main_gui.c @@ -5,11 +5,11 @@ int main(int argc, char *argv[]) { SDL_Window *window = NULL; SDL_Surface *screenSurface = NULL; if (SDL_Init(SDL_INIT_VIDEO) < 0) { - fprintf(stderr, "could not initialize sdl2: %s\n", SDL_GetError()); + fprintf(stderr, "Could not initialize SDL: %s\n", SDL_GetError()); return 1; } window = SDL_CreateWindow( - "hello_sdl2", + "Hello SDL", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_SHOWN diff --git a/cmake/test/main_lib.c b/cmake/test/main_lib.c index 9801ed56c..0f8928b8d 100644 --- a/cmake/test/main_lib.c +++ b/cmake/test/main_lib.c @@ -17,7 +17,7 @@ int MYLIBRARY_EXPORT mylibrary_work(void); int mylibrary_init(void) { SDL_SetMainReady(); if (SDL_Init(0) < 0) { - fprintf(stderr, "could not initialize sdl2: %s\n", SDL_GetError()); + fprintf(stderr, "Could not initialize SDL: %s\n", SDL_GetError()); return 1; } return 0; diff --git a/cmake/test/test_pkgconfig.sh b/cmake/test/test_pkgconfig.sh index 7afc00b09..c2aa3408c 100755 --- a/cmake/test/test_pkgconfig.sh +++ b/cmake/test/test_pkgconfig.sh @@ -25,9 +25,9 @@ set -e # Get the canonical path of the folder containing this script testdir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)") -CFLAGS="$( pkg-config sdl2 --cflags )" -LDFLAGS="$( pkg-config sdl2 --libs )" -STATIC_LDFLAGS="$( pkg-config sdl2 --libs --static )" +CFLAGS="$( pkg-config sdl3 --cflags )" +LDFLAGS="$( pkg-config sdl3 --libs )" +STATIC_LDFLAGS="$( pkg-config sdl3 --libs --static )" compile_cmd="$CC -c "$testdir/main_gui.c" -o main_gui_pkgconfig.c.o $CFLAGS $EXTRA_CFLAGS" link_cmd="$CC main_gui_pkgconfig.c.o -o ${EXEPREFIX}main_gui_pkgconfig${EXESUFFIX} $LDFLAGS $EXTRA_LDFLAGS" diff --git a/cmake/test/test_sdlconfig.sh b/cmake/test/test_sdlconfig.sh index 8de5421dc..67b62f5c2 100755 --- a/cmake/test/test_sdlconfig.sh +++ b/cmake/test/test_sdlconfig.sh @@ -25,9 +25,9 @@ set -e # Get the canonical path of the folder containing this script testdir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)") -CFLAGS="$( sdl2-config --cflags )" -LDFLAGS="$( sdl2-config --libs )" -STATIC_LDFLAGS="$( sdl2-config --static-libs )" +CFLAGS="$( sdl3-config --cflags )" +LDFLAGS="$( sdl3-config --libs )" +STATIC_LDFLAGS="$( sdl3-config --static-libs )" compile_cmd="$CC -c "$testdir/main_gui.c" -o main_gui_sdlconfig.c.o $CFLAGS $EXTRA_CFLAGS" link_cmd="$CC main_gui_sdlconfig.c.o -o ${EXEPREFIX}main_gui_sdlconfig${EXESUFFIX} $LDFLAGS $EXTRA_LDFLAGS" diff --git a/configure b/configure index 87c576def..677132988 100755 --- a/configure +++ b/configure @@ -684,7 +684,7 @@ SDL_CFLAGS bin_prefix_relpath cmake_prefix_relpath SDL_VENDOR_INFO -INSTALL_SDL2_CONFIG +INSTALL_SDL3_CONFIG LIBUSB_LIBS LIBUSB_CFLAGS IBUS_LIBS @@ -954,7 +954,7 @@ enable_backgrounding_signal enable_foregrounding_signal enable_joystick_virtual enable_render_d3d -enable_sdl2_config +enable_sdl3_config enable_vendor_info ' ac_precious_vars='build_alias @@ -1782,7 +1782,7 @@ Optional Features: --enable-joystick-virtual enable virtual joystick APIs [default=yes] --enable-render-d3d enable the Direct3D render driver [default=yes] - --enable-sdl2-config Install sdl2-config [default=yes] + --enable-sdl3-config Install sdl3-config [default=yes] --enable-vendor-info=STRING Add vendor info to SDL_REVISION @@ -3452,8 +3452,8 @@ ac_config_headers="$ac_config_headers include/SDL_config.h" orig_CFLAGS="$CFLAGS" # See docs/release_checklist.md -SDL_MAJOR_VERSION=2 -SDL_MINOR_VERSION=26 +SDL_MAJOR_VERSION=3 +SDL_MINOR_VERSION=0 SDL_MICRO_VERSION=0 SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION @@ -13073,9 +13073,9 @@ CFLAGS=$lt_save_CFLAGS # For historical reasons, the library name redundantly includes the major -# version twice: libSDL2-2.0.so.0. +# version twice: libSDL3-3.0.so.0. # TODO: in SDL 3, stop using -release, which will simplify it to libSDL3.so.0 -LT_RELEASE=2.0 +LT_RELEASE=3.0 # Increment this if there is an incompatible change - but if that happens, # we should rename the library from SDL2 to SDL3, at which point this would # reset to 0 anyway. @@ -18276,7 +18276,7 @@ EXTRA_LDFLAGS="$BASE_LDFLAGS" # fi #done SDL_CFLAGS="$BASE_CFLAGS" -SDL_LIBS="-lSDL2" +SDL_LIBS="-lSDL3" if test "x$BASE_LDFLAGS" != x; then SDL_LIBS="$SDL_LIBS $BASE_LDFLAGS" fi @@ -28848,7 +28848,7 @@ printf "%s\n" "#define SDL_LOADSO_WINDOWS 1" >>confdefs.h VERSION_SOURCES="$srcdir/src/main/windows/*.rc" SDLMAIN_SOURCES="$srcdir/src/main/windows/*.c" SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" - SDL_LIBS="-lSDL2main $SDL_LIBS -mwindows" + SDL_LIBS="-lSDL3main $SDL_LIBS -mwindows" # Check to see if this is a mingw or cygwin build have_mingw32= @@ -29464,29 +29464,29 @@ esac CheckVirtualJoystick -# Check whether to install sdl2-config -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to install sdl2-config" >&5 -printf %s "checking whether to install sdl2-config... " >&6; } -# Check whether --enable-sdl2-config was given. -if test ${enable_sdl2_config+y} +# Check whether to install sdl3-config +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to install sdl3-config" >&5 +printf %s "checking whether to install sdl3-config... " >&6; } +# Check whether --enable-sdl3-config was given. +if test ${enable_sdl3_config+y} then : - enableval=$enable_sdl2_config; case "${enableval}" in - yes) enable_sdl2_config="TRUE" ;; - no) enable_sdl2_config="FALSE" ;; - *) as_fn_error $? "bad value '${enableval}' for --enable-sdl2-config" "$LINENO" 5 ;; + enableval=$enable_sdl3_config; case "${enableval}" in + yes) enable_sdl3_config="TRUE" ;; + no) enable_sdl3_config="FALSE" ;; + *) as_fn_error $? "bad value '${enableval}' for --enable-sdl3-config" "$LINENO" 5 ;; esac else $as_nop - enable_sdl2_config="TRUE" + enable_sdl3_config="TRUE" fi -if test "$enable_sdl2_config" = "TRUE"; then +if test "$enable_sdl3_config" = "TRUE"; then { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 printf "%s\n" "yes" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi -INSTALL_SDL2_CONFIG=$enable_sdl2_config +INSTALL_SDL3_CONFIG=$enable_sdl3_config # Check whether --enable-vendor-info was given. @@ -29700,7 +29700,7 @@ fi SDL_STATIC_LIBS="$EXTRA_LDFLAGS" -pkg_cmakedir='$libdir/cmake/SDL2' +pkg_cmakedir='$libdir/cmake/SDL3' for _lcl_i in pkg_cmakedir:prefix:cmake_prefix_relpath bindir:prefix:bin_prefix_relpath; do _lcl_from=\$`echo "$_lcl_i" | sed 's,:.*$,,'` _lcl_to=\$`echo "$_lcl_i" | sed 's,^[^:]*:,,' | sed 's,:[^:]*$,,'` @@ -29852,12 +29852,12 @@ $SDLTEST_DEPENDS $WAYLAND_PROTOCOLS_DEPENDS __EOF__ -ac_config_files="$ac_config_files Makefile:Makefile.in:Makefile.rules sdl2-config sdl2-config.cmake sdl2-config-version.cmake SDL2.spec sdl2.pc" +ac_config_files="$ac_config_files Makefile:Makefile.in:Makefile.rules sdl3-config sdl3-config.cmake sdl3-config-version.cmake SDL3.spec sdl3.pc" -ac_config_commands="$ac_config_commands sdl2_config" +ac_config_commands="$ac_config_commands sdl3_config" -SUMMARY="SDL2 Configure Summary:\n" +SUMMARY="SDL3 Configure Summary:\n" if test x$enable_shared = xyes; then SUMMARY="${SUMMARY}Building Shared Libraries\n" fi @@ -31093,12 +31093,12 @@ do "include/SDL_config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/SDL_config.h" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile:Makefile.in:Makefile.rules" ;; - "sdl2-config") CONFIG_FILES="$CONFIG_FILES sdl2-config" ;; - "sdl2-config.cmake") CONFIG_FILES="$CONFIG_FILES sdl2-config.cmake" ;; - "sdl2-config-version.cmake") CONFIG_FILES="$CONFIG_FILES sdl2-config-version.cmake" ;; - "SDL2.spec") CONFIG_FILES="$CONFIG_FILES SDL2.spec" ;; - "sdl2.pc") CONFIG_FILES="$CONFIG_FILES sdl2.pc" ;; - "sdl2_config") CONFIG_COMMANDS="$CONFIG_COMMANDS sdl2_config" ;; + "sdl3-config") CONFIG_FILES="$CONFIG_FILES sdl3-config" ;; + "sdl3-config.cmake") CONFIG_FILES="$CONFIG_FILES sdl3-config.cmake" ;; + "sdl3-config-version.cmake") CONFIG_FILES="$CONFIG_FILES sdl3-config-version.cmake" ;; + "SDL3.spec") CONFIG_FILES="$CONFIG_FILES SDL3.spec" ;; + "sdl3.pc") CONFIG_FILES="$CONFIG_FILES sdl3.pc" ;; + "sdl3_config") CONFIG_COMMANDS="$CONFIG_COMMANDS sdl3_config" ;; "summary") CONFIG_COMMANDS="$CONFIG_COMMANDS summary" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; @@ -32522,7 +32522,7 @@ compiler_lib_search_path=$lt_compiler_lib_search_path_CXX _LT_EOF ;; - "sdl2_config":C) chmod a+x sdl2-config ;; + "sdl3_config":C) chmod a+x sdl3-config ;; "summary":C) printf "$SUMMARY" ;; esac diff --git a/configure.ac b/configure.ac index cc30f9a16..9d2cc2934 100644 --- a/configure.ac +++ b/configure.ac @@ -11,18 +11,18 @@ orig_CFLAGS="$CFLAGS" dnl Set various version strings - taken gratefully from the GTk sources # See docs/release_checklist.md -SDL_MAJOR_VERSION=2 -SDL_MINOR_VERSION=26 +SDL_MAJOR_VERSION=3 +SDL_MINOR_VERSION=0 SDL_MICRO_VERSION=0 SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION SDL_BINARY_AGE=`expr $SDL_MINOR_VERSION \* 100 + $SDL_MICRO_VERSION` AS_CASE(["$SDL_MINOR_VERSION"], [*@<:@02468@:>@], - dnl Stable branch, 2.24.1 -> libSDL2-2.0.so.0.2400.1 + dnl Stable branch, 3.24.1 -> libSDL3-3.0.so.0.2400.1 [SDL_INTERFACE_AGE="$SDL_MICRO_VERSION"], [*], - dnl Development branch, 2.23.1 -> libSDL2-2.0.so.0.2301.0 + dnl Development branch, 3.23.1 -> libSDL3-3.0.so.0.2301.0 [SDL_INTERFACE_AGE=0]) AC_SUBST(SDL_MAJOR_VERSION) @@ -37,9 +37,9 @@ LT_INIT([win32-dll]) LT_LANG([Windows Resource]) # For historical reasons, the library name redundantly includes the major -# version twice: libSDL2-2.0.so.0. +# version twice: libSDL3-3.0.so.0. # TODO: in SDL 3, stop using -release, which will simplify it to libSDL3.so.0 -LT_RELEASE=2.0 +LT_RELEASE=3.0 # Increment this if there is an incompatible change - but if that happens, # we should rename the library from SDL2 to SDL3, at which point this would # reset to 0 anyway. @@ -162,7 +162,7 @@ EXTRA_LDFLAGS="$BASE_LDFLAGS" # fi #done SDL_CFLAGS="$BASE_CFLAGS" -SDL_LIBS="-lSDL2" +SDL_LIBS="-lSDL3" if test "x$BASE_LDFLAGS" != x; then SDL_LIBS="$SDL_LIBS $BASE_LDFLAGS" fi @@ -4168,7 +4168,7 @@ case "$host" in VERSION_SOURCES="$srcdir/src/main/windows/*.rc" SDLMAIN_SOURCES="$srcdir/src/main/windows/*.c" SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" - SDL_LIBS="-lSDL2main $SDL_LIBS -mwindows" + SDL_LIBS="-lSDL3main $SDL_LIBS -mwindows" # Check to see if this is a mingw or cygwin build have_mingw32= @@ -4670,21 +4670,21 @@ esac dnl Permit use of virtual joystick APIs on any platform (subject to configure options) CheckVirtualJoystick -# Check whether to install sdl2-config -AC_MSG_CHECKING(whether to install sdl2-config) -AC_ARG_ENABLE([sdl2-config], - [AS_HELP_STRING([--enable-sdl2-config],[Install sdl2-config [default=yes]])], +# Check whether to install sdl3-config +AC_MSG_CHECKING(whether to install sdl3-config) +AC_ARG_ENABLE([sdl3-config], + [AS_HELP_STRING([--enable-sdl3-config],[Install sdl3-config [default=yes]])], [case "${enableval}" in - yes) enable_sdl2_config="TRUE" ;; - no) enable_sdl2_config="FALSE" ;; - *) AC_MSG_ERROR([bad value '${enableval}' for --enable-sdl2-config]) ;; - esac], [enable_sdl2_config="TRUE"]) -if test "$enable_sdl2_config" = "TRUE"; then + yes) enable_sdl3_config="TRUE" ;; + no) enable_sdl3_config="FALSE" ;; + *) AC_MSG_ERROR([bad value '${enableval}' for --enable-sdl3-config]) ;; + esac], [enable_sdl3_config="TRUE"]) +if test "$enable_sdl3_config" = "TRUE"; then AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi -AC_SUBST([INSTALL_SDL2_CONFIG], [$enable_sdl2_config]) +AC_SUBST([INSTALL_SDL3_CONFIG], [$enable_sdl3_config]) AC_ARG_ENABLE([vendor-info], [AS_HELP_STRING([--enable-vendor-info=STRING], [Add vendor info to SDL_REVISION])], @@ -4850,7 +4850,7 @@ SDL_STATIC_LIBS="$EXTRA_LDFLAGS" dnl Calculate the location of the prefix, relative to the cmake folder dnl Calculate the location of the prefix, relative to bindir -pkg_cmakedir='$libdir/cmake/SDL2' +pkg_cmakedir='$libdir/cmake/SDL3' AX_COMPUTE_RELATIVE_PATHS([pkg_cmakedir:prefix:cmake_prefix_relpath bindir:prefix:bin_prefix_relpath]) AC_SUBST([cmake_prefix_relpath]) AC_SUBST([bin_prefix_relpath]) @@ -4914,11 +4914,11 @@ $WAYLAND_PROTOCOLS_DEPENDS __EOF__ AC_CONFIG_FILES([ - Makefile:Makefile.in:Makefile.rules sdl2-config sdl2-config.cmake sdl2-config-version.cmake SDL2.spec sdl2.pc + Makefile:Makefile.in:Makefile.rules sdl3-config sdl3-config.cmake sdl3-config-version.cmake SDL3.spec sdl3.pc ]) -AC_CONFIG_COMMANDS([sdl2_config],[chmod a+x sdl2-config]) +AC_CONFIG_COMMANDS([sdl3_config],[chmod a+x sdl3-config]) -SUMMARY="SDL2 Configure Summary:\n" +SUMMARY="SDL3 Configure Summary:\n" if test x$enable_shared = xyes; then SUMMARY="${SUMMARY}Building Shared Libraries\n" fi diff --git a/docs/README-android.md b/docs/README-android.md index a247e5721..03d2d8778 100644 --- a/docs/README-android.md +++ b/docs/README-android.md @@ -86,8 +86,8 @@ If you already have a project that uses CMake, the instructions change somewhat: 2. Edit "/app/build.gradle" to comment out or remove sections containing ndk-build and uncomment the cmake sections. Add arguments to the CMake invocation as needed. 3. Edit "/app/jni/CMakeLists.txt" to include your project (it defaults to - adding the "src" subdirectory). Note that you'll have SDL2, SDL2main and SDL2-static - as targets in your project, so you should have "target_link_libraries(yourgame SDL2 SDL2main)" + adding the "src" subdirectory). Note that you'll have SDL3, SDL3main and SDL3-static + as targets in your project, so you should have "target_link_libraries(yourgame SDL3 SDL3main)" in your CMakeLists.txt file. Also be aware that you should use add_library() instead of add_executable() for the target containing your "main" function. @@ -414,10 +414,10 @@ Graphics debugging ================================================================================ If you are developing on a compatible Tegra-based tablet, NVidia provides -Tegra Graphics Debugger at their website. Because SDL2 dynamically loads EGL +Tegra Graphics Debugger at their website. Because SDL3 dynamically loads EGL and GLES libraries, you must follow their instructions for installing the interposer library on a rooted device. The non-rooted instructions are not -compatible with applications that use SDL2 for video. +compatible with applications that use SDL3 for video. The Tegra Graphics Debugger is available from NVidia here: https://developer.nvidia.com/tegra-graphics-debugger diff --git a/docs/README-cmake.md b/docs/README-cmake.md index b10751c1a..10e60b365 100644 --- a/docs/README-cmake.md +++ b/docs/README-cmake.md @@ -57,24 +57,24 @@ option(MYGAME_VENDORED "Use vendored libraries" OFF) if(MYGAME_VENDORED) add_subdirectory(vendored/sdl EXCLUDE_FROM_ALL) else() - # 1. Look for a SDL2 package, 2. look for the SDL2 component and 3. fail if none can be found - find_package(SDL2 REQUIRED CONFIG REQUIRED COMPONENTS SDL2) + # 1. Look for a SDL3 package, 2. look for the SDL3 component and 3. fail if none can be found + find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3) - # 1. Look for a SDL2 package, 2. Look for the SDL2maincomponent and 3. DO NOT fail when SDL2main is not available - find_package(SDL2 REQUIRED CONFIG COMPONENTS SDL2main) + # 1. Look for a SDL3 package, 2. Look for the SDL3maincomponent and 3. DO NOT fail when SDL3main is not available + find_package(SDL3 REQUIRED CONFIG COMPONENTS SDL3main) endif() # Create your game executable target as usual add_executable(mygame WIN32 mygame.c) -# SDL2::SDL2main may or may not be available. It is e.g. required by Windows GUI applications -if(TARGET SDL2::SDL2main) - # It has an implicit dependency on SDL2 functions, so it MUST be added before SDL2::SDL2 (or SDL2::SDL2-static) - target_link_libraries(mygame PRIVATE SDL2::SDL2main) +# SDL3::SDL3main may or may not be available. It is e.g. required by Windows GUI applications +if(TARGET SDL3::SDL3main) + # It has an implicit dependency on SDL3 functions, so it MUST be added before SDL3::SDL3 (or SDL3::SDL3-static) + target_link_libraries(mygame PRIVATE SDL3::SDL3main) endif() -# Link to the actual SDL2 library. SDL2::SDL2 is the shared SDL library, SDL2::SDL2-static is the static SDL libarary. -target_link_libraries(mygame PRIVATE SDL2::SDL2) +# Link to the actual SDL3 library. SDL3::SDL3 is the shared SDL library, SDL3::SDL3-static is the static SDL libarary. +target_link_libraries(mygame PRIVATE SDL3::SDL3) ``` ### A system SDL library @@ -85,10 +85,10 @@ The following components are available, to be used as an argument of `find_packa | Component name | Description | |----------------|--------------------------------------------------------------------------------------------| -| SDL2 | The SDL2 shared library, available through the `SDL2::SDL2` target [^SDL_TARGET_EXCEPTION] | -| SDL2-static | The SDL2 static library, available through the `SDL2::SDL2-static` target | -| SDL2main | The SDL2main static library, available through the `SDL2::SDL2main` target | -| SDL2test | The SDL2test static library, available through the `SDL2::SDL2test` target | +| SDL3 | The SDL3 shared library, available through the `SDL3::SDL3` target [^SDL_TARGET_EXCEPTION] | +| SDL3-static | The SDL3 static library, available through the `SDL3::SDL3-static` target | +| SDL3main | The SDL3main static library, available through the `SDL3::SDL3main` target | +| SDL3test | The SDL3test static library, available through the `SDL3::SDL3test` target | ### Using a vendored SDL @@ -160,4 +160,4 @@ To use, set the following CMake variables when running CMake's configuration sta ``` -[^SDL_TARGET_EXCEPTION]: `SDL2::SDL2` can be an ALIAS to a static `SDL2::SDL2-static` target for multiple reasons. +[^SDL_TARGET_EXCEPTION]: `SDL3::SDL3` can be an ALIAS to a static `SDL3::SDL3-static` target for multiple reasons. diff --git a/docs/README-dynapi.md b/docs/README-dynapi.md index 47b726b1d..99f5074ee 100644 --- a/docs/README-dynapi.md +++ b/docs/README-dynapi.md @@ -4,22 +4,22 @@ Originally posted on Ryan's Google+ account. Background: -- The Steam Runtime has (at least in theory) a really kick-ass build of SDL2, - but developers are shipping their own SDL2 with individual Steam games. - These games might stop getting updates, but a newer SDL2 might be needed later. +- The Steam Runtime has (at least in theory) a really kick-ass build of SDL, + but developers are shipping their own SDL with individual Steam games. + These games might stop getting updates, but a newer SDL might be needed later. Certainly we'll always be fixing bugs in SDL, even if a new video target isn't ever needed, and these fixes won't make it to a game shipping its own SDL. -- Even if we replace the SDL2 in those games with a compatible one, that is to +- Even if we replace the SDL in those games with a compatible one, that is to say, edit a developer's Steam depot (yuck!), there are developers that are - statically linking SDL2 that we can't do this for. We can't even force the - dynamic loader to ignore their SDL2 in this case, of course. -- If you don't ship an SDL2 with the game in some form, people that disabled the + statically linking SDL that we can't do this for. We can't even force the + dynamic loader to ignore their SDL in this case, of course. +- If you don't ship an SDL with the game in some form, people that disabled the Steam Runtime, or just tried to run the game from the command line instead of Steam might find themselves unable to run the game, due to a missing dependency. - If you want to ship on non-Steam platforms like GOG or Humble Bundle, or target - generic Linux boxes that may or may not have SDL2 installed, you have to ship + generic Linux boxes that may or may not have SDL installed, you have to ship the library or risk a total failure to launch. So now, you might have to have - a non-Steam build plus a Steam build (that is, one with and one without SDL2 + a non-Steam build plus a Steam build (that is, one with and one without SDL included), which is inconvenient if you could have had one universal build that works everywhere. - We like the zlib license, but the biggest complaint from the open source @@ -65,8 +65,8 @@ system's dynamic loader was supposed to do for us? Yes, but now we've got this level of indirection, we can do things like this: ```bash -export SDL_DYNAMIC_API=/my/actual/libSDL-2.0.so.0 -./MyGameThatIsStaticallyLinkedToSDL2 +export SDL_DYNAMIC_API=/my/actual/libSDL3.so.0 +./MyGameThatIsStaticallyLinkedToSDL ``` And now, this game that is statically linked to SDL, can still be overridden @@ -108,7 +108,7 @@ the jump table, and the size, in bytes, of the table. Now, we've got policy here: this table's layout never changes; new stuff gets added to the end. Therefore SDL_DYNAPI_entry() knows that it can provide all the needed functions if tablesize <= sizeof its own jump table. If tablesize is -bigger (say, SDL 2.0.4 is trying to load SDL 2.0.3), then we know to abort, but +bigger (say, SDL 3.0.4 is trying to load SDL 3.0.3), then we know to abort, but if it's smaller, we know we can provide the entire API that the caller needs. The version variable is a failsafe switch. diff --git a/docs/README-emscripten.md b/docs/README-emscripten.md index 5f8c27786..f73c6090e 100644 --- a/docs/README-emscripten.md +++ b/docs/README-emscripten.md @@ -59,11 +59,11 @@ Or with cmake: To build one of the tests: $ cd test/ - $ emcc -O2 --js-opts 0 -g4 testdraw2.c -I../include ../build/.libs/libSDL2.a ../build/libSDL2_test.a -o a.html + $ emcc -O2 --js-opts 0 -g4 testdraw2.c -I../include ../build/.libs/libSDL3.a ../build/libSDL3_test.a -o a.html Uses GLES2 renderer or software -Some other SDL2 libraries can be easily built (assuming SDL2 is installed somewhere): +Some other SDL3 libraries can be easily built (assuming SDL3 is installed somewhere): SDL_mixer (http://www.libsdl.org/projects/SDL_mixer/): diff --git a/docs/README-gdk.md b/docs/README-gdk.md index 5f6b18be3..e172adf07 100644 --- a/docs/README-gdk.md +++ b/docs/README-gdk.md @@ -25,7 +25,7 @@ The Windows GDK port supports the full set of Win32 APIs, renderers, controllers * Initializing/uninitializing the game runtime, and initializing Xbox Live services * Creating a global task queue and setting it as the default for the process. When running any async operations, passing in `NULL` as the task queue will make the task get added to the global task queue. - * An implementation on `WinMain` that performs the above GDK setup (you should link against SDL2main.lib, as in Windows x64). If you are unable to do this, you can instead manually call `SDL_GDKRunApp` from your entry point, passing in your `SDL_main` function and `NULL` as the parameters. + * An implementation on `WinMain` that performs the above GDK setup (you should link against SDL3main.lib, as in Windows x64). If you are unable to do this, you can instead manually call `SDL_GDKRunApp` from your entry point, passing in your `SDL_main` function and `NULL` as the parameters. * Global task queue callbacks are dispatched during `SDL_PumpEvents` (which is also called internally if using `SDL_PollEvent`). * You can get the handle of the global task queue through `SDL_GDKGetTaskQueue`, if needed. When done with the queue, be sure to use `XTaskQueueCloseHandle` to decrement the reference count (otherwise it will cause a resource leak). @@ -36,8 +36,8 @@ The Windows GDK port supports the full set of Win32 APIs, renderers, controllers The included `VisualC-GDK/SDL.sln` solution includes the following targets for the Gaming.Desktop.x64 configuration: -* SDL2 (DLL) - This is the typical SDL2.dll, but for Gaming.Desktop.x64. -* SDL2main (lib) - This contains a drop-in implementation of `WinMain` that is used as the entry point for GDK programs. +* SDL3 (DLL) - This is the typical SDL3.dll, but for Gaming.Desktop.x64. +* SDL3main (lib) - This contains a drop-in implementation of `WinMain` that is used as the entry point for GDK programs. * tests/testgamecontroller - Standard SDL test program demonstrating controller functionality. * tests/testgdk - GDK-specific test program that demonstrates using the global task queue to login a user into Xbox Live. *NOTE*: As of the June 2022 GDK, you cannot test user logins without a valid Title ID and MSAAppId. You will need to manually change the identifiers in the `MicrosoftGame.config` to your valid IDs from Partner Center if you wish to test this. @@ -54,21 +54,21 @@ These steps assume you already have a game using SDL that runs on Windows x64 al In your game's existing Visual Studio Solution, go to Build > Configuration Manager. From the "Active solution platform" drop-down select "New...". From the drop-down list, select Gaming.Desktop.x64 and copy the settings from the x64 configuration. -### 2. Build SDL2 and SDL2main for GDK ### +### 2. Build SDL3 and SDL3main for GDK ### -Open `VisualC-GDK/SDL.sln` in Visual Studio, you need to build the SDL2 and SDL2main targets for the Gaming.Desktop.x64 platform (Release is recommended). You will need to copy/keep track of the `SDL2.dll`, `XCurl.dll` (which is output by Gaming.Desktop.x64), `SDL2.lib`, and `SDL2main.lib` output files for your game project. +Open `VisualC-GDK/SDL.sln` in Visual Studio, you need to build the SDL3 and SDL3main targets for the Gaming.Desktop.x64 platform (Release is recommended). You will need to copy/keep track of the `SDL3.dll`, `XCurl.dll` (which is output by Gaming.Desktop.x64), `SDL3.lib`, and `SDL3main.lib` output files for your game project. -*Alternatively*, you could setup your solution file to instead reference the SDL2/SDL2main project file targets from the SDL source, and add those projects as a dependency. This would mean that SDL2 and SDL2main would both be built when your game is built. +*Alternatively*, you could setup your solution file to instead reference the SDL3/SDL3main project file targets from the SDL source, and add those projects as a dependency. This would mean that SDL3 and SDL3main would both be built when your game is built. ### 3. Configuring Project Settings ### While the Gaming.Desktop.x64 configuration sets most of the required settings, there are some additional items to configure for your game project under the Gaming.Desktop.x64 Configuration: * Under C/C++ > General > Additional Include Directories, make sure the `SDL/include` path is referenced -* Under Linker > General > Additional Library Directories, make sure to reference the path where the newly-built SDL2.lib and SDL2main.lib are +* Under Linker > General > Additional Library Directories, make sure to reference the path where the newly-built SDL3.lib and SDL3main.lib are * Under Linker > Input > Additional Dependencies, you need the following: - * `SDL2.lib` - * `SDL2main.lib` (unless not using) + * `SDL3.lib` + * `SDL3main.lib` (unless not using) * `xgameruntime.lib` * `../Microsoft.Xbox.Services.141.GDK.C.Thunks.lib` * Note that in general, the GDK libraries depend on the MSVC C/C++ runtime, so there is no way to remove this dependency from a GDK program that links against GDK. @@ -81,7 +81,7 @@ Rather than using your own implementation of `WinMain`, it's recommended that yo The game will not launch in the debugger unless required DLLs are included in the directory that contains the game's .exe file. You need to make sure that the following files are copied into the directory: -* Your SDL2.dll +* Your SDL3.dll * "$(Console_GRDKExtLibRoot)Xbox.Services.API.C\DesignTime\CommonConfiguration\Neutral\Lib\Release\Microsoft.Xbox.Services.141.GDK.C.Thunks.dll" * XCurl.dll diff --git a/docs/README-ios.md b/docs/README-ios.md index e13f8baae..d06e3b518 100644 --- a/docs/README-ios.md +++ b/docs/README-ios.md @@ -20,7 +20,7 @@ Using the Simple DirectMedia Layer for iOS 3. Right click the project in the main view, select "Add Files...", and add the SDL project, Xcode/SDL/SDL.xcodeproj 4. Select the project in the main view, go to the "Info" tab and under "Custom iOS Target Properties" remove the line "Main storyboard file base name" 5. Select the project in the main view, go to the "Build Settings" tab, select "All", and edit "Header Search Path" and drag over the SDL "Public Headers" folder from the left -6. Select the project in the main view, go to the "Build Phases" tab, select "Link Binary With Libraries", and add SDL2.framework from "Framework-iOS" +6. Select the project in the main view, go to the "Build Phases" tab, select "Link Binary With Libraries", and add SDL3.framework from "Framework-iOS" 7. Select the project in the main view, go to the "General" tab, scroll down to "Frameworks, Libraries, and Embedded Content", and select "Embed & Sign" for the SDL library. 8. In the main view, expand SDL -> Library Source -> main -> uikit and drag SDL_uikit_main.c into your game files 9. Add the source files that you would normally have for an SDL program, making sure to have #include "SDL.h" at the top of the file containing your main() function. @@ -194,15 +194,15 @@ http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOS Notes -- xcFramework ============================================================================== -The SDL.xcodeproj file now includes a target to build SDL2.xcframework. An xcframework is a new (Xcode 11) uber-framework which can handle any combination of processor type and target OS platform. +The SDL.xcodeproj file now includes a target to build SDL3.xcframework. An xcframework is a new (Xcode 11) uber-framework which can handle any combination of processor type and target OS platform. In the past, iOS devices were always an ARM variant processor, and the simulator was always i386 or x86_64, and thus libraries could be combined into a single framework for both simulator and device. With the introduction of the Apple Silicon ARM-based machines, regular frameworks would collide as CPU type was no longer sufficient to differentiate the platform. So Apple created the new xcframework library package. -The xcframework target builds into a Products directory alongside the SDL.xcodeproj file, as SDL2.xcframework. This can be brought in to any iOS project and will function properly for both simulator and device, no matter their CPUs. Note that Intel Macs cannot cross-compile for Apple Silicon Macs. If you need AS compatibility, perform this build on an Apple Silicon Mac. +The xcframework target builds into a Products directory alongside the SDL.xcodeproj file, as SDL3.xcframework. This can be brought in to any iOS project and will function properly for both simulator and device, no matter their CPUs. Note that Intel Macs cannot cross-compile for Apple Silicon Macs. If you need AS compatibility, perform this build on an Apple Silicon Mac. This target requires Xcode 11 or later. The target will simply fail to build if attempted on older Xcodes. -In addition, on Apple platforms, main() cannot be in a dynamically loaded library. This means that iOS apps which used the statically-linked libSDL2.lib and now link with the xcframwork will need to define their own main() to call SDL_UIKitRunApp(), like this: +In addition, on Apple platforms, main() cannot be in a dynamically loaded library. This means that iOS apps which used the statically-linked libSDL3.lib and now link with the xcframwork will need to define their own main() to call SDL_UIKitRunApp(), like this: #ifndef SDL_MAIN_HANDLED #ifdef main diff --git a/docs/README-kmsbsd.md b/docs/README-kmsbsd.md index 01db5e8aa..760481707 100644 --- a/docs/README-kmsbsd.md +++ b/docs/README-kmsbsd.md @@ -8,7 +8,7 @@ WSCONS support has been brought back, but only as an input backend. It will not OpenBSD note: Note that the video backend assumes that the user has read/write permissions to the /dev/drm* devices. -SDL2 WSCONS input backend features +SDL WSCONS input backend features =================================================== 1. It is keymap-aware; it will work properly with different keymaps. 2. It has mouse support. diff --git a/docs/README-n3ds.md b/docs/README-n3ds.md index 66e194d0b..1fa8e15a6 100644 --- a/docs/README-n3ds.md +++ b/docs/README-n3ds.md @@ -22,6 +22,6 @@ cmake --install build ## Notes - Currently only software rendering is supported. -- SDL2main should be used to ensure ROMFS is enabled. +- SDL3main should be used to ensure ROMFS is enabled. - By default, the extra L2 cache and higher clock speeds of the New 2/3DS lineup are enabled. If you wish to turn it off, use `osSetSpeedupEnable(false)` in your main function. - `SDL_GetBasePath` returns the romfs root instead of the executable's directory. diff --git a/docs/README-ngage.md b/docs/README-ngage.md index 83c2e3384..363760b99 100644 --- a/docs/README-ngage.md +++ b/docs/README-ngage.md @@ -1,7 +1,7 @@ Nokia N-Gage ============ -SDL2 port for Symbian S60v1 and v2 with a main focus on the Nokia N-Gage +SDL port for Symbian S60v1 and v2 with a main focus on the Nokia N-Gage (Classic and QD) by [Michael Fitzmayer](https://github.com/mupfdev). Compiling @@ -12,7 +12,7 @@ The library is included in the [toolchain](https://github.com/ngagesdk/ngage-toolchain) as a sub-module. -A complete example project based on SDL2 can be found in the GitHub +A complete example project based on SDL can be found in the GitHub account of the SDK: [Wordle](https://github.com/ngagesdk/wordle). Current level of implementation diff --git a/docs/README-os2.md b/docs/README-os2.md index 1815b944d..3024f1125 100644 --- a/docs/README-os2.md +++ b/docs/README-os2.md @@ -42,24 +42,21 @@ Installing: - eComStation: - If you have previously installed SDL2, make a Backup copy of SDL2.dll + If you have previously installed SDL3, make a Backup copy of SDL3.dll located in D:\ecs\dll (where D: is disk on which installed eComStation). - Stop all programs running with SDL2. Copy SDL2.dll to D:\ecs\dll + Stop all programs running with SDL3. Copy SDL3.dll to D:\ecs\dll - OS/2: - Copy SDL2.dll to any directory on your LIBPATH. If you have a previous - version installed, close all SDL2 applications before replacing the old + Copy SDL3.dll to any directory on your LIBPATH. If you have a previous + version installed, close all SDL3 applications before replacing the old copy. Also make sure that any other older versions of DLLs are removed from your system. -Joysticks in SDL2: +Joysticks: ------------------ -The joystick code in SDL2 is a direct forward-port from the SDL-1.2 version. -Here is the original documentation from SDL-1.2: - The Joystick detection only works for standard joysticks (2 buttons, 2 axes and the like). Therefore, if you use a non-standard joystick, you should specify its features in the SDL_OS2_JOYSTICK environment variable in a batch diff --git a/docs/README-ps2.md b/docs/README-ps2.md index b27b57d1a..095e5685b 100644 --- a/docs/README-ps2.md +++ b/docs/README-ps2.md @@ -1,6 +1,6 @@ PS2 ====== -SDL2 port for the Sony Playstation 2 contributed by: +SDL port for the Sony Playstation 2 contributed by: - Francisco Javier Trujillo Mata @@ -9,7 +9,7 @@ Credit to - David G. F. for helping me with several issues and tests. ## Building -To build SDL2 library for the PS2, make sure you have the latest PS2Dev status and run: +To build SDL library for the PS2, make sure you have the latest PS2Dev status and run: ```bash cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PS2DEV/ps2sdk/ps2dev.cmake cmake --build build @@ -48,4 +48,4 @@ Remember to do a clean compilation everytime you enable or disable the `SDL_PS2_ ## To Do - PS2 Screen Keyboard - Dialogs -- Others \ No newline at end of file +- Others diff --git a/docs/README-psp.md b/docs/README-psp.md index 0c84f866b..5d9b34f8d 100644 --- a/docs/README-psp.md +++ b/docs/README-psp.md @@ -1,6 +1,6 @@ PSP ====== -SDL2 port for the Sony PSP contributed by: +SDL port for the Sony PSP contributed by: - Captian Lex - Francisco Javier Trujillo Mata - Wouter Wijsman @@ -11,7 +11,7 @@ Credit to Geecko for his PSP GU lib "Glib2d" ## Building -To build SDL2 library for the PSP, make sure you have the latest PSPDev status and run: +To build SDL library for the PSP, make sure you have the latest PSPDev status and run: ```bash cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PSPDEV/psp/share/pspdev.cmake cmake --build build @@ -33,4 +33,4 @@ cmake --install build ## To Do - PSP Screen Keyboard -- Dialogs \ No newline at end of file +- Dialogs diff --git a/docs/README-raspberrypi.md b/docs/README-raspberrypi.md index d2eddb862..fe13a1be6 100644 --- a/docs/README-raspberrypi.md +++ b/docs/README-raspberrypi.md @@ -81,13 +81,13 @@ The final step is compiling SDL itself. export CC="/opt/rpi-tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc --sysroot=$SYSROOT -I$SYSROOT/opt/vc/include -I$SYSROOT/usr/include -I$SYSROOT/opt/vc/include/interface/vcos/pthreads -I$SYSROOT/opt/vc/include/interface/vmcs_host/linux" cd mkdir -p build;cd build - LDFLAGS="-L$SYSROOT/opt/vc/lib" ../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl2-installed --disable-pulseaudio --disable-esd + LDFLAGS="-L$SYSROOT/opt/vc/lib" ../configure --with-sysroot=$SYSROOT --host=arm-raspberry-linux-gnueabihf --prefix=$PWD/rpi-sdl3-installed --disable-pulseaudio --disable-esd make make install To be able to deploy this to /usr/local in the Raspbian system you need to fix up a few paths: - perl -w -pi -e "s#$PWD/rpi-sdl2-installed#/usr/local#g;" ./rpi-sdl2-installed/lib/libSDL2.la ./rpi-sdl2-installed/lib/pkgconfig/sdl2.pc ./rpi-sdl2-installed/bin/sdl2-config + perl -w -pi -e "s#$PWD/rpi-sdl3-installed#/usr/local#g;" ./rpi-sdl3-installed/lib/libSDL3.la ./rpi-sdl3-installed/lib/pkgconfig/sdl3.pc ./rpi-sdl3-installed/bin/sdl3-config Apps don't work or poor video/audio performance ----------------------------------------------- diff --git a/docs/README-riscos.md b/docs/README-riscos.md index 76b27e0aa..f7ddb2e20 100644 --- a/docs/README-riscos.md +++ b/docs/README-riscos.md @@ -12,15 +12,15 @@ Requirements: Compiling: ---------- -Currently, SDL2 for RISC OS only supports compiling with GCCSDK under Linux. Both the autoconf and CMake build systems are supported. +Currently, SDL for RISC OS only supports compiling with GCCSDK under Linux. Both the autoconf and CMake build systems are supported. -The following commands can be used to build SDL2 for RISC OS using autoconf: +The following commands can be used to build SDL for RISC OS using autoconf: ./configure --host=arm-unknown-riscos --prefix=$GCCSDK_INSTALL_ENV --disable-gcc-atomics make make install -The following commands can be used to build SDL2 for RISC OS using CMake: +The following commands can be used to build SDL for RISC OS using CMake: cmake -Bbuild-riscos -DCMAKE_TOOLCHAIN_FILE=$GCCSDK_INSTALL_ENV/toolchain-riscos.cmake -DRISCOS=ON -DCMAKE_INSTALL_PREFIX=$GCCSDK_INSTALL_ENV -DCMAKE_BUILD_TYPE=Release -DSDL_GCC_ATOMICS=OFF cmake --build build-riscos diff --git a/docs/README-visualc.md b/docs/README-visualc.md index 759752a56..04ab63ff8 100644 --- a/docs/README-visualc.md +++ b/docs/README-visualc.md @@ -27,9 +27,9 @@ You may get a few warnings, but you should not get any errors. Later, we will refer to the following `.lib` and `.dll` files that have just been generated: -- `./VisualC/Win32/Debug/SDL2.dll` or `./VisualC/Win32/Release/SDL2.dll` -- `./VisualC/Win32/Debug/SDL2.lib` or `./VisualC/Win32/Release/SDL2.lib` -- `./VisualC/Win32/Debug/SDL2main.lib` or `./VisualC/Win32/Release/SDL2main.lib` +- `./VisualC/Win32/Debug/SDL3.dll` or `./VisualC/Win32/Release/SDL3.dll` +- `./VisualC/Win32/Debug/SDL3.lib` or `./VisualC/Win32/Release/SDL3.lib` +- `./VisualC/Win32/Debug/SDL3main.lib` or `./VisualC/Win32/Release/SDL3main.lib` _Note for the `x64` versions, just replace `Win32` in the path with `x64`_ @@ -59,12 +59,12 @@ Now we're going to use the files that we had created earlier in the *Build SDL* Copy the following file into your Project directory: -- `SDL2.dll` +- `SDL3.dll` Add the following files to your project (It is not necessary to copy them to your project directory): -- `SDL2.lib` -- `SDL2main.lib` +- `SDL3.lib` +- `SDL3main.lib` To add them to your project, right click on your project, and select `Add files to project`. @@ -73,7 +73,7 @@ To add them to your project, right click on your project, and select and type the names of the libraries to link with in the "Additional Options:" box. Note: This must be done for each build configuration (e.g. Release,Debug).** -### Hello SDL2 +### Hello SDL Here's a sample SDL snippet to verify everything is setup in your IDE: @@ -88,7 +88,7 @@ Here's a sample SDL snippet to verify everything is setup in your IDE: SDL_Renderer* renderer = NULL; SDL_Init(SDL_INIT_VIDEO); - window = SDL_CreateWindow("SDL2 Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WIDTH, HEIGHT, SDL_WINDOW_SHOWN); + window = SDL_CreateWindow("Hello SDL", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, WIDTH, HEIGHT, SDL_WINDOW_SHOWN); renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC); SDL_DestroyRenderer(renderer); diff --git a/docs/README-winrt.md b/docs/README-winrt.md index c05c77e02..68271cc65 100644 --- a/docs/README-winrt.md +++ b/docs/README-winrt.md @@ -272,8 +272,8 @@ To include these files for C/C++ projects: 2. navigate to the directory containing SDL's source code, then into its subdirectory, 'src/main/winrt/'. Select, then add, the following files: - `SDL_winrt_main_NonXAML.cpp` - - `SDL2-WinRTResources.rc` - - `SDL2-WinRTResource_BlankCursor.cur` + - `SDL3-WinRTResources.rc` + - `SDL3-WinRTResource_BlankCursor.cur` 3. right-click on the file `SDL_winrt_main_NonXAML.cpp` (as listed in your project), then click on "Properties...". 4. in the drop-down box next to "Configuration", choose, "All Configurations" @@ -287,7 +287,7 @@ app's project. This is to make sure that Visual C++'s linker builds a 'Windows Metadata' file (.winmd) for your app. Not doing so can lead to build errors.** For non-C++ projects, you will need to call SDL_WinRTRunApp from your language's -main function, and generate SDL2-WinRTResources.res manually by using `rc` via +main function, and generate SDL3-WinRTResources.res manually by using `rc` via the Developer Command Prompt and including it as a within the first block in your Visual Studio project file. diff --git a/docs/doxyfile b/docs/doxyfile index 7b80a3a8d..a9d837c32 100644 --- a/docs/doxyfile +++ b/docs/doxyfile @@ -31,7 +31,7 @@ PROJECT_NAME = SDL # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 2.0 +PROJECT_NUMBER = 3.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -868,14 +868,14 @@ GENERATE_DOCSET = NO # documentation sets from a single provider (such as a company or product suite) # can be grouped. -DOCSET_FEEDNAME = "SDL 2.0 Doxygen" +DOCSET_FEEDNAME = "SDL 3.0 Doxygen" # When GENERATE_DOCSET tag is set to YES, this tag specifies a string that # should uniquely identify the documentation set bundle. This should be a # reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen # will append .docset to the name. -DOCSET_BUNDLE_ID = org.libsdl.sdl20 +DOCSET_BUNDLE_ID = org.libsdl.sdl30 # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the @@ -889,7 +889,7 @@ GENERATE_HTMLHELP = NO # can add a path in front of the file if the result should not be # written to the html output directory. -CHM_FILE = ./sdl20.chm +CHM_FILE = ./sdl30.chm # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of diff --git a/include/SDL.h b/include/SDL.h index 12e7f31a2..90e173822 100644 --- a/include/SDL.h +++ b/include/SDL.h @@ -146,7 +146,7 @@ extern DECLSPEC int SDLCALL SDL_Init(Uint32 flags); /** * Compatibility function to initialize the SDL library. * - * In SDL2, this function and SDL_Init() are interchangeable. + * This function and SDL_Init() are interchangeable. * * \param flags any of the flags used by SDL_Init(); see SDL_Init for details. * \returns 0 on success or a negative error code on failure; call diff --git a/include/SDL_audio.h b/include/SDL_audio.h index c42de3ed9..ee6c5e092 100644 --- a/include/SDL_audio.h +++ b/include/SDL_audio.h @@ -1211,7 +1211,7 @@ extern DECLSPEC void SDLCALL SDL_MixAudioFormat(Uint8 * dst, * You should not call SDL_LockAudio() on the device before queueing; SDL * handles locking internally for this function. * - * Note that SDL2 does not support planar audio. You will need to resample + * Note that SDL does not support planar audio. You will need to resample * from planar audio formats into a non-planar one (see SDL_AudioFormat) * before queuing audio. * diff --git a/include/SDL_hints.h b/include/SDL_hints.h index 76a74f0ff..a7ab663a8 100644 --- a/include/SDL_hints.h +++ b/include/SDL_hints.h @@ -352,7 +352,7 @@ extern "C" { * \brief Disable giving back control to the browser automatically * when running with asyncify * - * With -s ASYNCIFY, SDL2 calls emscripten_sleep during operations + * With -s ASYNCIFY, SDL calls emscripten_sleep during operations * such as refreshing the screen or polling events. * * This hint only applies to the emscripten platform diff --git a/include/SDL_main.h b/include/SDL_main.h index 113d11de0..b35b07536 100644 --- a/include/SDL_main.h +++ b/include/SDL_main.h @@ -55,7 +55,7 @@ /* On GDK, SDL provides a main function that initializes the game runtime. Please note that #include'ing SDL_main.h is not enough to get a main() - function working. You must either link against SDL2main or, if not possible, + function working. You must either link against SDL3main or, if not possible, call the SDL_GDKRunApp function from your entry point. */ #define SDL_MAIN_NEEDED diff --git a/include/SDL_test.h b/include/SDL_test.h index 8cc9d616a..ae4eb5b23 100644 --- a/include/SDL_test.h +++ b/include/SDL_test.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ #ifndef SDL_test_h_ diff --git a/include/SDL_test_assert.h b/include/SDL_test_assert.h index 734230529..dd820edef 100644 --- a/include/SDL_test_assert.h +++ b/include/SDL_test_assert.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_common.h b/include/SDL_test_common.h index b86520d32..0d4307096 100644 --- a/include/SDL_test_common.h +++ b/include/SDL_test_common.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* Ported from original test\common.h file. */ diff --git a/include/SDL_test_compare.h b/include/SDL_test_compare.h index 8a7a07008..400a9da89 100644 --- a/include/SDL_test_compare.h +++ b/include/SDL_test_compare.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_crc32.h b/include/SDL_test_crc32.h index 049da7406..86f6ce661 100644 --- a/include/SDL_test_crc32.h +++ b/include/SDL_test_crc32.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_font.h b/include/SDL_test_font.h index 6e7247dd7..2f02ae937 100644 --- a/include/SDL_test_font.h +++ b/include/SDL_test_font.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ #ifndef SDL_test_font_h_ diff --git a/include/SDL_test_fuzzer.h b/include/SDL_test_fuzzer.h index bbe8eb874..ea0d14b2f 100644 --- a/include/SDL_test_fuzzer.h +++ b/include/SDL_test_fuzzer.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_harness.h b/include/SDL_test_harness.h index 1fd4236be..453fe336f 100644 --- a/include/SDL_test_harness.h +++ b/include/SDL_test_harness.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_images.h b/include/SDL_test_images.h index e2bfc3600..6cc3aaa99 100644 --- a/include/SDL_test_images.h +++ b/include/SDL_test_images.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_log.h b/include/SDL_test_log.h index e3d39ad27..5e670d151 100644 --- a/include/SDL_test_log.h +++ b/include/SDL_test_log.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_md5.h b/include/SDL_test_md5.h index 17b1d2be7..3005b8bcd 100644 --- a/include/SDL_test_md5.h +++ b/include/SDL_test_md5.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_test_memory.h b/include/SDL_test_memory.h index cc2edc1b9..4158ce34e 100644 --- a/include/SDL_test_memory.h +++ b/include/SDL_test_memory.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ #ifndef SDL_test_memory_h_ diff --git a/include/SDL_test_random.h b/include/SDL_test_random.h index b1d6060cb..6da8b9ef5 100644 --- a/include/SDL_test_random.h +++ b/include/SDL_test_random.h @@ -24,7 +24,7 @@ * * Include file for SDL test framework. * - * This code is a part of the SDL2_test library, not the main SDL library. + * This code is a part of the SDL test library, not the main SDL library. */ /* diff --git a/include/SDL_thread.h b/include/SDL_thread.h index 7364f8137..6bedcb555 100644 --- a/include/SDL_thread.h +++ b/include/SDL_thread.h @@ -94,15 +94,15 @@ typedef int (SDLCALL * SDL_ThreadFunction) (void *data); * * We compile SDL into a DLL. This means, that it's the DLL which * creates a new thread for the calling process with the SDL_CreateThread() - * API. There is a problem with this, that only the RTL of the SDL2.DLL will + * API. There is a problem with this, that only the RTL of the SDL3.DLL will * be initialized for those threads, and not the RTL of the calling * application! * * To solve this, we make a little hack here. * * We'll always use the caller's _beginthread() and _endthread() APIs to - * start a new thread. This way, if it's the SDL2.DLL which uses this API, - * then the RTL of SDL2.DLL will be used to create the new thread, and if it's + * start a new thread. This way, if it's the SDL3.DLL which uses this API, + * then the RTL of SDL3.DLL will be used to create the new thread, and if it's * the application, then the RTL of the application will be used. * * So, in short: @@ -147,7 +147,7 @@ SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn, #elif defined(__OS2__) /* - * just like the windows case above: We compile SDL2 + * just like the windows case above: We compile SDL3 * into a dll with Watcom's runtime statically linked. */ #define SDL_PASSED_BEGINTHREAD_ENDTHREAD diff --git a/include/SDL_version.h b/include/SDL_version.h index e85fceb34..75cc89149 100644 --- a/include/SDL_version.h +++ b/include/SDL_version.h @@ -57,8 +57,8 @@ typedef struct SDL_version /* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL */ -#define SDL_MAJOR_VERSION 2 -#define SDL_MINOR_VERSION 26 +#define SDL_MAJOR_VERSION 3 +#define SDL_MINOR_VERSION 0 #define SDL_PATCHLEVEL 0 /** @@ -84,7 +84,7 @@ typedef struct SDL_version } /* TODO: Remove this whole block in SDL 3 */ -#if SDL_MAJOR_VERSION < 3 +#if SDL_MAJOR_VERSION <= 3 /** * This macro turns the version numbers into a numeric value: * \verbatim diff --git a/mingw/pkg-support/cmake/sdl2-config-version.cmake b/mingw/pkg-support/cmake/sdl2-config-version.cmake deleted file mode 100644 index 9f7a8b34d..000000000 --- a/mingw/pkg-support/cmake/sdl2-config-version.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# SDL2 CMake version configuration file: -# This file is meant to be placed in a cmake subfolder of SDL2-devel-2.x.y-mingw - -if(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(sdl2_config_path "${CMAKE_CURRENT_LIST_DIR}/../i686-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake") -elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(sdl2_config_path "${CMAKE_CURRENT_LIST_DIR}/../x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config-version.cmake") -else() - set(PACKAGE_VERSION_UNSUITABLE TRUE) - return() -endif() - -if(NOT EXISTS "${sdl2_config_path}") - message(WARNING "${sdl2_config_path} does not exist: MinGW development package is corrupted") - set(PACKAGE_VERSION_UNSUITABLE TRUE) - return() -endif() - -include("${sdl2_config_path}") diff --git a/mingw/pkg-support/cmake/sdl2-config.cmake b/mingw/pkg-support/cmake/sdl2-config.cmake deleted file mode 100644 index 3c0799fbc..000000000 --- a/mingw/pkg-support/cmake/sdl2-config.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# SDL2 CMake configuration file: -# This file is meant to be placed in a cmake subfolder of SDL2-devel-2.x.y-mingw - -if(CMAKE_SIZEOF_VOID_P EQUAL 4) - set(sdl2_config_path "${CMAKE_CURRENT_LIST_DIR}/../i686-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake") -elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) - set(sdl2_config_path "${CMAKE_CURRENT_LIST_DIR}/../x86_64-w64-mingw32/lib/cmake/SDL2/sdl2-config.cmake") -else() - set(SDL2_FOUND FALSE) - return() -endif() - -if(NOT EXISTS "${sdl2_config_path}") - message(WARNING "${sdl2_config_path} does not exist: MinGW development package is corrupted") - set(SDL2_FOUND FALSE) - return() -endif() - -include("${sdl2_config_path}") diff --git a/mingw/pkg-support/cmake/sdl3-config-version.cmake b/mingw/pkg-support/cmake/sdl3-config-version.cmake new file mode 100644 index 000000000..2f2bdffd4 --- /dev/null +++ b/mingw/pkg-support/cmake/sdl3-config-version.cmake @@ -0,0 +1,19 @@ +# SDL3 CMake version configuration file: +# This file is meant to be placed in a cmake subfolder of SDL3-devel-2.x.y-mingw + +if(CMAKE_SIZEOF_VOID_P EQUAL 4) + set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../i686-w64-mingw32/lib/cmake/SDL3/sdl3-config-version.cmake") +elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../x86_64-w64-mingw32/lib/cmake/SDL3/sdl3-config-version.cmake") +else() + set(PACKAGE_VERSION_UNSUITABLE TRUE) + return() +endif() + +if(NOT EXISTS "${sdl3_config_path}") + message(WARNING "${sdl3_config_path} does not exist: MinGW development package is corrupted") + set(PACKAGE_VERSION_UNSUITABLE TRUE) + return() +endif() + +include("${sdl3_config_path}") diff --git a/mingw/pkg-support/cmake/sdl3-config.cmake b/mingw/pkg-support/cmake/sdl3-config.cmake new file mode 100644 index 000000000..291845f99 --- /dev/null +++ b/mingw/pkg-support/cmake/sdl3-config.cmake @@ -0,0 +1,19 @@ +# SDL3 CMake configuration file: +# This file is meant to be placed in a cmake subfolder of SDL3-devel-2.x.y-mingw + +if(CMAKE_SIZEOF_VOID_P EQUAL 4) + set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../i686-w64-mingw32/lib/cmake/SDL3/sdl3-config.cmake") +elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(sdl3_config_path "${CMAKE_CURRENT_LIST_DIR}/../x86_64-w64-mingw32/lib/cmake/SDL3/sdl3-config.cmake") +else() + set(SDL3_FOUND FALSE) + return() +endif() + +if(NOT EXISTS "${sdl3_config_path}") + message(WARNING "${sdl3_config_path} does not exist: MinGW development package is corrupted") + set(SDL3_FOUND FALSE) + return() +endif() + +include("${sdl3_config_path}") diff --git a/sdl2-config.cmake.in b/sdl2-config.cmake.in deleted file mode 100644 index 5d6cf4335..000000000 --- a/sdl2-config.cmake.in +++ /dev/null @@ -1,206 +0,0 @@ -# sdl2 cmake project-config input for ./configure script - -include(FeatureSummary) -set_package_properties(SDL2 PROPERTIES - URL "https://www.libsdl.org/" - DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" -) - -# Copied from `configure_package_config_file` -macro(set_and_check _var _file) - set(${_var} "${_file}") - if(NOT EXISTS "${_file}") - message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") - endif() -endmacro() - -get_filename_component(prefix "${CMAKE_CURRENT_LIST_DIR}/@cmake_prefix_relpath@" ABSOLUTE) - -set(exec_prefix "@exec_prefix@") -set(bindir "@bindir@") -set(libdir "@libdir@") -set(includedir "@includedir@") - -set_and_check(SDL2_PREFIX "${prefix}") -set_and_check(SDL2_EXEC_PREFIX "${exec_prefix}") -set_and_check(SDL2_BINDIR "${bindir}") -set_and_check(SDL2_INCLUDE_DIR "${includedir}/SDL2") -set_and_check(SDL2_LIBDIR "${libdir}") -set(SDL2_INCLUDE_DIRS "${includedir};${SDL2_INCLUDE_DIR}") - -set(SDL2_LIBRARIES SDL2::SDL2) -set(SDL2_STATIC_LIBRARIES SDL2::SDL2-static) -set(SDL2MAIN_LIBRARY) -set(SDL2TEST_LIBRARY SDL2::SDL2test) - -unset(prefix) -unset(exec_prefix) -unset(bindir) -unset(libdir) -unset(includedir) - -set(_sdl2_libraries_in "@SDL_LIBS@") -set(_sdl2_static_private_libs_in "@SDL_STATIC_LIBS@") - -# Convert _sdl2_libraries to list and keep only libraries + library directories -string(REGEX MATCHALL "-[lm]([-a-zA-Z0-9._]+)" _sdl2_libraries "${_sdl2_libraries_in}") -string(REGEX REPLACE "^-l" "" _sdl2_libraries "${_sdl2_libraries}") -string(REGEX REPLACE ";-l" ";" _sdl2_libraries "${_sdl2_libraries}") -string(REGEX MATCHALL "-L([-a-zA-Z0-9._/]+)" _sdl2_libdirs "${_sdl2_libraries_in}") -string(REGEX REPLACE "^-L" "" _sdl2_libdirs "${_sdl2_libdirs}") -string(REGEX REPLACE ";-L" ";" _sdl2_libdirs "${_sdl2_libdirs}") -list(APPEND _sdl2_libdirs "${SDL2_LIBDIR}") - -# Convert _sdl2_static_private_libs to list and keep only libraries + library directories -string(REGEX MATCHALL "(-[lm]([-a-zA-Z0-9._]+))|(-Wl,[^ ]*framework[^ ]*)|(-pthread)" _sdl2_static_private_libs "${_sdl2_static_private_libs_in}") -string(REGEX REPLACE "^-l" "" _sdl2_static_private_libs "${_sdl2_static_private_libs}") -string(REGEX REPLACE ";-l" ";" _sdl2_static_private_libs "${_sdl2_static_private_libs}") -string(REGEX MATCHALL "-L([-a-zA-Z0-9._/]+)" _sdl2_static_private_libdirs "${_sdl2_static_private_libs_in}") -string(REGEX REPLACE "^-L" "" _sdl2_static_private_libdirs "${_sdl2_static_private_libdirs}") -string(REGEX REPLACE ";-L" ";" _sdl2_static_private_libdirs "${_sdl2_static_private_libdirs}") - -if(_sdl2_libraries MATCHES ".*SDL2main.*") - list(INSERT SDL2_LIBRARIES 0 SDL2::SDL2main) - list(INSERT SDL2_STATIC_LIBRARIES 0 SDL2::SDL2main) -endif() - -set(_sdl2main_library ${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX}) -if(EXISTS "${_sdl2main_library}") - set(SDL2MAIN_LIBRARY SDL2::SDL2main) - if(NOT TARGET SDL2::SDL2main) - add_library(SDL2::SDL2main STATIC IMPORTED) - set_target_properties(SDL2::SDL2main - PROPERTIES - IMPORTED_LOCATION "${_sdl2main_library}" - ) - if(WIN32) - # INTERFACE_LINK_OPTIONS needs CMake 3.13 - cmake_minimum_required(VERSION 3.13) - # Mark WinMain/WinMain@16 as undefined, such that it will be withheld by the linker. - if(CMAKE_SIZEOF_VOID_P EQUAL 4) - set_target_properties(SDL2::SDL2main - PROPERTIES - INTERFACE_LINK_OPTIONS "$<$,EXECUTABLE>:-Wl,--undefined=_WinMain@16>" - ) - else() - set_target_properties(SDL2::SDL2main - PROPERTIES - INTERFACE_LINK_OPTIONS "$<$,EXECUTABLE>:-Wl,--undefined=WinMain>" - ) - endif() - endif() - endif() - set(SDL2_SDL2main_FOUND TRUE) -else() - set(SDL2_SDL2main_FOUND FALSE) -endif() -unset(_sdl2main_library) - -# Remove SDL2 since this is the "central" library -# Remove SDL2main since this will be provided by SDL2::SDL2main (if available) -# Remove mingw32 and cygwin since these are not needed when using `-Wl,--undefined,WinMain` -set(_sdl2_link_libraries ${_sdl2_libraries}) -list(REMOVE_ITEM _sdl2_link_libraries SDL2 SDL2main mingw32 cygwin) - -if(WIN32) - set(_sdl2_implib "${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") - set(_sdl2_dll "${SDL2_BINDIR}/SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}") - if(EXISTS "${_sdl2_implib}" AND EXISTS "${_sdl2_dll}") - if(NOT TARGET SDL2::SDL2) - add_library(SDL2::SDL2 SHARED IMPORTED) - set_target_properties(SDL2::SDL2 PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${_sdl2_link_libraries}" - INTERFACE_LINK_DIRECTORIES "${_sdl2_libdirs}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_IMPLIB "${_sdl2_implib}" - IMPORTED_LOCATION "${_sdl2_dll}" - ) - endif() - set(SDL2_SDL2_FOUND TRUE) - else() - set(SDL2_SDL2_FOUND FALSE) - endif() - unset(_sdl2_implib) - unset(_sdl2_dll) -else() - set(_sdl2_shared "${SDL2_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL2${CMAKE_SHARED_LIBRARY_SUFFIX}") - if(EXISTS "${_sdl2_shared}") - if(NOT TARGET SDL2::SDL2) - add_library(SDL2::SDL2 SHARED IMPORTED) - set_target_properties(SDL2::SDL2 PROPERTIES - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${_sdl2_link_libraries}" - INTERFACE_LINK_DIRECTORIES "${_sdl2_libdirs}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - IMPORTED_LOCATION "${_sdl2_shared}" - ) - endif() - set(SDL2_SDL2_FOUND TRUE) - else() - set(SDL2_SDL2_FOUND FALSE) - endif() - unset(_sdl2_shared) -endif() - -set(_sdl2_static "${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2${CMAKE_STATIC_LIBRARY_SUFFIX}") -if(EXISTS "${_sdl2_static}") - if(NOT TARGET SDL2::SDL2-static) - add_library(SDL2::SDL2-static STATIC IMPORTED) - set_target_properties(SDL2::SDL2-static - PROPERTIES - IMPORTED_LOCATION "${_sdl2_static}" - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}" - INTERFACE_LINK_LIBRARIES "${_sdl2_link_libraries};${_sdl2_static_private_libs}" - INTERFACE_LINK_DIRECTORIES "${_sdl2_libdirs};${_sdl2_static_private_libdirs}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - ) - endif() - set(SDL2_SDL2-static_FOUND TRUE) -else() - set(SDL2_SDL2-static_FOUND FALSE) -endif() -unset(_sdl2_static) - -unset(_sdl2_link_libraries) - -set(_sdl2test_library "${SDL2_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2_test${CMAKE_STATIC_LIBRARY_SUFFIX}") -if(EXISTS "${_sdl2test_library}") - if(NOT TARGET SDL2::SDL2test) - add_library(SDL2::SDL2test STATIC IMPORTED) - set_target_properties(SDL2::SDL2test - PROPERTIES - IMPORTED_LOCATION "${_sdl2test_library}" - INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIR}" - IMPORTED_LINK_INTERFACE_LANGUAGES "C" - ) - endif() - set(SDL2_SDL2test_FOUND TRUE) -else() - set(SDL2_SDL2test_FOUND FALSE) -endif() -unset(_sdl2test_library) - -# Copied from `configure_package_config_file` -macro(check_required_components _NAME) - foreach(comp ${${_NAME}_FIND_COMPONENTS}) - if(NOT ${_NAME}_${comp}_FOUND) - if(${_NAME}_FIND_REQUIRED_${comp}) - set(${_NAME}_FOUND FALSE) - endif() - endif() - endforeach() -endmacro() - -check_required_components(SDL2) - -# Create SDL2::SDL2 alias for static-only builds -if(TARGET SDL2::SDL2-static AND NOT TARGET SDL2::SDL2) - if(CMAKE_VERSION VERSION_LESS "3.18") - # FIXME: Aliasing local targets is not supported on CMake < 3.18, so make it global. - add_library(SDL2::SDL2 INTERFACE IMPORTED) - set_target_properties(SDL2::SDL2 PROPERTIES INTERFACE_LINK_LIBRARIES "SDL2::SDL2-static") - else() - add_library(SDL2::SDL2 ALIAS SDL2::SDL2-static) - endif() -endif() diff --git a/sdl2-config-version.cmake.in b/sdl3-config-version.cmake.in similarity index 81% rename from sdl2-config-version.cmake.in rename to sdl3-config-version.cmake.in index 5c6aee44d..cdb37b1dd 100644 --- a/sdl2-config-version.cmake.in +++ b/sdl3-config-version.cmake.in @@ -1,4 +1,4 @@ -# sdl2 cmake project-config-version input for ./configure scripts +# sdl3 cmake project-config-version input for ./configure scripts set(PACKAGE_VERSION "@SDL_VERSION@") diff --git a/sdl3-config.cmake.in b/sdl3-config.cmake.in new file mode 100644 index 000000000..0e1184fb5 --- /dev/null +++ b/sdl3-config.cmake.in @@ -0,0 +1,206 @@ +# sdl3 cmake project-config input for ./configure script + +include(FeatureSummary) +set_package_properties(SDL3 PROPERTIES + URL "https://www.libsdl.org/" + DESCRIPTION "low level access to audio, keyboard, mouse, joystick, and graphics hardware" +) + +# Copied from `configure_package_config_file` +macro(set_and_check _var _file) + set(${_var} "${_file}") + if(NOT EXISTS "${_file}") + message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !") + endif() +endmacro() + +get_filename_component(prefix "${CMAKE_CURRENT_LIST_DIR}/@cmake_prefix_relpath@" ABSOLUTE) + +set(exec_prefix "@exec_prefix@") +set(bindir "@bindir@") +set(libdir "@libdir@") +set(includedir "@includedir@") + +set_and_check(SDL3_PREFIX "${prefix}") +set_and_check(SDL3_EXEC_PREFIX "${exec_prefix}") +set_and_check(SDL3_BINDIR "${bindir}") +set_and_check(SDL3_INCLUDE_DIR "${includedir}/SDL3") +set_and_check(SDL3_LIBDIR "${libdir}") +set(SDL3_INCLUDE_DIRS "${includedir};${SDL3_INCLUDE_DIR}") + +set(SDL3_LIBRARIES SDL3::SDL3) +set(SDL3_STATIC_LIBRARIES SDL3::SDL3-static) +set(SDL3MAIN_LIBRARY) +set(SDL3TEST_LIBRARY SDL3::SDL3test) + +unset(prefix) +unset(exec_prefix) +unset(bindir) +unset(libdir) +unset(includedir) + +set(_sdl3_libraries_in "@SDL_LIBS@") +set(_sdl3_static_private_libs_in "@SDL_STATIC_LIBS@") + +# Convert _sdl3_libraries to list and keep only libraries + library directories +string(REGEX MATCHALL "-[lm]([-a-zA-Z0-9._]+)" _sdl3_libraries "${_sdl3_libraries_in}") +string(REGEX REPLACE "^-l" "" _sdl3_libraries "${_sdl3_libraries}") +string(REGEX REPLACE ";-l" ";" _sdl3_libraries "${_sdl3_libraries}") +string(REGEX MATCHALL "-L([-a-zA-Z0-9._/]+)" _sdl3_libdirs "${_sdl3_libraries_in}") +string(REGEX REPLACE "^-L" "" _sdl3_libdirs "${_sdl3_libdirs}") +string(REGEX REPLACE ";-L" ";" _sdl3_libdirs "${_sdl3_libdirs}") +list(APPEND _sdl3_libdirs "${SDL3_LIBDIR}") + +# Convert _sdl3_static_private_libs to list and keep only libraries + library directories +string(REGEX MATCHALL "(-[lm]([-a-zA-Z0-9._]+))|(-Wl,[^ ]*framework[^ ]*)|(-pthread)" _sdl3_static_private_libs "${_sdl3_static_private_libs_in}") +string(REGEX REPLACE "^-l" "" _sdl3_static_private_libs "${_sdl3_static_private_libs}") +string(REGEX REPLACE ";-l" ";" _sdl3_static_private_libs "${_sdl3_static_private_libs}") +string(REGEX MATCHALL "-L([-a-zA-Z0-9._/]+)" _sdl3_static_private_libdirs "${_sdl3_static_private_libs_in}") +string(REGEX REPLACE "^-L" "" _sdl3_static_private_libdirs "${_sdl3_static_private_libdirs}") +string(REGEX REPLACE ";-L" ";" _sdl3_static_private_libdirs "${_sdl3_static_private_libdirs}") + +if(_sdl3_libraries MATCHES ".*SDL3main.*") + list(INSERT SDL3_LIBRARIES 0 SDL3::SDL3main) + list(INSERT SDL3_STATIC_LIBRARIES 0 SDL3::SDL3main) +endif() + +set(_sdl3main_library ${SDL3_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL3main${CMAKE_STATIC_LIBRARY_SUFFIX}) +if(EXISTS "${_sdl3main_library}") + set(SDL3MAIN_LIBRARY SDL3::SDL3main) + if(NOT TARGET SDL3::SDL3main) + add_library(SDL3::SDL3main STATIC IMPORTED) + set_target_properties(SDL3::SDL3main + PROPERTIES + IMPORTED_LOCATION "${_sdl3main_library}" + ) + if(WIN32) + # INTERFACE_LINK_OPTIONS needs CMake 3.13 + cmake_minimum_required(VERSION 3.13) + # Mark WinMain/WinMain@16 as undefined, such that it will be withheld by the linker. + if(CMAKE_SIZEOF_VOID_P EQUAL 4) + set_target_properties(SDL3::SDL3main + PROPERTIES + INTERFACE_LINK_OPTIONS "$<$,EXECUTABLE>:-Wl,--undefined=_WinMain@16>" + ) + else() + set_target_properties(SDL3::SDL3main + PROPERTIES + INTERFACE_LINK_OPTIONS "$<$,EXECUTABLE>:-Wl,--undefined=WinMain>" + ) + endif() + endif() + endif() + set(SDL3_SDL3main_FOUND TRUE) +else() + set(SDL3_SDL3main_FOUND FALSE) +endif() +unset(_sdl3main_library) + +# Remove SDL3 since this is the "central" library +# Remove SDL3main since this will be provided by SDL3::SDL3main (if available) +# Remove mingw32 and cygwin since these are not needed when using `-Wl,--undefined,WinMain` +set(_sdl3_link_libraries ${_sdl3_libraries}) +list(REMOVE_ITEM _sdl3_link_libraries SDL3 SDL3main mingw32 cygwin) + +if(WIN32) + set(_sdl3_implib "${SDL3_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL3${CMAKE_SHARED_LIBRARY_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}") + set(_sdl3_dll "${SDL3_BINDIR}/SDL3${CMAKE_SHARED_LIBRARY_SUFFIX}") + if(EXISTS "${_sdl3_implib}" AND EXISTS "${_sdl3_dll}") + if(NOT TARGET SDL3::SDL3) + add_library(SDL3::SDL3 SHARED IMPORTED) + set_target_properties(SDL3::SDL3 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${_sdl3_link_libraries}" + INTERFACE_LINK_DIRECTORIES "${_sdl3_libdirs}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_IMPLIB "${_sdl3_implib}" + IMPORTED_LOCATION "${_sdl3_dll}" + ) + endif() + set(SDL3_SDL3_FOUND TRUE) + else() + set(SDL3_SDL3_FOUND FALSE) + endif() + unset(_sdl3_implib) + unset(_sdl3_dll) +else() + set(_sdl3_shared "${SDL3_LIBDIR}/${CMAKE_SHARED_LIBRARY_PREFIX}SDL3${CMAKE_SHARED_LIBRARY_SUFFIX}") + if(EXISTS "${_sdl3_shared}") + if(NOT TARGET SDL3::SDL3) + add_library(SDL3::SDL3 SHARED IMPORTED) + set_target_properties(SDL3::SDL3 PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${_sdl3_link_libraries}" + INTERFACE_LINK_DIRECTORIES "${_sdl3_libdirs}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${_sdl3_shared}" + ) + endif() + set(SDL3_SDL3_FOUND TRUE) + else() + set(SDL3_SDL3_FOUND FALSE) + endif() + unset(_sdl3_shared) +endif() + +set(_sdl3_static "${SDL3_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL3${CMAKE_STATIC_LIBRARY_SUFFIX}") +if(EXISTS "${_sdl3_static}") + if(NOT TARGET SDL3::SDL3-static) + add_library(SDL3::SDL3-static STATIC IMPORTED) + set_target_properties(SDL3::SDL3-static + PROPERTIES + IMPORTED_LOCATION "${_sdl3_static}" + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIR}" + INTERFACE_LINK_LIBRARIES "${_sdl3_link_libraries};${_sdl3_static_private_libs}" + INTERFACE_LINK_DIRECTORIES "${_sdl3_libdirs};${_sdl3_static_private_libdirs}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + ) + endif() + set(SDL3_SDL3-static_FOUND TRUE) +else() + set(SDL3_SDL3-static_FOUND FALSE) +endif() +unset(_sdl3_static) + +unset(_sdl3_link_libraries) + +set(_sdl3test_library "${SDL3_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}SDL3_test${CMAKE_STATIC_LIBRARY_SUFFIX}") +if(EXISTS "${_sdl3test_library}") + if(NOT TARGET SDL3::SDL3test) + add_library(SDL3::SDL3test STATIC IMPORTED) + set_target_properties(SDL3::SDL3test + PROPERTIES + IMPORTED_LOCATION "${_sdl3test_library}" + INTERFACE_INCLUDE_DIRECTORIES "${SDL3_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + ) + endif() + set(SDL3_SDL3test_FOUND TRUE) +else() + set(SDL3_SDL3test_FOUND FALSE) +endif() +unset(_sdl3test_library) + +# Copied from `configure_package_config_file` +macro(check_required_components _NAME) + foreach(comp ${${_NAME}_FIND_COMPONENTS}) + if(NOT ${_NAME}_${comp}_FOUND) + if(${_NAME}_FIND_REQUIRED_${comp}) + set(${_NAME}_FOUND FALSE) + endif() + endif() + endforeach() +endmacro() + +check_required_components(SDL3) + +# Create SDL3::SDL3 alias for static-only builds +if(TARGET SDL3::SDL3-static AND NOT TARGET SDL3::SDL3) + if(CMAKE_VERSION VERSION_LESS "3.18") + # FIXME: Aliasing local targets is not supported on CMake < 3.18, so make it global. + add_library(SDL3::SDL3 INTERFACE IMPORTED) + set_target_properties(SDL3::SDL3 PROPERTIES INTERFACE_LINK_LIBRARIES "SDL3::SDL3-static") + else() + add_library(SDL3::SDL3 ALIAS SDL3::SDL3-static) + endif() +endif() diff --git a/sdl2-config.in b/sdl3-config.in similarity index 94% rename from sdl2-config.in rename to sdl3-config.in index f6eca7668..46aff2df6 100644 --- a/sdl2-config.in +++ b/sdl3-config.in @@ -46,14 +46,14 @@ while test $# -gt 0; do echo @SDL_VERSION@ ;; --cflags) - echo -I@includedir@/SDL2 @SDL_CFLAGS@ + echo -I@includedir@/SDL3 @SDL_CFLAGS@ ;; @ENABLE_SHARED_TRUE@ --libs) @ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@ @ENABLE_SHARED_TRUE@ ;; @ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs) @ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs) -@ENABLE_STATIC_TRUE@ sdl_static_libs=$(echo "@SDL_LIBS@ @SDL_STATIC_LIBS@" | sed -E "s#-lSDL2[ $]#$libdir/libSDL2.a #g") +@ENABLE_STATIC_TRUE@ sdl_static_libs=$(echo "@SDL_LIBS@ @SDL_STATIC_LIBS@" | sed -E "s#-lSDL3[ $]#$libdir/libSDL3.a #g") @ENABLE_STATIC_TRUE@ echo -L@libdir@ $sdl_static_libs @ENABLE_STATIC_TRUE@ ;; *) diff --git a/sdl2.m4 b/sdl3.m4 similarity index 73% rename from sdl2.m4 rename to sdl3.m4 index 75b60f6ea..88d426f13 100644 --- a/sdl2.m4 +++ b/sdl3.m4 @@ -6,18 +6,18 @@ # Shamelessly stolen from Owen Taylor # # Changelog: -# * also look for SDL2.framework under Mac OS X +# * also look for SDL3.framework under Mac OS X # * removed HP/UX 9 support. # * updated for newer autoconf. # serial 2 -dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl AM_PATH_SDL3([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS dnl -AC_DEFUN([AM_PATH_SDL2], +AC_DEFUN([AM_PATH_SDL3], [dnl -dnl Get the cflags and libraries from the sdl2-config script +dnl Get the cflags and libraries from the sdl3-config script dnl AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], sdl_prefix="$withval", sdl_prefix="") @@ -25,53 +25,53 @@ AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL sdl_exec_prefix="$withval", sdl_exec_prefix="") AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], , enable_sdltest=yes) -AC_ARG_ENABLE(sdlframework, [ --disable-sdlframework Do not search for SDL2.framework], +AC_ARG_ENABLE(sdlframework, [ --disable-sdlframework Do not search for SDL3.framework], , search_sdl_framework=yes) -AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework]) +AC_ARG_VAR(SDL3_FRAMEWORK, [Path to SDL3.framework]) - min_sdl_version=ifelse([$1], ,2.0.0,$1) + min_sdl_version=ifelse([$1], ,3.0.0,$1) if test "x$sdl_prefix$sdl_exec_prefix" = x ; then - PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], + PKG_CHECK_MODULES([SDL], [sdl3 >= $min_sdl_version], [sdl_pc=yes], [sdl_pc=no]) else sdl_pc=no if test x$sdl_exec_prefix != x ; then sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_exec_prefix/bin/sdl3-config fi fi if test x$sdl_prefix != x ; then sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_prefix/bin/sdl3-config fi fi fi if test "x$sdl_pc" = xyes ; then no_sdl="" - SDL2_CONFIG="pkg-config sdl2" + SDL3_CONFIG="pkg-config sdl3" else as_save_PATH="$PATH" if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi - AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH]) + AC_PATH_PROG(SDL3_CONFIG, sdl3-config, no, [$PATH]) PATH="$as_save_PATH" no_sdl="" - if test "$SDL2_CONFIG" = "no" -a "x$search_sdl_framework" = "xyes"; then - AC_MSG_CHECKING(for SDL2.framework) - if test "x$SDL2_FRAMEWORK" != x; then - sdl_framework=$SDL2_FRAMEWORK + if test "$SDL3_CONFIG" = "no" -a "x$search_sdl_framework" = "xyes"; then + AC_MSG_CHECKING(for SDL3.framework) + if test "x$SDL3_FRAMEWORK" != x; then + sdl_framework=$SDL3_FRAMEWORK else for d in / ~/ /System/; do - if test -d "${d}Library/Frameworks/SDL2.framework"; then - sdl_framework="${d}Library/Frameworks/SDL2.framework" + if test -d "${d}Library/Frameworks/SDL3.framework"; then + sdl_framework="${d}Library/Frameworks/SDL3.framework" fi done fi @@ -79,25 +79,25 @@ AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework]) if test x"$sdl_framework" != x && test -d "$sdl_framework"; then AC_MSG_RESULT($sdl_framework) sdl_framework_dir=`dirname $sdl_framework` - SDL_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL2 -I$sdl_framework/include" - SDL_LIBS="-F$sdl_framework_dir -Wl,-framework,SDL2" + SDL_CFLAGS="-F$sdl_framework_dir -Wl,-framework,SDL3 -I$sdl_framework/include" + SDL_LIBS="-F$sdl_framework_dir -Wl,-framework,SDL3" else no_sdl=yes fi fi - if test "$SDL2_CONFIG" != "no"; then + if test "$SDL3_CONFIG" != "no"; then if test "x$sdl_pc" = "xno"; then AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` + SDL_CFLAGS=`$SDL3_CONFIG $sdl_config_args --cflags` + SDL_LIBS=`$SDL3_CONFIG $sdl_config_args --libs` fi - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_major_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_minor_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_micro_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" @@ -108,7 +108,7 @@ AC_ARG_VAR(SDL2_FRAMEWORK, [Path to SDL2.framework]) LIBS="$LIBS $SDL_LIBS" dnl dnl Now check if the installed SDL is sufficiently new. (Also sanity -dnl checks the results of sdl2-config to some extent +dnl checks the results of sdl3-config to some extent dnl rm -f conf.sdltest AC_RUN_IFELSE([AC_LANG_SOURCE([[ @@ -136,11 +136,11 @@ int main (int argc, char *argv[]) } else { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); + printf("\n*** 'sdl3-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl3-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); + printf("*** If sdl3-config was wrong, set the environment variable SDL3_CONFIG\n"); + printf("*** to point to the correct copy of sdl3-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } @@ -164,11 +164,11 @@ int main (int argc, char *argv[]) if test "x$no_sdl" = x ; then ifelse([$2], , :, [$2]) else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" + if test "$SDL3_CONFIG" = "no" ; then + echo "*** The sdl3-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." + echo "*** your path, or set the SDL3_CONFIG environment variable to the" + echo "*** full path to sdl3-config." else if test -f conf.sdltest ; then : @@ -198,7 +198,7 @@ int main(int argc, char *argv[]) [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ]) + echo "*** may want to edit the sdl3-config script: $SDL3_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" diff --git a/sdl2.pc.in b/sdl3.pc.in similarity index 86% rename from sdl2.pc.in rename to sdl3.pc.in index ad1a9574f..96a480c86 100644 --- a/sdl2.pc.in +++ b/sdl3.pc.in @@ -5,10 +5,10 @@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@ -Name: sdl2 +Name: sdl3 Description: Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer. Version: @SDL_VERSION@ Requires: Conflicts: Libs: -L${libdir} @SDL_RLD_FLAGS@ @SDL_LIBS@ @PKGCONFIG_LIBS_PRIV@ @SDL_STATIC_LIBS@ -Cflags: -I${includedir} -I${includedir}/SDL2 @SDL_CFLAGS@ +Cflags: -I${includedir} -I${includedir}/SDL3 @SDL_CFLAGS@ diff --git a/src/SDL_internal.h b/src/SDL_internal.h index 43e407f87..1055151d0 100644 --- a/src/SDL_internal.h +++ b/src/SDL_internal.h @@ -55,7 +55,7 @@ #define O_CLOEXEC 0 #endif -/* A few #defines to reduce SDL2 footprint. +/* A few #defines to reduce SDL footprint. Only effective when library is statically linked. You have to manually edit this file. */ #ifndef SDL_LEAN_AND_MEAN diff --git a/src/audio/emscripten/SDL_emscriptenaudio.c b/src/audio/emscripten/SDL_emscriptenaudio.c index bfe42821a..8a07f6c7f 100644 --- a/src/audio/emscripten/SDL_emscriptenaudio.c +++ b/src/audio/emscripten/SDL_emscriptenaudio.c @@ -38,10 +38,10 @@ FeedAudioDevice(_THIS, const void *buf, const int buflen) { const int framelen = (SDL_AUDIO_BITSIZE(this->spec.format) / 8) * this->spec.channels; MAIN_THREAD_EM_ASM({ - var SDL2 = Module['SDL2']; - var numChannels = SDL2.audio.currentOutputBuffer['numberOfChannels']; + var SDL3 = Module['SDL3']; + var numChannels = SDL3.audio.currentOutputBuffer['numberOfChannels']; for (var c = 0; c < numChannels; ++c) { - var channelData = SDL2.audio.currentOutputBuffer['getChannelData'](c); + var channelData = SDL3.audio.currentOutputBuffer['getChannelData'](c); if (channelData.length != $1) { throw 'Web Audio output buffer length mismatch! Destination size: ' + channelData.length + ' samples vs expected ' + $1 + ' samples!'; } @@ -107,10 +107,10 @@ HandleCaptureProcess(_THIS) } MAIN_THREAD_EM_ASM({ - var SDL2 = Module['SDL2']; - var numChannels = SDL2.capture.currentCaptureBuffer.numberOfChannels; + var SDL3 = Module['SDL3']; + var numChannels = SDL3.capture.currentCaptureBuffer.numberOfChannels; for (var c = 0; c < numChannels; ++c) { - var channelData = SDL2.capture.currentCaptureBuffer.getChannelData(c); + var channelData = SDL3.capture.currentCaptureBuffer.getChannelData(c); if (channelData.length != $1) { throw 'Web Audio capture buffer length mismatch! Destination size: ' + channelData.length + ' samples vs expected ' + $1 + ' samples!'; } @@ -153,45 +153,45 @@ static void EMSCRIPTENAUDIO_CloseDevice(_THIS) { MAIN_THREAD_EM_ASM({ - var SDL2 = Module['SDL2']; + var SDL3 = Module['SDL3']; if ($0) { - if (SDL2.capture.silenceTimer !== undefined) { - clearTimeout(SDL2.capture.silenceTimer); + if (SDL3.capture.silenceTimer !== undefined) { + clearTimeout(SDL3.capture.silenceTimer); } - if (SDL2.capture.stream !== undefined) { - var tracks = SDL2.capture.stream.getAudioTracks(); + if (SDL3.capture.stream !== undefined) { + var tracks = SDL3.capture.stream.getAudioTracks(); for (var i = 0; i < tracks.length; i++) { - SDL2.capture.stream.removeTrack(tracks[i]); + SDL3.capture.stream.removeTrack(tracks[i]); } - SDL2.capture.stream = undefined; + SDL3.capture.stream = undefined; } - if (SDL2.capture.scriptProcessorNode !== undefined) { - SDL2.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) {}; - SDL2.capture.scriptProcessorNode.disconnect(); - SDL2.capture.scriptProcessorNode = undefined; + if (SDL3.capture.scriptProcessorNode !== undefined) { + SDL3.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) {}; + SDL3.capture.scriptProcessorNode.disconnect(); + SDL3.capture.scriptProcessorNode = undefined; } - if (SDL2.capture.mediaStreamNode !== undefined) { - SDL2.capture.mediaStreamNode.disconnect(); - SDL2.capture.mediaStreamNode = undefined; + if (SDL3.capture.mediaStreamNode !== undefined) { + SDL3.capture.mediaStreamNode.disconnect(); + SDL3.capture.mediaStreamNode = undefined; } - if (SDL2.capture.silenceBuffer !== undefined) { - SDL2.capture.silenceBuffer = undefined + if (SDL3.capture.silenceBuffer !== undefined) { + SDL3.capture.silenceBuffer = undefined } - SDL2.capture = undefined; + SDL3.capture = undefined; } else { - if (SDL2.audio.scriptProcessorNode != undefined) { - SDL2.audio.scriptProcessorNode.disconnect(); - SDL2.audio.scriptProcessorNode = undefined; + if (SDL3.audio.scriptProcessorNode != undefined) { + SDL3.audio.scriptProcessorNode.disconnect(); + SDL3.audio.scriptProcessorNode = undefined; } - SDL2.audio = undefined; + SDL3.audio = undefined; } - if ((SDL2.audioContext !== undefined) && (SDL2.audio === undefined) && (SDL2.capture === undefined)) { - SDL2.audioContext.close(); - SDL2.audioContext = undefined; + if ((SDL3.audioContext !== undefined) && (SDL3.audio === undefined) && (SDL3.capture === undefined)) { + SDL3.audioContext.close(); + SDL3.audioContext = undefined; } }, this->iscapture); -#if 0 /* !!! FIXME: currently not used. Can we move some stuff off the SDL2 namespace? --ryan. */ +#if 0 /* !!! FIXME: currently not used. Can we move some stuff off the SDL3 namespace? --ryan. */ SDL_free(this->hidden); #endif } @@ -207,27 +207,27 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, const char *devname) /* create context */ result = MAIN_THREAD_EM_ASM_INT({ - if(typeof(Module['SDL2']) === 'undefined') { - Module['SDL2'] = {}; + if(typeof(Module['SDL3']) === 'undefined') { + Module['SDL3'] = {}; } - var SDL2 = Module['SDL2']; + var SDL3 = Module['SDL3']; if (!$0) { - SDL2.audio = {}; + SDL3.audio = {}; } else { - SDL2.capture = {}; + SDL3.capture = {}; } - if (!SDL2.audioContext) { + if (!SDL3.audioContext) { if (typeof(AudioContext) !== 'undefined') { - SDL2.audioContext = new AudioContext(); + SDL3.audioContext = new AudioContext(); } else if (typeof(webkitAudioContext) !== 'undefined') { - SDL2.audioContext = new webkitAudioContext(); + SDL3.audioContext = new webkitAudioContext(); } - if (SDL2.audioContext) { - autoResumeAudioContext(SDL2.audioContext); + if (SDL3.audioContext) { + autoResumeAudioContext(SDL3.audioContext); } } - return SDL2.audioContext === undefined ? -1 : 0; + return SDL3.audioContext === undefined ? -1 : 0; }, iscapture); if (result < 0) { return SDL_SetError("Web Audio API is not available!"); @@ -250,7 +250,7 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, const char *devname) this->spec.format = test_format; /* Initialize all variables that we clean on shutdown */ -#if 0 /* !!! FIXME: currently not used. Can we move some stuff off the SDL2 namespace? --ryan. */ +#if 0 /* !!! FIXME: currently not used. Can we move some stuff off the SDL3 namespace? --ryan. */ this->hidden = (struct SDL_PrivateAudioData *) SDL_malloc((sizeof *this->hidden)); if (this->hidden == NULL) { @@ -262,8 +262,8 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, const char *devname) /* limit to native freq */ this->spec.freq = EM_ASM_INT_V({ - var SDL2 = Module['SDL2']; - return SDL2.audioContext.sampleRate; + var SDL3 = Module['SDL3']; + return SDL3.audioContext.sampleRate; }); SDL_CalculateAudioSpec(&this->spec); @@ -286,24 +286,24 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, const char *devname) to be honest. */ MAIN_THREAD_EM_ASM({ - var SDL2 = Module['SDL2']; + var SDL3 = Module['SDL3']; var have_microphone = function(stream) { //console.log('SDL audio capture: we have a microphone! Replacing silence callback.'); - if (SDL2.capture.silenceTimer !== undefined) { - clearTimeout(SDL2.capture.silenceTimer); - SDL2.capture.silenceTimer = undefined; + if (SDL3.capture.silenceTimer !== undefined) { + clearTimeout(SDL3.capture.silenceTimer); + SDL3.capture.silenceTimer = undefined; } - SDL2.capture.mediaStreamNode = SDL2.audioContext.createMediaStreamSource(stream); - SDL2.capture.scriptProcessorNode = SDL2.audioContext.createScriptProcessor($1, $0, 1); - SDL2.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) { - if ((SDL2 === undefined) || (SDL2.capture === undefined)) { return; } + SDL3.capture.mediaStreamNode = SDL3.audioContext.createMediaStreamSource(stream); + SDL3.capture.scriptProcessorNode = SDL3.audioContext.createScriptProcessor($1, $0, 1); + SDL3.capture.scriptProcessorNode.onaudioprocess = function(audioProcessingEvent) { + if ((SDL3 === undefined) || (SDL3.capture === undefined)) { return; } audioProcessingEvent.outputBuffer.getChannelData(0).fill(0.0); - SDL2.capture.currentCaptureBuffer = audioProcessingEvent.inputBuffer; + SDL3.capture.currentCaptureBuffer = audioProcessingEvent.inputBuffer; dynCall('vi', $2, [$3]); }; - SDL2.capture.mediaStreamNode.connect(SDL2.capture.scriptProcessorNode); - SDL2.capture.scriptProcessorNode.connect(SDL2.audioContext.destination); - SDL2.capture.stream = stream; + SDL3.capture.mediaStreamNode.connect(SDL3.capture.scriptProcessorNode); + SDL3.capture.scriptProcessorNode.connect(SDL3.audioContext.destination); + SDL3.capture.stream = stream; }; var no_microphone = function(error) { @@ -311,14 +311,14 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, const char *devname) }; /* we write silence to the audio callback until the microphone is available (user approves use, etc). */ - SDL2.capture.silenceBuffer = SDL2.audioContext.createBuffer($0, $1, SDL2.audioContext.sampleRate); - SDL2.capture.silenceBuffer.getChannelData(0).fill(0.0); + SDL3.capture.silenceBuffer = SDL3.audioContext.createBuffer($0, $1, SDL3.audioContext.sampleRate); + SDL3.capture.silenceBuffer.getChannelData(0).fill(0.0); var silence_callback = function() { - SDL2.capture.currentCaptureBuffer = SDL2.capture.silenceBuffer; + SDL3.capture.currentCaptureBuffer = SDL3.capture.silenceBuffer; dynCall('vi', $2, [$3]); }; - SDL2.capture.silenceTimer = setTimeout(silence_callback, ($1 / SDL2.audioContext.sampleRate) * 1000); + SDL3.capture.silenceTimer = setTimeout(silence_callback, ($1 / SDL3.audioContext.sampleRate) * 1000); if ((navigator.mediaDevices !== undefined) && (navigator.mediaDevices.getUserMedia !== undefined)) { navigator.mediaDevices.getUserMedia({ audio: true, video: false }).then(have_microphone).catch(no_microphone); @@ -329,14 +329,14 @@ EMSCRIPTENAUDIO_OpenDevice(_THIS, const char *devname) } else { /* setup a ScriptProcessorNode */ MAIN_THREAD_EM_ASM({ - var SDL2 = Module['SDL2']; - SDL2.audio.scriptProcessorNode = SDL2.audioContext['createScriptProcessor']($1, 0, $0); - SDL2.audio.scriptProcessorNode['onaudioprocess'] = function (e) { - if ((SDL2 === undefined) || (SDL2.audio === undefined)) { return; } - SDL2.audio.currentOutputBuffer = e['outputBuffer']; + var SDL3 = Module['SDL3']; + SDL3.audio.scriptProcessorNode = SDL3.audioContext['createScriptProcessor']($1, 0, $0); + SDL3.audio.scriptProcessorNode['onaudioprocess'] = function (e) { + if ((SDL3 === undefined) || (SDL3.audio === undefined)) { return; } + SDL3.audio.currentOutputBuffer = e['outputBuffer']; dynCall('vi', $2, [$3]); }; - SDL2.audio.scriptProcessorNode['connect'](SDL2.audioContext['destination']); + SDL3.audio.scriptProcessorNode['connect'](SDL3.audioContext['destination']); }, this->spec.channels, this->spec.samples, HandleAudioProcess, this); } diff --git a/src/audio/qsa/SDL_qsa_audio.c b/src/audio/qsa/SDL_qsa_audio.c index 7a843f364..38db66cf0 100644 --- a/src/audio/qsa/SDL_qsa_audio.c +++ b/src/audio/qsa/SDL_qsa_audio.c @@ -26,7 +26,7 @@ */ /* !!! FIXME: can this target support hotplugging? */ -/* !!! FIXME: ...does SDL2 even support QNX? */ +/* !!! FIXME: ...does SDL even support QNX? */ #include "../../SDL_internal.h" diff --git a/src/core/linux/SDL_ibus.c b/src/core/linux/SDL_ibus.c index 94f7aa626..1478de880 100644 --- a/src/core/linux/SDL_ibus.c +++ b/src/core/linux/SDL_ibus.c @@ -434,7 +434,7 @@ IBus_SetCapabilities(void *data, const char *name, const char *old_val, static SDL_bool IBus_SetupConnection(SDL_DBusContext *dbus, const char* addr) { - const char *client_name = "SDL2_Application"; + const char *client_name = "SDL3_Application"; const char *path = NULL; SDL_bool result = SDL_FALSE; DBusObjectPathVTable ibus_vtable; diff --git a/src/dynapi/SDL2.exports b/src/dynapi/SDL2.exports deleted file mode 100644 index 5085bffd9..000000000 --- a/src/dynapi/SDL2.exports +++ /dev/null @@ -1,869 +0,0 @@ -# Windows exports file for Watcom -# DO NOT EDIT THIS FILE BY HAND. It is autogenerated by gendynapi.pl. -++'_SDL_DYNAPI_entry'.'SDL2.dll'.'SDL_DYNAPI_entry' -++'_SDL_SetError'.'SDL2.dll'.'SDL_SetError' -++'_SDL_Log'.'SDL2.dll'.'SDL_Log' -++'_SDL_LogVerbose'.'SDL2.dll'.'SDL_LogVerbose' -++'_SDL_LogDebug'.'SDL2.dll'.'SDL_LogDebug' -++'_SDL_LogInfo'.'SDL2.dll'.'SDL_LogInfo' -++'_SDL_LogWarn'.'SDL2.dll'.'SDL_LogWarn' -++'_SDL_LogError'.'SDL2.dll'.'SDL_LogError' -++'_SDL_LogCritical'.'SDL2.dll'.'SDL_LogCritical' -++'_SDL_LogMessage'.'SDL2.dll'.'SDL_LogMessage' -++'_SDL_sscanf'.'SDL2.dll'.'SDL_sscanf' -++'_SDL_snprintf'.'SDL2.dll'.'SDL_snprintf' -++'_SDL_CreateThread'.'SDL2.dll'.'SDL_CreateThread' -++'_SDL_RWFromFP'.'SDL2.dll'.'SDL_RWFromFP' -++'_SDL_RegisterApp'.'SDL2.dll'.'SDL_RegisterApp' -++'_SDL_UnregisterApp'.'SDL2.dll'.'SDL_UnregisterApp' -++'_SDL_Direct3D9GetAdapterIndex'.'SDL2.dll'.'SDL_Direct3D9GetAdapterIndex' -++'_SDL_RenderGetD3D9Device'.'SDL2.dll'.'SDL_RenderGetD3D9Device' -# ++'_SDL_iPhoneSetAnimationCallback'.'SDL2.dll'.'SDL_iPhoneSetAnimationCallback' -# ++'_SDL_iPhoneSetEventPump'.'SDL2.dll'.'SDL_iPhoneSetEventPump' -# ++'_SDL_AndroidGetJNIEnv'.'SDL2.dll'.'SDL_AndroidGetJNIEnv' -# ++'_SDL_AndroidGetActivity'.'SDL2.dll'.'SDL_AndroidGetActivity' -# ++'_SDL_AndroidGetInternalStoragePath'.'SDL2.dll'.'SDL_AndroidGetInternalStoragePath' -# ++'_SDL_AndroidGetExternalStorageState'.'SDL2.dll'.'SDL_AndroidGetExternalStorageState' -# ++'_SDL_AndroidGetExternalStoragePath'.'SDL2.dll'.'SDL_AndroidGetExternalStoragePath' -++'_SDL_Init'.'SDL2.dll'.'SDL_Init' -++'_SDL_InitSubSystem'.'SDL2.dll'.'SDL_InitSubSystem' -++'_SDL_QuitSubSystem'.'SDL2.dll'.'SDL_QuitSubSystem' -++'_SDL_WasInit'.'SDL2.dll'.'SDL_WasInit' -++'_SDL_Quit'.'SDL2.dll'.'SDL_Quit' -++'_SDL_ReportAssertion'.'SDL2.dll'.'SDL_ReportAssertion' -++'_SDL_SetAssertionHandler'.'SDL2.dll'.'SDL_SetAssertionHandler' -++'_SDL_GetAssertionReport'.'SDL2.dll'.'SDL_GetAssertionReport' -++'_SDL_ResetAssertionReport'.'SDL2.dll'.'SDL_ResetAssertionReport' -++'_SDL_AtomicTryLock'.'SDL2.dll'.'SDL_AtomicTryLock' -++'_SDL_AtomicLock'.'SDL2.dll'.'SDL_AtomicLock' -++'_SDL_AtomicUnlock'.'SDL2.dll'.'SDL_AtomicUnlock' -++'_SDL_AtomicCAS'.'SDL2.dll'.'SDL_AtomicCAS' -++'_SDL_AtomicSet'.'SDL2.dll'.'SDL_AtomicSet' -++'_SDL_AtomicGet'.'SDL2.dll'.'SDL_AtomicGet' -++'_SDL_AtomicAdd'.'SDL2.dll'.'SDL_AtomicAdd' -++'_SDL_AtomicCASPtr'.'SDL2.dll'.'SDL_AtomicCASPtr' -++'_SDL_AtomicSetPtr'.'SDL2.dll'.'SDL_AtomicSetPtr' -++'_SDL_AtomicGetPtr'.'SDL2.dll'.'SDL_AtomicGetPtr' -++'_SDL_GetNumAudioDrivers'.'SDL2.dll'.'SDL_GetNumAudioDrivers' -++'_SDL_GetAudioDriver'.'SDL2.dll'.'SDL_GetAudioDriver' -++'_SDL_AudioInit'.'SDL2.dll'.'SDL_AudioInit' -++'_SDL_AudioQuit'.'SDL2.dll'.'SDL_AudioQuit' -++'_SDL_GetCurrentAudioDriver'.'SDL2.dll'.'SDL_GetCurrentAudioDriver' -++'_SDL_OpenAudio'.'SDL2.dll'.'SDL_OpenAudio' -++'_SDL_GetNumAudioDevices'.'SDL2.dll'.'SDL_GetNumAudioDevices' -++'_SDL_GetAudioDeviceName'.'SDL2.dll'.'SDL_GetAudioDeviceName' -++'_SDL_OpenAudioDevice'.'SDL2.dll'.'SDL_OpenAudioDevice' -++'_SDL_GetAudioStatus'.'SDL2.dll'.'SDL_GetAudioStatus' -++'_SDL_GetAudioDeviceStatus'.'SDL2.dll'.'SDL_GetAudioDeviceStatus' -++'_SDL_PauseAudio'.'SDL2.dll'.'SDL_PauseAudio' -++'_SDL_PauseAudioDevice'.'SDL2.dll'.'SDL_PauseAudioDevice' -++'_SDL_LoadWAV_RW'.'SDL2.dll'.'SDL_LoadWAV_RW' -++'_SDL_FreeWAV'.'SDL2.dll'.'SDL_FreeWAV' -++'_SDL_BuildAudioCVT'.'SDL2.dll'.'SDL_BuildAudioCVT' -++'_SDL_ConvertAudio'.'SDL2.dll'.'SDL_ConvertAudio' -++'_SDL_MixAudio'.'SDL2.dll'.'SDL_MixAudio' -++'_SDL_MixAudioFormat'.'SDL2.dll'.'SDL_MixAudioFormat' -++'_SDL_LockAudio'.'SDL2.dll'.'SDL_LockAudio' -++'_SDL_LockAudioDevice'.'SDL2.dll'.'SDL_LockAudioDevice' -++'_SDL_UnlockAudio'.'SDL2.dll'.'SDL_UnlockAudio' -++'_SDL_UnlockAudioDevice'.'SDL2.dll'.'SDL_UnlockAudioDevice' -++'_SDL_CloseAudio'.'SDL2.dll'.'SDL_CloseAudio' -++'_SDL_CloseAudioDevice'.'SDL2.dll'.'SDL_CloseAudioDevice' -++'_SDL_SetClipboardText'.'SDL2.dll'.'SDL_SetClipboardText' -++'_SDL_GetClipboardText'.'SDL2.dll'.'SDL_GetClipboardText' -++'_SDL_HasClipboardText'.'SDL2.dll'.'SDL_HasClipboardText' -++'_SDL_GetCPUCount'.'SDL2.dll'.'SDL_GetCPUCount' -++'_SDL_GetCPUCacheLineSize'.'SDL2.dll'.'SDL_GetCPUCacheLineSize' -++'_SDL_HasRDTSC'.'SDL2.dll'.'SDL_HasRDTSC' -++'_SDL_HasAltiVec'.'SDL2.dll'.'SDL_HasAltiVec' -++'_SDL_HasMMX'.'SDL2.dll'.'SDL_HasMMX' -++'_SDL_Has3DNow'.'SDL2.dll'.'SDL_Has3DNow' -++'_SDL_HasSSE'.'SDL2.dll'.'SDL_HasSSE' -++'_SDL_HasSSE2'.'SDL2.dll'.'SDL_HasSSE2' -++'_SDL_HasSSE3'.'SDL2.dll'.'SDL_HasSSE3' -++'_SDL_HasSSE41'.'SDL2.dll'.'SDL_HasSSE41' -++'_SDL_HasSSE42'.'SDL2.dll'.'SDL_HasSSE42' -++'_SDL_GetSystemRAM'.'SDL2.dll'.'SDL_GetSystemRAM' -++'_SDL_GetError'.'SDL2.dll'.'SDL_GetError' -++'_SDL_ClearError'.'SDL2.dll'.'SDL_ClearError' -++'_SDL_Error'.'SDL2.dll'.'SDL_Error' -++'_SDL_PumpEvents'.'SDL2.dll'.'SDL_PumpEvents' -++'_SDL_PeepEvents'.'SDL2.dll'.'SDL_PeepEvents' -++'_SDL_HasEvent'.'SDL2.dll'.'SDL_HasEvent' -++'_SDL_HasEvents'.'SDL2.dll'.'SDL_HasEvents' -++'_SDL_FlushEvent'.'SDL2.dll'.'SDL_FlushEvent' -++'_SDL_FlushEvents'.'SDL2.dll'.'SDL_FlushEvents' -++'_SDL_PollEvent'.'SDL2.dll'.'SDL_PollEvent' -++'_SDL_WaitEvent'.'SDL2.dll'.'SDL_WaitEvent' -++'_SDL_WaitEventTimeout'.'SDL2.dll'.'SDL_WaitEventTimeout' -++'_SDL_PushEvent'.'SDL2.dll'.'SDL_PushEvent' -++'_SDL_SetEventFilter'.'SDL2.dll'.'SDL_SetEventFilter' -++'_SDL_GetEventFilter'.'SDL2.dll'.'SDL_GetEventFilter' -++'_SDL_AddEventWatch'.'SDL2.dll'.'SDL_AddEventWatch' -++'_SDL_DelEventWatch'.'SDL2.dll'.'SDL_DelEventWatch' -++'_SDL_FilterEvents'.'SDL2.dll'.'SDL_FilterEvents' -++'_SDL_EventState'.'SDL2.dll'.'SDL_EventState' -++'_SDL_RegisterEvents'.'SDL2.dll'.'SDL_RegisterEvents' -++'_SDL_GetBasePath'.'SDL2.dll'.'SDL_GetBasePath' -++'_SDL_GetPrefPath'.'SDL2.dll'.'SDL_GetPrefPath' -++'_SDL_GameControllerAddMapping'.'SDL2.dll'.'SDL_GameControllerAddMapping' -++'_SDL_GameControllerMappingForGUID'.'SDL2.dll'.'SDL_GameControllerMappingForGUID' -++'_SDL_GameControllerMapping'.'SDL2.dll'.'SDL_GameControllerMapping' -++'_SDL_IsGameController'.'SDL2.dll'.'SDL_IsGameController' -++'_SDL_GameControllerNameForIndex'.'SDL2.dll'.'SDL_GameControllerNameForIndex' -++'_SDL_GameControllerOpen'.'SDL2.dll'.'SDL_GameControllerOpen' -++'_SDL_GameControllerName'.'SDL2.dll'.'SDL_GameControllerName' -++'_SDL_GameControllerGetAttached'.'SDL2.dll'.'SDL_GameControllerGetAttached' -++'_SDL_GameControllerGetJoystick'.'SDL2.dll'.'SDL_GameControllerGetJoystick' -++'_SDL_GameControllerEventState'.'SDL2.dll'.'SDL_GameControllerEventState' -++'_SDL_GameControllerUpdate'.'SDL2.dll'.'SDL_GameControllerUpdate' -++'_SDL_GameControllerGetAxisFromString'.'SDL2.dll'.'SDL_GameControllerGetAxisFromString' -++'_SDL_GameControllerGetStringForAxis'.'SDL2.dll'.'SDL_GameControllerGetStringForAxis' -++'_SDL_GameControllerGetBindForAxis'.'SDL2.dll'.'SDL_GameControllerGetBindForAxis' -++'_SDL_GameControllerGetAxis'.'SDL2.dll'.'SDL_GameControllerGetAxis' -++'_SDL_GameControllerGetButtonFromString'.'SDL2.dll'.'SDL_GameControllerGetButtonFromString' -++'_SDL_GameControllerGetStringForButton'.'SDL2.dll'.'SDL_GameControllerGetStringForButton' -++'_SDL_GameControllerGetBindForButton'.'SDL2.dll'.'SDL_GameControllerGetBindForButton' -++'_SDL_GameControllerGetButton'.'SDL2.dll'.'SDL_GameControllerGetButton' -++'_SDL_GameControllerClose'.'SDL2.dll'.'SDL_GameControllerClose' -++'_SDL_RecordGesture'.'SDL2.dll'.'SDL_RecordGesture' -++'_SDL_SaveAllDollarTemplates'.'SDL2.dll'.'SDL_SaveAllDollarTemplates' -++'_SDL_SaveDollarTemplate'.'SDL2.dll'.'SDL_SaveDollarTemplate' -++'_SDL_LoadDollarTemplates'.'SDL2.dll'.'SDL_LoadDollarTemplates' -++'_SDL_NumHaptics'.'SDL2.dll'.'SDL_NumHaptics' -++'_SDL_HapticName'.'SDL2.dll'.'SDL_HapticName' -++'_SDL_HapticOpen'.'SDL2.dll'.'SDL_HapticOpen' -++'_SDL_HapticOpened'.'SDL2.dll'.'SDL_HapticOpened' -++'_SDL_HapticIndex'.'SDL2.dll'.'SDL_HapticIndex' -++'_SDL_MouseIsHaptic'.'SDL2.dll'.'SDL_MouseIsHaptic' -++'_SDL_HapticOpenFromMouse'.'SDL2.dll'.'SDL_HapticOpenFromMouse' -++'_SDL_JoystickIsHaptic'.'SDL2.dll'.'SDL_JoystickIsHaptic' -++'_SDL_HapticOpenFromJoystick'.'SDL2.dll'.'SDL_HapticOpenFromJoystick' -++'_SDL_HapticClose'.'SDL2.dll'.'SDL_HapticClose' -++'_SDL_HapticNumEffects'.'SDL2.dll'.'SDL_HapticNumEffects' -++'_SDL_HapticNumEffectsPlaying'.'SDL2.dll'.'SDL_HapticNumEffectsPlaying' -++'_SDL_HapticQuery'.'SDL2.dll'.'SDL_HapticQuery' -++'_SDL_HapticNumAxes'.'SDL2.dll'.'SDL_HapticNumAxes' -++'_SDL_HapticEffectSupported'.'SDL2.dll'.'SDL_HapticEffectSupported' -++'_SDL_HapticNewEffect'.'SDL2.dll'.'SDL_HapticNewEffect' -++'_SDL_HapticUpdateEffect'.'SDL2.dll'.'SDL_HapticUpdateEffect' -++'_SDL_HapticRunEffect'.'SDL2.dll'.'SDL_HapticRunEffect' -++'_SDL_HapticStopEffect'.'SDL2.dll'.'SDL_HapticStopEffect' -++'_SDL_HapticDestroyEffect'.'SDL2.dll'.'SDL_HapticDestroyEffect' -++'_SDL_HapticGetEffectStatus'.'SDL2.dll'.'SDL_HapticGetEffectStatus' -++'_SDL_HapticSetGain'.'SDL2.dll'.'SDL_HapticSetGain' -++'_SDL_HapticSetAutocenter'.'SDL2.dll'.'SDL_HapticSetAutocenter' -++'_SDL_HapticPause'.'SDL2.dll'.'SDL_HapticPause' -++'_SDL_HapticUnpause'.'SDL2.dll'.'SDL_HapticUnpause' -++'_SDL_HapticStopAll'.'SDL2.dll'.'SDL_HapticStopAll' -++'_SDL_HapticRumbleSupported'.'SDL2.dll'.'SDL_HapticRumbleSupported' -++'_SDL_HapticRumbleInit'.'SDL2.dll'.'SDL_HapticRumbleInit' -++'_SDL_HapticRumblePlay'.'SDL2.dll'.'SDL_HapticRumblePlay' -++'_SDL_HapticRumbleStop'.'SDL2.dll'.'SDL_HapticRumbleStop' -++'_SDL_SetHintWithPriority'.'SDL2.dll'.'SDL_SetHintWithPriority' -++'_SDL_SetHint'.'SDL2.dll'.'SDL_SetHint' -++'_SDL_GetHint'.'SDL2.dll'.'SDL_GetHint' -++'_SDL_AddHintCallback'.'SDL2.dll'.'SDL_AddHintCallback' -++'_SDL_DelHintCallback'.'SDL2.dll'.'SDL_DelHintCallback' -++'_SDL_ClearHints'.'SDL2.dll'.'SDL_ClearHints' -++'_SDL_NumJoysticks'.'SDL2.dll'.'SDL_NumJoysticks' -++'_SDL_JoystickNameForIndex'.'SDL2.dll'.'SDL_JoystickNameForIndex' -++'_SDL_JoystickOpen'.'SDL2.dll'.'SDL_JoystickOpen' -++'_SDL_JoystickName'.'SDL2.dll'.'SDL_JoystickName' -++'_SDL_JoystickGetDeviceGUID'.'SDL2.dll'.'SDL_JoystickGetDeviceGUID' -++'_SDL_JoystickGetGUID'.'SDL2.dll'.'SDL_JoystickGetGUID' -++'_SDL_JoystickGetGUIDString'.'SDL2.dll'.'SDL_JoystickGetGUIDString' -++'_SDL_JoystickGetGUIDFromString'.'SDL2.dll'.'SDL_JoystickGetGUIDFromString' -++'_SDL_JoystickGetAttached'.'SDL2.dll'.'SDL_JoystickGetAttached' -++'_SDL_JoystickInstanceID'.'SDL2.dll'.'SDL_JoystickInstanceID' -++'_SDL_JoystickNumAxes'.'SDL2.dll'.'SDL_JoystickNumAxes' -++'_SDL_JoystickNumBalls'.'SDL2.dll'.'SDL_JoystickNumBalls' -++'_SDL_JoystickNumHats'.'SDL2.dll'.'SDL_JoystickNumHats' -++'_SDL_JoystickNumButtons'.'SDL2.dll'.'SDL_JoystickNumButtons' -++'_SDL_JoystickUpdate'.'SDL2.dll'.'SDL_JoystickUpdate' -++'_SDL_JoystickEventState'.'SDL2.dll'.'SDL_JoystickEventState' -++'_SDL_JoystickGetAxis'.'SDL2.dll'.'SDL_JoystickGetAxis' -++'_SDL_JoystickGetHat'.'SDL2.dll'.'SDL_JoystickGetHat' -++'_SDL_JoystickGetBall'.'SDL2.dll'.'SDL_JoystickGetBall' -++'_SDL_JoystickGetButton'.'SDL2.dll'.'SDL_JoystickGetButton' -++'_SDL_JoystickClose'.'SDL2.dll'.'SDL_JoystickClose' -++'_SDL_GetKeyboardFocus'.'SDL2.dll'.'SDL_GetKeyboardFocus' -++'_SDL_GetKeyboardState'.'SDL2.dll'.'SDL_GetKeyboardState' -++'_SDL_GetModState'.'SDL2.dll'.'SDL_GetModState' -++'_SDL_SetModState'.'SDL2.dll'.'SDL_SetModState' -++'_SDL_GetKeyFromScancode'.'SDL2.dll'.'SDL_GetKeyFromScancode' -++'_SDL_GetScancodeFromKey'.'SDL2.dll'.'SDL_GetScancodeFromKey' -++'_SDL_GetScancodeName'.'SDL2.dll'.'SDL_GetScancodeName' -++'_SDL_GetScancodeFromName'.'SDL2.dll'.'SDL_GetScancodeFromName' -++'_SDL_GetKeyName'.'SDL2.dll'.'SDL_GetKeyName' -++'_SDL_GetKeyFromName'.'SDL2.dll'.'SDL_GetKeyFromName' -++'_SDL_StartTextInput'.'SDL2.dll'.'SDL_StartTextInput' -++'_SDL_IsTextInputActive'.'SDL2.dll'.'SDL_IsTextInputActive' -++'_SDL_StopTextInput'.'SDL2.dll'.'SDL_StopTextInput' -++'_SDL_SetTextInputRect'.'SDL2.dll'.'SDL_SetTextInputRect' -++'_SDL_HasScreenKeyboardSupport'.'SDL2.dll'.'SDL_HasScreenKeyboardSupport' -++'_SDL_IsScreenKeyboardShown'.'SDL2.dll'.'SDL_IsScreenKeyboardShown' -++'_SDL_LoadObject'.'SDL2.dll'.'SDL_LoadObject' -++'_SDL_LoadFunction'.'SDL2.dll'.'SDL_LoadFunction' -++'_SDL_UnloadObject'.'SDL2.dll'.'SDL_UnloadObject' -++'_SDL_LogSetAllPriority'.'SDL2.dll'.'SDL_LogSetAllPriority' -++'_SDL_LogSetPriority'.'SDL2.dll'.'SDL_LogSetPriority' -++'_SDL_LogGetPriority'.'SDL2.dll'.'SDL_LogGetPriority' -++'_SDL_LogResetPriorities'.'SDL2.dll'.'SDL_LogResetPriorities' -++'_SDL_LogMessageV'.'SDL2.dll'.'SDL_LogMessageV' -++'_SDL_LogGetOutputFunction'.'SDL2.dll'.'SDL_LogGetOutputFunction' -++'_SDL_LogSetOutputFunction'.'SDL2.dll'.'SDL_LogSetOutputFunction' -++'_SDL_SetMainReady'.'SDL2.dll'.'SDL_SetMainReady' -++'_SDL_ShowMessageBox'.'SDL2.dll'.'SDL_ShowMessageBox' -++'_SDL_ShowSimpleMessageBox'.'SDL2.dll'.'SDL_ShowSimpleMessageBox' -++'_SDL_GetMouseFocus'.'SDL2.dll'.'SDL_GetMouseFocus' -++'_SDL_GetMouseState'.'SDL2.dll'.'SDL_GetMouseState' -++'_SDL_GetRelativeMouseState'.'SDL2.dll'.'SDL_GetRelativeMouseState' -++'_SDL_WarpMouseInWindow'.'SDL2.dll'.'SDL_WarpMouseInWindow' -++'_SDL_SetRelativeMouseMode'.'SDL2.dll'.'SDL_SetRelativeMouseMode' -++'_SDL_GetRelativeMouseMode'.'SDL2.dll'.'SDL_GetRelativeMouseMode' -++'_SDL_CreateCursor'.'SDL2.dll'.'SDL_CreateCursor' -++'_SDL_CreateColorCursor'.'SDL2.dll'.'SDL_CreateColorCursor' -++'_SDL_CreateSystemCursor'.'SDL2.dll'.'SDL_CreateSystemCursor' -++'_SDL_SetCursor'.'SDL2.dll'.'SDL_SetCursor' -++'_SDL_GetCursor'.'SDL2.dll'.'SDL_GetCursor' -++'_SDL_GetDefaultCursor'.'SDL2.dll'.'SDL_GetDefaultCursor' -++'_SDL_FreeCursor'.'SDL2.dll'.'SDL_FreeCursor' -++'_SDL_ShowCursor'.'SDL2.dll'.'SDL_ShowCursor' -++'_SDL_CreateMutex'.'SDL2.dll'.'SDL_CreateMutex' -++'_SDL_LockMutex'.'SDL2.dll'.'SDL_LockMutex' -++'_SDL_TryLockMutex'.'SDL2.dll'.'SDL_TryLockMutex' -++'_SDL_UnlockMutex'.'SDL2.dll'.'SDL_UnlockMutex' -++'_SDL_DestroyMutex'.'SDL2.dll'.'SDL_DestroyMutex' -++'_SDL_CreateSemaphore'.'SDL2.dll'.'SDL_CreateSemaphore' -++'_SDL_DestroySemaphore'.'SDL2.dll'.'SDL_DestroySemaphore' -++'_SDL_SemWait'.'SDL2.dll'.'SDL_SemWait' -++'_SDL_SemTryWait'.'SDL2.dll'.'SDL_SemTryWait' -++'_SDL_SemWaitTimeout'.'SDL2.dll'.'SDL_SemWaitTimeout' -++'_SDL_SemPost'.'SDL2.dll'.'SDL_SemPost' -++'_SDL_SemValue'.'SDL2.dll'.'SDL_SemValue' -++'_SDL_CreateCond'.'SDL2.dll'.'SDL_CreateCond' -++'_SDL_DestroyCond'.'SDL2.dll'.'SDL_DestroyCond' -++'_SDL_CondSignal'.'SDL2.dll'.'SDL_CondSignal' -++'_SDL_CondBroadcast'.'SDL2.dll'.'SDL_CondBroadcast' -++'_SDL_CondWait'.'SDL2.dll'.'SDL_CondWait' -++'_SDL_CondWaitTimeout'.'SDL2.dll'.'SDL_CondWaitTimeout' -++'_SDL_GetPixelFormatName'.'SDL2.dll'.'SDL_GetPixelFormatName' -++'_SDL_PixelFormatEnumToMasks'.'SDL2.dll'.'SDL_PixelFormatEnumToMasks' -++'_SDL_MasksToPixelFormatEnum'.'SDL2.dll'.'SDL_MasksToPixelFormatEnum' -++'_SDL_AllocFormat'.'SDL2.dll'.'SDL_AllocFormat' -++'_SDL_FreeFormat'.'SDL2.dll'.'SDL_FreeFormat' -++'_SDL_AllocPalette'.'SDL2.dll'.'SDL_AllocPalette' -++'_SDL_SetPixelFormatPalette'.'SDL2.dll'.'SDL_SetPixelFormatPalette' -++'_SDL_SetPaletteColors'.'SDL2.dll'.'SDL_SetPaletteColors' -++'_SDL_FreePalette'.'SDL2.dll'.'SDL_FreePalette' -++'_SDL_MapRGB'.'SDL2.dll'.'SDL_MapRGB' -++'_SDL_MapRGBA'.'SDL2.dll'.'SDL_MapRGBA' -++'_SDL_GetRGB'.'SDL2.dll'.'SDL_GetRGB' -++'_SDL_GetRGBA'.'SDL2.dll'.'SDL_GetRGBA' -++'_SDL_CalculateGammaRamp'.'SDL2.dll'.'SDL_CalculateGammaRamp' -++'_SDL_GetPlatform'.'SDL2.dll'.'SDL_GetPlatform' -++'_SDL_GetPowerInfo'.'SDL2.dll'.'SDL_GetPowerInfo' -++'_SDL_HasIntersection'.'SDL2.dll'.'SDL_HasIntersection' -++'_SDL_IntersectRect'.'SDL2.dll'.'SDL_IntersectRect' -++'_SDL_UnionRect'.'SDL2.dll'.'SDL_UnionRect' -++'_SDL_EnclosePoints'.'SDL2.dll'.'SDL_EnclosePoints' -++'_SDL_IntersectRectAndLine'.'SDL2.dll'.'SDL_IntersectRectAndLine' -++'_SDL_GetNumRenderDrivers'.'SDL2.dll'.'SDL_GetNumRenderDrivers' -++'_SDL_GetRenderDriverInfo'.'SDL2.dll'.'SDL_GetRenderDriverInfo' -++'_SDL_CreateWindowAndRenderer'.'SDL2.dll'.'SDL_CreateWindowAndRenderer' -++'_SDL_CreateRenderer'.'SDL2.dll'.'SDL_CreateRenderer' -++'_SDL_CreateSoftwareRenderer'.'SDL2.dll'.'SDL_CreateSoftwareRenderer' -++'_SDL_GetRenderer'.'SDL2.dll'.'SDL_GetRenderer' -++'_SDL_GetRendererInfo'.'SDL2.dll'.'SDL_GetRendererInfo' -++'_SDL_GetRendererOutputSize'.'SDL2.dll'.'SDL_GetRendererOutputSize' -++'_SDL_CreateTexture'.'SDL2.dll'.'SDL_CreateTexture' -++'_SDL_CreateTextureFromSurface'.'SDL2.dll'.'SDL_CreateTextureFromSurface' -++'_SDL_QueryTexture'.'SDL2.dll'.'SDL_QueryTexture' -++'_SDL_SetTextureColorMod'.'SDL2.dll'.'SDL_SetTextureColorMod' -++'_SDL_GetTextureColorMod'.'SDL2.dll'.'SDL_GetTextureColorMod' -++'_SDL_SetTextureAlphaMod'.'SDL2.dll'.'SDL_SetTextureAlphaMod' -++'_SDL_GetTextureAlphaMod'.'SDL2.dll'.'SDL_GetTextureAlphaMod' -++'_SDL_SetTextureBlendMode'.'SDL2.dll'.'SDL_SetTextureBlendMode' -++'_SDL_GetTextureBlendMode'.'SDL2.dll'.'SDL_GetTextureBlendMode' -++'_SDL_UpdateTexture'.'SDL2.dll'.'SDL_UpdateTexture' -++'_SDL_UpdateYUVTexture'.'SDL2.dll'.'SDL_UpdateYUVTexture' -++'_SDL_LockTexture'.'SDL2.dll'.'SDL_LockTexture' -++'_SDL_UnlockTexture'.'SDL2.dll'.'SDL_UnlockTexture' -++'_SDL_RenderTargetSupported'.'SDL2.dll'.'SDL_RenderTargetSupported' -++'_SDL_SetRenderTarget'.'SDL2.dll'.'SDL_SetRenderTarget' -++'_SDL_GetRenderTarget'.'SDL2.dll'.'SDL_GetRenderTarget' -++'_SDL_RenderSetLogicalSize'.'SDL2.dll'.'SDL_RenderSetLogicalSize' -++'_SDL_RenderGetLogicalSize'.'SDL2.dll'.'SDL_RenderGetLogicalSize' -++'_SDL_RenderSetViewport'.'SDL2.dll'.'SDL_RenderSetViewport' -++'_SDL_RenderGetViewport'.'SDL2.dll'.'SDL_RenderGetViewport' -++'_SDL_RenderSetClipRect'.'SDL2.dll'.'SDL_RenderSetClipRect' -++'_SDL_RenderGetClipRect'.'SDL2.dll'.'SDL_RenderGetClipRect' -++'_SDL_RenderSetScale'.'SDL2.dll'.'SDL_RenderSetScale' -++'_SDL_RenderGetScale'.'SDL2.dll'.'SDL_RenderGetScale' -++'_SDL_SetRenderDrawColor'.'SDL2.dll'.'SDL_SetRenderDrawColor' -++'_SDL_GetRenderDrawColor'.'SDL2.dll'.'SDL_GetRenderDrawColor' -++'_SDL_SetRenderDrawBlendMode'.'SDL2.dll'.'SDL_SetRenderDrawBlendMode' -++'_SDL_GetRenderDrawBlendMode'.'SDL2.dll'.'SDL_GetRenderDrawBlendMode' -++'_SDL_RenderClear'.'SDL2.dll'.'SDL_RenderClear' -++'_SDL_RenderDrawPoint'.'SDL2.dll'.'SDL_RenderDrawPoint' -++'_SDL_RenderDrawPoints'.'SDL2.dll'.'SDL_RenderDrawPoints' -++'_SDL_RenderDrawLine'.'SDL2.dll'.'SDL_RenderDrawLine' -++'_SDL_RenderDrawLines'.'SDL2.dll'.'SDL_RenderDrawLines' -++'_SDL_RenderDrawRect'.'SDL2.dll'.'SDL_RenderDrawRect' -++'_SDL_RenderDrawRects'.'SDL2.dll'.'SDL_RenderDrawRects' -++'_SDL_RenderFillRect'.'SDL2.dll'.'SDL_RenderFillRect' -++'_SDL_RenderFillRects'.'SDL2.dll'.'SDL_RenderFillRects' -++'_SDL_RenderCopy'.'SDL2.dll'.'SDL_RenderCopy' -++'_SDL_RenderCopyEx'.'SDL2.dll'.'SDL_RenderCopyEx' -++'_SDL_RenderReadPixels'.'SDL2.dll'.'SDL_RenderReadPixels' -++'_SDL_RenderPresent'.'SDL2.dll'.'SDL_RenderPresent' -++'_SDL_DestroyTexture'.'SDL2.dll'.'SDL_DestroyTexture' -++'_SDL_DestroyRenderer'.'SDL2.dll'.'SDL_DestroyRenderer' -++'_SDL_GL_BindTexture'.'SDL2.dll'.'SDL_GL_BindTexture' -++'_SDL_GL_UnbindTexture'.'SDL2.dll'.'SDL_GL_UnbindTexture' -++'_SDL_RWFromFile'.'SDL2.dll'.'SDL_RWFromFile' -++'_SDL_RWFromMem'.'SDL2.dll'.'SDL_RWFromMem' -++'_SDL_RWFromConstMem'.'SDL2.dll'.'SDL_RWFromConstMem' -++'_SDL_AllocRW'.'SDL2.dll'.'SDL_AllocRW' -++'_SDL_FreeRW'.'SDL2.dll'.'SDL_FreeRW' -++'_SDL_ReadU8'.'SDL2.dll'.'SDL_ReadU8' -++'_SDL_ReadLE16'.'SDL2.dll'.'SDL_ReadLE16' -++'_SDL_ReadBE16'.'SDL2.dll'.'SDL_ReadBE16' -++'_SDL_ReadLE32'.'SDL2.dll'.'SDL_ReadLE32' -++'_SDL_ReadBE32'.'SDL2.dll'.'SDL_ReadBE32' -++'_SDL_ReadLE64'.'SDL2.dll'.'SDL_ReadLE64' -++'_SDL_ReadBE64'.'SDL2.dll'.'SDL_ReadBE64' -++'_SDL_WriteU8'.'SDL2.dll'.'SDL_WriteU8' -++'_SDL_WriteLE16'.'SDL2.dll'.'SDL_WriteLE16' -++'_SDL_WriteBE16'.'SDL2.dll'.'SDL_WriteBE16' -++'_SDL_WriteLE32'.'SDL2.dll'.'SDL_WriteLE32' -++'_SDL_WriteBE32'.'SDL2.dll'.'SDL_WriteBE32' -++'_SDL_WriteLE64'.'SDL2.dll'.'SDL_WriteLE64' -++'_SDL_WriteBE64'.'SDL2.dll'.'SDL_WriteBE64' -++'_SDL_CreateShapedWindow'.'SDL2.dll'.'SDL_CreateShapedWindow' -++'_SDL_IsShapedWindow'.'SDL2.dll'.'SDL_IsShapedWindow' -++'_SDL_SetWindowShape'.'SDL2.dll'.'SDL_SetWindowShape' -++'_SDL_GetShapedWindowMode'.'SDL2.dll'.'SDL_GetShapedWindowMode' -++'_SDL_malloc'.'SDL2.dll'.'SDL_malloc' -++'_SDL_calloc'.'SDL2.dll'.'SDL_calloc' -++'_SDL_realloc'.'SDL2.dll'.'SDL_realloc' -++'_SDL_free'.'SDL2.dll'.'SDL_free' -++'_SDL_getenv'.'SDL2.dll'.'SDL_getenv' -++'_SDL_setenv'.'SDL2.dll'.'SDL_setenv' -++'_SDL_qsort'.'SDL2.dll'.'SDL_qsort' -++'_SDL_abs'.'SDL2.dll'.'SDL_abs' -++'_SDL_isdigit'.'SDL2.dll'.'SDL_isdigit' -++'_SDL_isspace'.'SDL2.dll'.'SDL_isspace' -++'_SDL_toupper'.'SDL2.dll'.'SDL_toupper' -++'_SDL_tolower'.'SDL2.dll'.'SDL_tolower' -++'_SDL_memset'.'SDL2.dll'.'SDL_memset' -++'_SDL_memcpy'.'SDL2.dll'.'SDL_memcpy' -++'_SDL_memmove'.'SDL2.dll'.'SDL_memmove' -++'_SDL_memcmp'.'SDL2.dll'.'SDL_memcmp' -++'_SDL_wcslen'.'SDL2.dll'.'SDL_wcslen' -++'_SDL_wcslcpy'.'SDL2.dll'.'SDL_wcslcpy' -++'_SDL_wcslcat'.'SDL2.dll'.'SDL_wcslcat' -++'_SDL_strlen'.'SDL2.dll'.'SDL_strlen' -++'_SDL_strlcpy'.'SDL2.dll'.'SDL_strlcpy' -++'_SDL_utf8strlcpy'.'SDL2.dll'.'SDL_utf8strlcpy' -++'_SDL_strlcat'.'SDL2.dll'.'SDL_strlcat' -++'_SDL_strdup'.'SDL2.dll'.'SDL_strdup' -++'_SDL_strrev'.'SDL2.dll'.'SDL_strrev' -++'_SDL_strupr'.'SDL2.dll'.'SDL_strupr' -++'_SDL_strlwr'.'SDL2.dll'.'SDL_strlwr' -++'_SDL_strchr'.'SDL2.dll'.'SDL_strchr' -++'_SDL_strrchr'.'SDL2.dll'.'SDL_strrchr' -++'_SDL_strstr'.'SDL2.dll'.'SDL_strstr' -++'_SDL_itoa'.'SDL2.dll'.'SDL_itoa' -++'_SDL_uitoa'.'SDL2.dll'.'SDL_uitoa' -++'_SDL_ltoa'.'SDL2.dll'.'SDL_ltoa' -++'_SDL_ultoa'.'SDL2.dll'.'SDL_ultoa' -++'_SDL_lltoa'.'SDL2.dll'.'SDL_lltoa' -++'_SDL_ulltoa'.'SDL2.dll'.'SDL_ulltoa' -++'_SDL_atoi'.'SDL2.dll'.'SDL_atoi' -++'_SDL_atof'.'SDL2.dll'.'SDL_atof' -++'_SDL_strtol'.'SDL2.dll'.'SDL_strtol' -++'_SDL_strtoul'.'SDL2.dll'.'SDL_strtoul' -++'_SDL_strtoll'.'SDL2.dll'.'SDL_strtoll' -++'_SDL_strtoull'.'SDL2.dll'.'SDL_strtoull' -++'_SDL_strtod'.'SDL2.dll'.'SDL_strtod' -++'_SDL_strcmp'.'SDL2.dll'.'SDL_strcmp' -++'_SDL_strncmp'.'SDL2.dll'.'SDL_strncmp' -++'_SDL_strcasecmp'.'SDL2.dll'.'SDL_strcasecmp' -++'_SDL_strncasecmp'.'SDL2.dll'.'SDL_strncasecmp' -++'_SDL_vsnprintf'.'SDL2.dll'.'SDL_vsnprintf' -++'_SDL_acos'.'SDL2.dll'.'SDL_acos' -++'_SDL_asin'.'SDL2.dll'.'SDL_asin' -++'_SDL_atan'.'SDL2.dll'.'SDL_atan' -++'_SDL_atan2'.'SDL2.dll'.'SDL_atan2' -++'_SDL_ceil'.'SDL2.dll'.'SDL_ceil' -++'_SDL_copysign'.'SDL2.dll'.'SDL_copysign' -++'_SDL_cos'.'SDL2.dll'.'SDL_cos' -++'_SDL_cosf'.'SDL2.dll'.'SDL_cosf' -++'_SDL_fabs'.'SDL2.dll'.'SDL_fabs' -++'_SDL_floor'.'SDL2.dll'.'SDL_floor' -++'_SDL_log'.'SDL2.dll'.'SDL_log' -++'_SDL_pow'.'SDL2.dll'.'SDL_pow' -++'_SDL_scalbn'.'SDL2.dll'.'SDL_scalbn' -++'_SDL_sin'.'SDL2.dll'.'SDL_sin' -++'_SDL_sinf'.'SDL2.dll'.'SDL_sinf' -++'_SDL_sqrt'.'SDL2.dll'.'SDL_sqrt' -++'_SDL_iconv_open'.'SDL2.dll'.'SDL_iconv_open' -++'_SDL_iconv_close'.'SDL2.dll'.'SDL_iconv_close' -++'_SDL_iconv'.'SDL2.dll'.'SDL_iconv' -++'_SDL_iconv_string'.'SDL2.dll'.'SDL_iconv_string' -++'_SDL_CreateRGBSurface'.'SDL2.dll'.'SDL_CreateRGBSurface' -++'_SDL_CreateRGBSurfaceFrom'.'SDL2.dll'.'SDL_CreateRGBSurfaceFrom' -++'_SDL_FreeSurface'.'SDL2.dll'.'SDL_FreeSurface' -++'_SDL_SetSurfacePalette'.'SDL2.dll'.'SDL_SetSurfacePalette' -++'_SDL_LockSurface'.'SDL2.dll'.'SDL_LockSurface' -++'_SDL_UnlockSurface'.'SDL2.dll'.'SDL_UnlockSurface' -++'_SDL_LoadBMP_RW'.'SDL2.dll'.'SDL_LoadBMP_RW' -++'_SDL_SaveBMP_RW'.'SDL2.dll'.'SDL_SaveBMP_RW' -++'_SDL_SetSurfaceRLE'.'SDL2.dll'.'SDL_SetSurfaceRLE' -++'_SDL_SetColorKey'.'SDL2.dll'.'SDL_SetColorKey' -++'_SDL_GetColorKey'.'SDL2.dll'.'SDL_GetColorKey' -++'_SDL_SetSurfaceColorMod'.'SDL2.dll'.'SDL_SetSurfaceColorMod' -++'_SDL_GetSurfaceColorMod'.'SDL2.dll'.'SDL_GetSurfaceColorMod' -++'_SDL_SetSurfaceAlphaMod'.'SDL2.dll'.'SDL_SetSurfaceAlphaMod' -++'_SDL_GetSurfaceAlphaMod'.'SDL2.dll'.'SDL_GetSurfaceAlphaMod' -++'_SDL_SetSurfaceBlendMode'.'SDL2.dll'.'SDL_SetSurfaceBlendMode' -++'_SDL_GetSurfaceBlendMode'.'SDL2.dll'.'SDL_GetSurfaceBlendMode' -++'_SDL_SetClipRect'.'SDL2.dll'.'SDL_SetClipRect' -++'_SDL_GetClipRect'.'SDL2.dll'.'SDL_GetClipRect' -++'_SDL_ConvertSurface'.'SDL2.dll'.'SDL_ConvertSurface' -++'_SDL_ConvertSurfaceFormat'.'SDL2.dll'.'SDL_ConvertSurfaceFormat' -++'_SDL_ConvertPixels'.'SDL2.dll'.'SDL_ConvertPixels' -++'_SDL_FillRect'.'SDL2.dll'.'SDL_FillRect' -++'_SDL_FillRects'.'SDL2.dll'.'SDL_FillRects' -++'_SDL_UpperBlit'.'SDL2.dll'.'SDL_UpperBlit' -++'_SDL_LowerBlit'.'SDL2.dll'.'SDL_LowerBlit' -++'_SDL_SoftStretch'.'SDL2.dll'.'SDL_SoftStretch' -++'_SDL_UpperBlitScaled'.'SDL2.dll'.'SDL_UpperBlitScaled' -++'_SDL_LowerBlitScaled'.'SDL2.dll'.'SDL_LowerBlitScaled' -++'_SDL_GetWindowWMInfo'.'SDL2.dll'.'SDL_GetWindowWMInfo' -++'_SDL_GetThreadName'.'SDL2.dll'.'SDL_GetThreadName' -++'_SDL_ThreadID'.'SDL2.dll'.'SDL_ThreadID' -++'_SDL_GetThreadID'.'SDL2.dll'.'SDL_GetThreadID' -++'_SDL_SetThreadPriority'.'SDL2.dll'.'SDL_SetThreadPriority' -++'_SDL_WaitThread'.'SDL2.dll'.'SDL_WaitThread' -++'_SDL_DetachThread'.'SDL2.dll'.'SDL_DetachThread' -++'_SDL_TLSCreate'.'SDL2.dll'.'SDL_TLSCreate' -++'_SDL_TLSGet'.'SDL2.dll'.'SDL_TLSGet' -++'_SDL_TLSSet'.'SDL2.dll'.'SDL_TLSSet' -++'_SDL_GetTicks'.'SDL2.dll'.'SDL_GetTicks' -++'_SDL_GetPerformanceCounter'.'SDL2.dll'.'SDL_GetPerformanceCounter' -++'_SDL_GetPerformanceFrequency'.'SDL2.dll'.'SDL_GetPerformanceFrequency' -++'_SDL_Delay'.'SDL2.dll'.'SDL_Delay' -++'_SDL_AddTimer'.'SDL2.dll'.'SDL_AddTimer' -++'_SDL_RemoveTimer'.'SDL2.dll'.'SDL_RemoveTimer' -++'_SDL_GetNumTouchDevices'.'SDL2.dll'.'SDL_GetNumTouchDevices' -++'_SDL_GetTouchDevice'.'SDL2.dll'.'SDL_GetTouchDevice' -++'_SDL_GetNumTouchFingers'.'SDL2.dll'.'SDL_GetNumTouchFingers' -++'_SDL_GetTouchFinger'.'SDL2.dll'.'SDL_GetTouchFinger' -++'_SDL_GetVersion'.'SDL2.dll'.'SDL_GetVersion' -++'_SDL_GetRevision'.'SDL2.dll'.'SDL_GetRevision' -++'_SDL_GetRevisionNumber'.'SDL2.dll'.'SDL_GetRevisionNumber' -++'_SDL_GetNumVideoDrivers'.'SDL2.dll'.'SDL_GetNumVideoDrivers' -++'_SDL_GetVideoDriver'.'SDL2.dll'.'SDL_GetVideoDriver' -++'_SDL_VideoInit'.'SDL2.dll'.'SDL_VideoInit' -++'_SDL_VideoQuit'.'SDL2.dll'.'SDL_VideoQuit' -++'_SDL_GetCurrentVideoDriver'.'SDL2.dll'.'SDL_GetCurrentVideoDriver' -++'_SDL_GetNumVideoDisplays'.'SDL2.dll'.'SDL_GetNumVideoDisplays' -++'_SDL_GetDisplayName'.'SDL2.dll'.'SDL_GetDisplayName' -++'_SDL_GetDisplayBounds'.'SDL2.dll'.'SDL_GetDisplayBounds' -++'_SDL_GetDisplayDPI'.'SDL2.dll'.'SDL_GetDisplayDPI' -++'_SDL_GetNumDisplayModes'.'SDL2.dll'.'SDL_GetNumDisplayModes' -++'_SDL_GetDisplayMode'.'SDL2.dll'.'SDL_GetDisplayMode' -++'_SDL_GetDesktopDisplayMode'.'SDL2.dll'.'SDL_GetDesktopDisplayMode' -++'_SDL_GetCurrentDisplayMode'.'SDL2.dll'.'SDL_GetCurrentDisplayMode' -++'_SDL_GetClosestDisplayMode'.'SDL2.dll'.'SDL_GetClosestDisplayMode' -++'_SDL_GetWindowDisplayIndex'.'SDL2.dll'.'SDL_GetWindowDisplayIndex' -++'_SDL_SetWindowDisplayMode'.'SDL2.dll'.'SDL_SetWindowDisplayMode' -++'_SDL_GetWindowDisplayMode'.'SDL2.dll'.'SDL_GetWindowDisplayMode' -++'_SDL_GetWindowPixelFormat'.'SDL2.dll'.'SDL_GetWindowPixelFormat' -++'_SDL_CreateWindow'.'SDL2.dll'.'SDL_CreateWindow' -++'_SDL_CreateWindowFrom'.'SDL2.dll'.'SDL_CreateWindowFrom' -++'_SDL_GetWindowID'.'SDL2.dll'.'SDL_GetWindowID' -++'_SDL_GetWindowFromID'.'SDL2.dll'.'SDL_GetWindowFromID' -++'_SDL_GetWindowFlags'.'SDL2.dll'.'SDL_GetWindowFlags' -++'_SDL_SetWindowTitle'.'SDL2.dll'.'SDL_SetWindowTitle' -++'_SDL_GetWindowTitle'.'SDL2.dll'.'SDL_GetWindowTitle' -++'_SDL_SetWindowIcon'.'SDL2.dll'.'SDL_SetWindowIcon' -++'_SDL_SetWindowData'.'SDL2.dll'.'SDL_SetWindowData' -++'_SDL_GetWindowData'.'SDL2.dll'.'SDL_GetWindowData' -++'_SDL_SetWindowPosition'.'SDL2.dll'.'SDL_SetWindowPosition' -++'_SDL_GetWindowPosition'.'SDL2.dll'.'SDL_GetWindowPosition' -++'_SDL_SetWindowSize'.'SDL2.dll'.'SDL_SetWindowSize' -++'_SDL_GetWindowSize'.'SDL2.dll'.'SDL_GetWindowSize' -++'_SDL_SetWindowMinimumSize'.'SDL2.dll'.'SDL_SetWindowMinimumSize' -++'_SDL_GetWindowMinimumSize'.'SDL2.dll'.'SDL_GetWindowMinimumSize' -++'_SDL_SetWindowMaximumSize'.'SDL2.dll'.'SDL_SetWindowMaximumSize' -++'_SDL_GetWindowMaximumSize'.'SDL2.dll'.'SDL_GetWindowMaximumSize' -++'_SDL_SetWindowBordered'.'SDL2.dll'.'SDL_SetWindowBordered' -++'_SDL_ShowWindow'.'SDL2.dll'.'SDL_ShowWindow' -++'_SDL_HideWindow'.'SDL2.dll'.'SDL_HideWindow' -++'_SDL_RaiseWindow'.'SDL2.dll'.'SDL_RaiseWindow' -++'_SDL_MaximizeWindow'.'SDL2.dll'.'SDL_MaximizeWindow' -++'_SDL_MinimizeWindow'.'SDL2.dll'.'SDL_MinimizeWindow' -++'_SDL_RestoreWindow'.'SDL2.dll'.'SDL_RestoreWindow' -++'_SDL_SetWindowFullscreen'.'SDL2.dll'.'SDL_SetWindowFullscreen' -++'_SDL_GetWindowSurface'.'SDL2.dll'.'SDL_GetWindowSurface' -++'_SDL_UpdateWindowSurface'.'SDL2.dll'.'SDL_UpdateWindowSurface' -++'_SDL_UpdateWindowSurfaceRects'.'SDL2.dll'.'SDL_UpdateWindowSurfaceRects' -++'_SDL_SetWindowGrab'.'SDL2.dll'.'SDL_SetWindowGrab' -++'_SDL_GetWindowGrab'.'SDL2.dll'.'SDL_GetWindowGrab' -++'_SDL_SetWindowBrightness'.'SDL2.dll'.'SDL_SetWindowBrightness' -++'_SDL_GetWindowBrightness'.'SDL2.dll'.'SDL_GetWindowBrightness' -++'_SDL_SetWindowGammaRamp'.'SDL2.dll'.'SDL_SetWindowGammaRamp' -++'_SDL_GetWindowGammaRamp'.'SDL2.dll'.'SDL_GetWindowGammaRamp' -++'_SDL_DestroyWindow'.'SDL2.dll'.'SDL_DestroyWindow' -++'_SDL_IsScreenSaverEnabled'.'SDL2.dll'.'SDL_IsScreenSaverEnabled' -++'_SDL_EnableScreenSaver'.'SDL2.dll'.'SDL_EnableScreenSaver' -++'_SDL_DisableScreenSaver'.'SDL2.dll'.'SDL_DisableScreenSaver' -++'_SDL_GL_LoadLibrary'.'SDL2.dll'.'SDL_GL_LoadLibrary' -++'_SDL_GL_GetProcAddress'.'SDL2.dll'.'SDL_GL_GetProcAddress' -++'_SDL_GL_UnloadLibrary'.'SDL2.dll'.'SDL_GL_UnloadLibrary' -++'_SDL_GL_ExtensionSupported'.'SDL2.dll'.'SDL_GL_ExtensionSupported' -++'_SDL_GL_SetAttribute'.'SDL2.dll'.'SDL_GL_SetAttribute' -++'_SDL_GL_GetAttribute'.'SDL2.dll'.'SDL_GL_GetAttribute' -++'_SDL_GL_CreateContext'.'SDL2.dll'.'SDL_GL_CreateContext' -++'_SDL_GL_MakeCurrent'.'SDL2.dll'.'SDL_GL_MakeCurrent' -++'_SDL_GL_GetCurrentWindow'.'SDL2.dll'.'SDL_GL_GetCurrentWindow' -++'_SDL_GL_GetCurrentContext'.'SDL2.dll'.'SDL_GL_GetCurrentContext' -++'_SDL_GL_GetDrawableSize'.'SDL2.dll'.'SDL_GL_GetDrawableSize' -++'_SDL_GL_SetSwapInterval'.'SDL2.dll'.'SDL_GL_SetSwapInterval' -++'_SDL_GL_GetSwapInterval'.'SDL2.dll'.'SDL_GL_GetSwapInterval' -++'_SDL_GL_SwapWindow'.'SDL2.dll'.'SDL_GL_SwapWindow' -++'_SDL_GL_DeleteContext'.'SDL2.dll'.'SDL_GL_DeleteContext' -++'_SDL_vsscanf'.'SDL2.dll'.'SDL_vsscanf' -++'_SDL_GameControllerAddMappingsFromRW'.'SDL2.dll'.'SDL_GameControllerAddMappingsFromRW' -++'_SDL_GL_ResetAttributes'.'SDL2.dll'.'SDL_GL_ResetAttributes' -++'_SDL_HasAVX'.'SDL2.dll'.'SDL_HasAVX' -++'_SDL_GetDefaultAssertionHandler'.'SDL2.dll'.'SDL_GetDefaultAssertionHandler' -++'_SDL_GetAssertionHandler'.'SDL2.dll'.'SDL_GetAssertionHandler' -++'_SDL_DXGIGetOutputInfo'.'SDL2.dll'.'SDL_DXGIGetOutputInfo' -++'_SDL_RenderIsClipEnabled'.'SDL2.dll'.'SDL_RenderIsClipEnabled' -# ++'_SDL_WinRTRunApp'.'SDL2.dll'.'SDL_WinRTRunApp' -++'_SDL_WarpMouseGlobal'.'SDL2.dll'.'SDL_WarpMouseGlobal' -# ++'_SDL_WinRTGetFSPathUNICODE'.'SDL2.dll'.'SDL_WinRTGetFSPathUNICODE' -# ++'_SDL_WinRTGetFSPathUTF8'.'SDL2.dll'.'SDL_WinRTGetFSPathUTF8' -++'_SDL_sqrtf'.'SDL2.dll'.'SDL_sqrtf' -++'_SDL_tan'.'SDL2.dll'.'SDL_tan' -++'_SDL_tanf'.'SDL2.dll'.'SDL_tanf' -++'_SDL_CaptureMouse'.'SDL2.dll'.'SDL_CaptureMouse' -++'_SDL_SetWindowHitTest'.'SDL2.dll'.'SDL_SetWindowHitTest' -++'_SDL_GetGlobalMouseState'.'SDL2.dll'.'SDL_GetGlobalMouseState' -++'_SDL_HasAVX2'.'SDL2.dll'.'SDL_HasAVX2' -++'_SDL_QueueAudio'.'SDL2.dll'.'SDL_QueueAudio' -++'_SDL_GetQueuedAudioSize'.'SDL2.dll'.'SDL_GetQueuedAudioSize' -++'_SDL_ClearQueuedAudio'.'SDL2.dll'.'SDL_ClearQueuedAudio' -++'_SDL_GetGrabbedWindow'.'SDL2.dll'.'SDL_GetGrabbedWindow' -++'_SDL_SetWindowsMessageHook'.'SDL2.dll'.'SDL_SetWindowsMessageHook' -++'_SDL_JoystickCurrentPowerLevel'.'SDL2.dll'.'SDL_JoystickCurrentPowerLevel' -++'_SDL_GameControllerFromInstanceID'.'SDL2.dll'.'SDL_GameControllerFromInstanceID' -++'_SDL_JoystickFromInstanceID'.'SDL2.dll'.'SDL_JoystickFromInstanceID' -++'_SDL_GetDisplayUsableBounds'.'SDL2.dll'.'SDL_GetDisplayUsableBounds' -++'_SDL_GetWindowBordersSize'.'SDL2.dll'.'SDL_GetWindowBordersSize' -++'_SDL_SetWindowOpacity'.'SDL2.dll'.'SDL_SetWindowOpacity' -++'_SDL_GetWindowOpacity'.'SDL2.dll'.'SDL_GetWindowOpacity' -++'_SDL_SetWindowInputFocus'.'SDL2.dll'.'SDL_SetWindowInputFocus' -++'_SDL_SetWindowModalFor'.'SDL2.dll'.'SDL_SetWindowModalFor' -++'_SDL_RenderSetIntegerScale'.'SDL2.dll'.'SDL_RenderSetIntegerScale' -++'_SDL_RenderGetIntegerScale'.'SDL2.dll'.'SDL_RenderGetIntegerScale' -++'_SDL_DequeueAudio'.'SDL2.dll'.'SDL_DequeueAudio' -++'_SDL_SetWindowResizable'.'SDL2.dll'.'SDL_SetWindowResizable' -++'_SDL_CreateRGBSurfaceWithFormat'.'SDL2.dll'.'SDL_CreateRGBSurfaceWithFormat' -++'_SDL_CreateRGBSurfaceWithFormatFrom'.'SDL2.dll'.'SDL_CreateRGBSurfaceWithFormatFrom' -++'_SDL_GetHintBoolean'.'SDL2.dll'.'SDL_GetHintBoolean' -++'_SDL_JoystickGetDeviceVendor'.'SDL2.dll'.'SDL_JoystickGetDeviceVendor' -++'_SDL_JoystickGetDeviceProduct'.'SDL2.dll'.'SDL_JoystickGetDeviceProduct' -++'_SDL_JoystickGetDeviceProductVersion'.'SDL2.dll'.'SDL_JoystickGetDeviceProductVersion' -++'_SDL_JoystickGetVendor'.'SDL2.dll'.'SDL_JoystickGetVendor' -++'_SDL_JoystickGetProduct'.'SDL2.dll'.'SDL_JoystickGetProduct' -++'_SDL_JoystickGetProductVersion'.'SDL2.dll'.'SDL_JoystickGetProductVersion' -++'_SDL_GameControllerGetVendor'.'SDL2.dll'.'SDL_GameControllerGetVendor' -++'_SDL_GameControllerGetProduct'.'SDL2.dll'.'SDL_GameControllerGetProduct' -++'_SDL_GameControllerGetProductVersion'.'SDL2.dll'.'SDL_GameControllerGetProductVersion' -++'_SDL_HasNEON'.'SDL2.dll'.'SDL_HasNEON' -++'_SDL_GameControllerNumMappings'.'SDL2.dll'.'SDL_GameControllerNumMappings' -++'_SDL_GameControllerMappingForIndex'.'SDL2.dll'.'SDL_GameControllerMappingForIndex' -++'_SDL_JoystickGetAxisInitialState'.'SDL2.dll'.'SDL_JoystickGetAxisInitialState' -++'_SDL_JoystickGetDeviceType'.'SDL2.dll'.'SDL_JoystickGetDeviceType' -++'_SDL_JoystickGetType'.'SDL2.dll'.'SDL_JoystickGetType' -++'_SDL_MemoryBarrierReleaseFunction'.'SDL2.dll'.'SDL_MemoryBarrierReleaseFunction' -++'_SDL_MemoryBarrierAcquireFunction'.'SDL2.dll'.'SDL_MemoryBarrierAcquireFunction' -++'_SDL_JoystickGetDeviceInstanceID'.'SDL2.dll'.'SDL_JoystickGetDeviceInstanceID' -++'_SDL_utf8strlen'.'SDL2.dll'.'SDL_utf8strlen' -++'_SDL_LoadFile_RW'.'SDL2.dll'.'SDL_LoadFile_RW' -++'_SDL_wcscmp'.'SDL2.dll'.'SDL_wcscmp' -++'_SDL_ComposeCustomBlendMode'.'SDL2.dll'.'SDL_ComposeCustomBlendMode' -++'_SDL_DuplicateSurface'.'SDL2.dll'.'SDL_DuplicateSurface' -++'_SDL_Vulkan_LoadLibrary'.'SDL2.dll'.'SDL_Vulkan_LoadLibrary' -++'_SDL_Vulkan_GetVkGetInstanceProcAddr'.'SDL2.dll'.'SDL_Vulkan_GetVkGetInstanceProcAddr' -++'_SDL_Vulkan_UnloadLibrary'.'SDL2.dll'.'SDL_Vulkan_UnloadLibrary' -++'_SDL_Vulkan_GetInstanceExtensions'.'SDL2.dll'.'SDL_Vulkan_GetInstanceExtensions' -++'_SDL_Vulkan_CreateSurface'.'SDL2.dll'.'SDL_Vulkan_CreateSurface' -++'_SDL_Vulkan_GetDrawableSize'.'SDL2.dll'.'SDL_Vulkan_GetDrawableSize' -++'_SDL_LockJoysticks'.'SDL2.dll'.'SDL_LockJoysticks' -++'_SDL_UnlockJoysticks'.'SDL2.dll'.'SDL_UnlockJoysticks' -++'_SDL_GetMemoryFunctions'.'SDL2.dll'.'SDL_GetMemoryFunctions' -++'_SDL_SetMemoryFunctions'.'SDL2.dll'.'SDL_SetMemoryFunctions' -++'_SDL_GetNumAllocations'.'SDL2.dll'.'SDL_GetNumAllocations' -++'_SDL_NewAudioStream'.'SDL2.dll'.'SDL_NewAudioStream' -++'_SDL_AudioStreamPut'.'SDL2.dll'.'SDL_AudioStreamPut' -++'_SDL_AudioStreamGet'.'SDL2.dll'.'SDL_AudioStreamGet' -++'_SDL_AudioStreamClear'.'SDL2.dll'.'SDL_AudioStreamClear' -++'_SDL_AudioStreamAvailable'.'SDL2.dll'.'SDL_AudioStreamAvailable' -++'_SDL_FreeAudioStream'.'SDL2.dll'.'SDL_FreeAudioStream' -++'_SDL_AudioStreamFlush'.'SDL2.dll'.'SDL_AudioStreamFlush' -++'_SDL_acosf'.'SDL2.dll'.'SDL_acosf' -++'_SDL_asinf'.'SDL2.dll'.'SDL_asinf' -++'_SDL_atanf'.'SDL2.dll'.'SDL_atanf' -++'_SDL_atan2f'.'SDL2.dll'.'SDL_atan2f' -++'_SDL_ceilf'.'SDL2.dll'.'SDL_ceilf' -++'_SDL_copysignf'.'SDL2.dll'.'SDL_copysignf' -++'_SDL_fabsf'.'SDL2.dll'.'SDL_fabsf' -++'_SDL_floorf'.'SDL2.dll'.'SDL_floorf' -++'_SDL_logf'.'SDL2.dll'.'SDL_logf' -++'_SDL_powf'.'SDL2.dll'.'SDL_powf' -++'_SDL_scalbnf'.'SDL2.dll'.'SDL_scalbnf' -++'_SDL_fmod'.'SDL2.dll'.'SDL_fmod' -++'_SDL_fmodf'.'SDL2.dll'.'SDL_fmodf' -++'_SDL_SetYUVConversionMode'.'SDL2.dll'.'SDL_SetYUVConversionMode' -++'_SDL_GetYUVConversionMode'.'SDL2.dll'.'SDL_GetYUVConversionMode' -++'_SDL_GetYUVConversionModeForResolution'.'SDL2.dll'.'SDL_GetYUVConversionModeForResolution' -++'_SDL_RenderGetMetalLayer'.'SDL2.dll'.'SDL_RenderGetMetalLayer' -++'_SDL_RenderGetMetalCommandEncoder'.'SDL2.dll'.'SDL_RenderGetMetalCommandEncoder' -# ++'_SDL_IsAndroidTV'.'SDL2.dll'.'SDL_IsAndroidTV' -# ++'_SDL_WinRTGetDeviceFamily'.'SDL2.dll'.'SDL_WinRTGetDeviceFamily' -++'_SDL_log10'.'SDL2.dll'.'SDL_log10' -++'_SDL_log10f'.'SDL2.dll'.'SDL_log10f' -++'_SDL_GameControllerMappingForDeviceIndex'.'SDL2.dll'.'SDL_GameControllerMappingForDeviceIndex' -# ++'_SDL_LinuxSetThreadPriority'.'SDL2.dll'.'SDL_LinuxSetThreadPriority' -++'_SDL_HasAVX512F'.'SDL2.dll'.'SDL_HasAVX512F' -# ++'_SDL_IsChromebook'.'SDL2.dll'.'SDL_IsChromebook' -# ++'_SDL_IsDeXMode'.'SDL2.dll'.'SDL_IsDeXMode' -# ++'_SDL_AndroidBackButton'.'SDL2.dll'.'SDL_AndroidBackButton' -++'_SDL_exp'.'SDL2.dll'.'SDL_exp' -++'_SDL_expf'.'SDL2.dll'.'SDL_expf' -++'_SDL_wcsdup'.'SDL2.dll'.'SDL_wcsdup' -++'_SDL_GameControllerRumble'.'SDL2.dll'.'SDL_GameControllerRumble' -++'_SDL_JoystickRumble'.'SDL2.dll'.'SDL_JoystickRumble' -++'_SDL_NumSensors'.'SDL2.dll'.'SDL_NumSensors' -++'_SDL_SensorGetDeviceName'.'SDL2.dll'.'SDL_SensorGetDeviceName' -++'_SDL_SensorGetDeviceType'.'SDL2.dll'.'SDL_SensorGetDeviceType' -++'_SDL_SensorGetDeviceNonPortableType'.'SDL2.dll'.'SDL_SensorGetDeviceNonPortableType' -++'_SDL_SensorGetDeviceInstanceID'.'SDL2.dll'.'SDL_SensorGetDeviceInstanceID' -++'_SDL_SensorOpen'.'SDL2.dll'.'SDL_SensorOpen' -++'_SDL_SensorFromInstanceID'.'SDL2.dll'.'SDL_SensorFromInstanceID' -++'_SDL_SensorGetName'.'SDL2.dll'.'SDL_SensorGetName' -++'_SDL_SensorGetType'.'SDL2.dll'.'SDL_SensorGetType' -++'_SDL_SensorGetNonPortableType'.'SDL2.dll'.'SDL_SensorGetNonPortableType' -++'_SDL_SensorGetInstanceID'.'SDL2.dll'.'SDL_SensorGetInstanceID' -++'_SDL_SensorGetData'.'SDL2.dll'.'SDL_SensorGetData' -++'_SDL_SensorClose'.'SDL2.dll'.'SDL_SensorClose' -++'_SDL_SensorUpdate'.'SDL2.dll'.'SDL_SensorUpdate' -++'_SDL_IsTablet'.'SDL2.dll'.'SDL_IsTablet' -++'_SDL_GetDisplayOrientation'.'SDL2.dll'.'SDL_GetDisplayOrientation' -++'_SDL_HasColorKey'.'SDL2.dll'.'SDL_HasColorKey' -++'_SDL_CreateThreadWithStackSize'.'SDL2.dll'.'SDL_CreateThreadWithStackSize' -++'_SDL_JoystickGetDevicePlayerIndex'.'SDL2.dll'.'SDL_JoystickGetDevicePlayerIndex' -++'_SDL_JoystickGetPlayerIndex'.'SDL2.dll'.'SDL_JoystickGetPlayerIndex' -++'_SDL_GameControllerGetPlayerIndex'.'SDL2.dll'.'SDL_GameControllerGetPlayerIndex' -++'_SDL_RenderFlush'.'SDL2.dll'.'SDL_RenderFlush' -++'_SDL_RenderDrawPointF'.'SDL2.dll'.'SDL_RenderDrawPointF' -++'_SDL_RenderDrawPointsF'.'SDL2.dll'.'SDL_RenderDrawPointsF' -++'_SDL_RenderDrawLineF'.'SDL2.dll'.'SDL_RenderDrawLineF' -++'_SDL_RenderDrawLinesF'.'SDL2.dll'.'SDL_RenderDrawLinesF' -++'_SDL_RenderDrawRectF'.'SDL2.dll'.'SDL_RenderDrawRectF' -++'_SDL_RenderDrawRectsF'.'SDL2.dll'.'SDL_RenderDrawRectsF' -++'_SDL_RenderFillRectF'.'SDL2.dll'.'SDL_RenderFillRectF' -++'_SDL_RenderFillRectsF'.'SDL2.dll'.'SDL_RenderFillRectsF' -++'_SDL_RenderCopyF'.'SDL2.dll'.'SDL_RenderCopyF' -++'_SDL_RenderCopyExF'.'SDL2.dll'.'SDL_RenderCopyExF' -++'_SDL_GetTouchDeviceType'.'SDL2.dll'.'SDL_GetTouchDeviceType' -# ++'_SDL_UIKitRunApp'.'SDL2.dll'.'SDL_UIKitRunApp' -++'_SDL_SIMDGetAlignment'.'SDL2.dll'.'SDL_SIMDGetAlignment' -++'_SDL_SIMDAlloc'.'SDL2.dll'.'SDL_SIMDAlloc' -++'_SDL_SIMDFree'.'SDL2.dll'.'SDL_SIMDFree' -++'_SDL_RWsize'.'SDL2.dll'.'SDL_RWsize' -++'_SDL_RWseek'.'SDL2.dll'.'SDL_RWseek' -++'_SDL_RWtell'.'SDL2.dll'.'SDL_RWtell' -++'_SDL_RWread'.'SDL2.dll'.'SDL_RWread' -++'_SDL_RWwrite'.'SDL2.dll'.'SDL_RWwrite' -++'_SDL_RWclose'.'SDL2.dll'.'SDL_RWclose' -++'_SDL_LoadFile'.'SDL2.dll'.'SDL_LoadFile' -++'_SDL_Metal_CreateView'.'SDL2.dll'.'SDL_Metal_CreateView' -++'_SDL_Metal_DestroyView'.'SDL2.dll'.'SDL_Metal_DestroyView' -++'_SDL_LockTextureToSurface'.'SDL2.dll'.'SDL_LockTextureToSurface' -++'_SDL_HasARMSIMD'.'SDL2.dll'.'SDL_HasARMSIMD' -++'_SDL_strtokr'.'SDL2.dll'.'SDL_strtokr' -++'_SDL_wcsstr'.'SDL2.dll'.'SDL_wcsstr' -++'_SDL_wcsncmp'.'SDL2.dll'.'SDL_wcsncmp' -++'_SDL_GameControllerTypeForIndex'.'SDL2.dll'.'SDL_GameControllerTypeForIndex' -++'_SDL_GameControllerGetType'.'SDL2.dll'.'SDL_GameControllerGetType' -++'_SDL_GameControllerFromPlayerIndex'.'SDL2.dll'.'SDL_GameControllerFromPlayerIndex' -++'_SDL_GameControllerSetPlayerIndex'.'SDL2.dll'.'SDL_GameControllerSetPlayerIndex' -++'_SDL_JoystickFromPlayerIndex'.'SDL2.dll'.'SDL_JoystickFromPlayerIndex' -++'_SDL_JoystickSetPlayerIndex'.'SDL2.dll'.'SDL_JoystickSetPlayerIndex' -++'_SDL_SetTextureScaleMode'.'SDL2.dll'.'SDL_SetTextureScaleMode' -++'_SDL_GetTextureScaleMode'.'SDL2.dll'.'SDL_GetTextureScaleMode' -++'_SDL_OnApplicationWillTerminate'.'SDL2.dll'.'SDL_OnApplicationWillTerminate' -++'_SDL_OnApplicationDidReceiveMemoryWarning'.'SDL2.dll'.'SDL_OnApplicationDidReceiveMemoryWarning' -++'_SDL_OnApplicationWillResignActive'.'SDL2.dll'.'SDL_OnApplicationWillResignActive' -++'_SDL_OnApplicationDidEnterBackground'.'SDL2.dll'.'SDL_OnApplicationDidEnterBackground' -++'_SDL_OnApplicationWillEnterForeground'.'SDL2.dll'.'SDL_OnApplicationWillEnterForeground' -++'_SDL_OnApplicationDidBecomeActive'.'SDL2.dll'.'SDL_OnApplicationDidBecomeActive' -# ++'_SDL_OnApplicationDidChangeStatusBarOrientation'.'SDL2.dll'.'SDL_OnApplicationDidChangeStatusBarOrientation' -# ++'_SDL_GetAndroidSDKVersion'.'SDL2.dll'.'SDL_GetAndroidSDKVersion' -++'_SDL_isupper'.'SDL2.dll'.'SDL_isupper' -++'_SDL_islower'.'SDL2.dll'.'SDL_islower' -++'_SDL_JoystickAttachVirtual'.'SDL2.dll'.'SDL_JoystickAttachVirtual' -++'_SDL_JoystickDetachVirtual'.'SDL2.dll'.'SDL_JoystickDetachVirtual' -++'_SDL_JoystickIsVirtual'.'SDL2.dll'.'SDL_JoystickIsVirtual' -++'_SDL_JoystickSetVirtualAxis'.'SDL2.dll'.'SDL_JoystickSetVirtualAxis' -++'_SDL_JoystickSetVirtualButton'.'SDL2.dll'.'SDL_JoystickSetVirtualButton' -++'_SDL_JoystickSetVirtualHat'.'SDL2.dll'.'SDL_JoystickSetVirtualHat' -++'_SDL_GetErrorMsg'.'SDL2.dll'.'SDL_GetErrorMsg' -++'_SDL_LockSensors'.'SDL2.dll'.'SDL_LockSensors' -++'_SDL_UnlockSensors'.'SDL2.dll'.'SDL_UnlockSensors' -++'_SDL_Metal_GetLayer'.'SDL2.dll'.'SDL_Metal_GetLayer' -++'_SDL_Metal_GetDrawableSize'.'SDL2.dll'.'SDL_Metal_GetDrawableSize' -++'_SDL_trunc'.'SDL2.dll'.'SDL_trunc' -++'_SDL_truncf'.'SDL2.dll'.'SDL_truncf' -++'_SDL_GetPreferredLocales'.'SDL2.dll'.'SDL_GetPreferredLocales' -++'_SDL_SIMDRealloc'.'SDL2.dll'.'SDL_SIMDRealloc' -# ++'_SDL_AndroidRequestPermission'.'SDL2.dll'.'SDL_AndroidRequestPermission' -++'_SDL_OpenURL'.'SDL2.dll'.'SDL_OpenURL' -++'_SDL_HasSurfaceRLE'.'SDL2.dll'.'SDL_HasSurfaceRLE' -++'_SDL_GameControllerHasLED'.'SDL2.dll'.'SDL_GameControllerHasLED' -++'_SDL_GameControllerSetLED'.'SDL2.dll'.'SDL_GameControllerSetLED' -++'_SDL_JoystickHasLED'.'SDL2.dll'.'SDL_JoystickHasLED' -++'_SDL_JoystickSetLED'.'SDL2.dll'.'SDL_JoystickSetLED' -++'_SDL_GameControllerRumbleTriggers'.'SDL2.dll'.'SDL_GameControllerRumbleTriggers' -++'_SDL_JoystickRumbleTriggers'.'SDL2.dll'.'SDL_JoystickRumbleTriggers' -++'_SDL_GameControllerHasAxis'.'SDL2.dll'.'SDL_GameControllerHasAxis' -++'_SDL_GameControllerHasButton'.'SDL2.dll'.'SDL_GameControllerHasButton' -++'_SDL_GameControllerGetNumTouchpads'.'SDL2.dll'.'SDL_GameControllerGetNumTouchpads' -++'_SDL_GameControllerGetNumTouchpadFingers'.'SDL2.dll'.'SDL_GameControllerGetNumTouchpadFingers' -++'_SDL_GameControllerGetTouchpadFinger'.'SDL2.dll'.'SDL_GameControllerGetTouchpadFinger' -++'_SDL_crc32'.'SDL2.dll'.'SDL_crc32' -++'_SDL_GameControllerGetSerial'.'SDL2.dll'.'SDL_GameControllerGetSerial' -++'_SDL_JoystickGetSerial'.'SDL2.dll'.'SDL_JoystickGetSerial' -++'_SDL_GameControllerHasSensor'.'SDL2.dll'.'SDL_GameControllerHasSensor' -++'_SDL_GameControllerSetSensorEnabled'.'SDL2.dll'.'SDL_GameControllerSetSensorEnabled' -++'_SDL_GameControllerIsSensorEnabled'.'SDL2.dll'.'SDL_GameControllerIsSensorEnabled' -++'_SDL_GameControllerGetSensorData'.'SDL2.dll'.'SDL_GameControllerGetSensorData' -++'_SDL_wcscasecmp'.'SDL2.dll'.'SDL_wcscasecmp' -++'_SDL_wcsncasecmp'.'SDL2.dll'.'SDL_wcsncasecmp' -++'_SDL_round'.'SDL2.dll'.'SDL_round' -++'_SDL_roundf'.'SDL2.dll'.'SDL_roundf' -++'_SDL_lround'.'SDL2.dll'.'SDL_lround' -++'_SDL_lroundf'.'SDL2.dll'.'SDL_lroundf' -++'_SDL_SoftStretchLinear'.'SDL2.dll'.'SDL_SoftStretchLinear' -++'_SDL_RenderGetD3D11Device'.'SDL2.dll'.'SDL_RenderGetD3D11Device' -++'_SDL_UpdateNVTexture'.'SDL2.dll'.'SDL_UpdateNVTexture' -++'_SDL_SetWindowKeyboardGrab'.'SDL2.dll'.'SDL_SetWindowKeyboardGrab' -++'_SDL_SetWindowMouseGrab'.'SDL2.dll'.'SDL_SetWindowMouseGrab' -++'_SDL_GetWindowKeyboardGrab'.'SDL2.dll'.'SDL_GetWindowKeyboardGrab' -++'_SDL_GetWindowMouseGrab'.'SDL2.dll'.'SDL_GetWindowMouseGrab' -++'_SDL_isalpha'.'SDL2.dll'.'SDL_isalpha' -++'_SDL_isalnum'.'SDL2.dll'.'SDL_isalnum' -++'_SDL_isblank'.'SDL2.dll'.'SDL_isblank' -++'_SDL_iscntrl'.'SDL2.dll'.'SDL_iscntrl' -++'_SDL_isxdigit'.'SDL2.dll'.'SDL_isxdigit' -++'_SDL_ispunct'.'SDL2.dll'.'SDL_ispunct' -++'_SDL_isprint'.'SDL2.dll'.'SDL_isprint' -++'_SDL_isgraph'.'SDL2.dll'.'SDL_isgraph' -# ++'_SDL_AndroidShowToast'.'SDL2.dll'.'SDL_AndroidShowToast' -++'_SDL_GetAudioDeviceSpec'.'SDL2.dll'.'SDL_GetAudioDeviceSpec' -++'_SDL_TLSCleanup'.'SDL2.dll'.'SDL_TLSCleanup' -++'_SDL_SetWindowAlwaysOnTop'.'SDL2.dll'.'SDL_SetWindowAlwaysOnTop' -++'_SDL_FlashWindow'.'SDL2.dll'.'SDL_FlashWindow' -++'_SDL_GameControllerSendEffect'.'SDL2.dll'.'SDL_GameControllerSendEffect' -++'_SDL_JoystickSendEffect'.'SDL2.dll'.'SDL_JoystickSendEffect' -++'_SDL_GameControllerGetSensorDataRate'.'SDL2.dll'.'SDL_GameControllerGetSensorDataRate' -++'_SDL_SetTextureUserData'.'SDL2.dll'.'SDL_SetTextureUserData' -++'_SDL_GetTextureUserData'.'SDL2.dll'.'SDL_GetTextureUserData' -++'_SDL_RenderGeometry'.'SDL2.dll'.'SDL_RenderGeometry' -++'_SDL_RenderGeometryRaw'.'SDL2.dll'.'SDL_RenderGeometryRaw' -++'_SDL_RenderSetVSync'.'SDL2.dll'.'SDL_RenderSetVSync' -++'_SDL_asprintf'.'SDL2.dll'.'SDL_asprintf' -++'_SDL_vasprintf'.'SDL2.dll'.'SDL_vasprintf' -++'_SDL_GetWindowICCProfile'.'SDL2.dll'.'SDL_GetWindowICCProfile' -++'_SDL_GetTicks64'.'SDL2.dll'.'SDL_GetTicks64' -# ++'_SDL_LinuxSetThreadPriorityAndPolicy'.'SDL2.dll'.'SDL_LinuxSetThreadPriorityAndPolicy' -++'_SDL_GameControllerGetAppleSFSymbolsNameForButton'.'SDL2.dll'.'SDL_GameControllerGetAppleSFSymbolsNameForButton' -++'_SDL_GameControllerGetAppleSFSymbolsNameForAxis'.'SDL2.dll'.'SDL_GameControllerGetAppleSFSymbolsNameForAxis' -++'_SDL_hid_init'.'SDL2.dll'.'SDL_hid_init' -++'_SDL_hid_exit'.'SDL2.dll'.'SDL_hid_exit' -++'_SDL_hid_device_change_count'.'SDL2.dll'.'SDL_hid_device_change_count' -++'_SDL_hid_enumerate'.'SDL2.dll'.'SDL_hid_enumerate' -++'_SDL_hid_free_enumeration'.'SDL2.dll'.'SDL_hid_free_enumeration' -++'_SDL_hid_open'.'SDL2.dll'.'SDL_hid_open' -++'_SDL_hid_open_path'.'SDL2.dll'.'SDL_hid_open_path' -++'_SDL_hid_write'.'SDL2.dll'.'SDL_hid_write' -++'_SDL_hid_read_timeout'.'SDL2.dll'.'SDL_hid_read_timeout' -++'_SDL_hid_read'.'SDL2.dll'.'SDL_hid_read' -++'_SDL_hid_set_nonblocking'.'SDL2.dll'.'SDL_hid_set_nonblocking' -++'_SDL_hid_send_feature_report'.'SDL2.dll'.'SDL_hid_send_feature_report' -++'_SDL_hid_get_feature_report'.'SDL2.dll'.'SDL_hid_get_feature_report' -++'_SDL_hid_close'.'SDL2.dll'.'SDL_hid_close' -++'_SDL_hid_get_manufacturer_string'.'SDL2.dll'.'SDL_hid_get_manufacturer_string' -++'_SDL_hid_get_product_string'.'SDL2.dll'.'SDL_hid_get_product_string' -++'_SDL_hid_get_serial_number_string'.'SDL2.dll'.'SDL_hid_get_serial_number_string' -++'_SDL_hid_get_indexed_string'.'SDL2.dll'.'SDL_hid_get_indexed_string' -++'_SDL_SetWindowMouseRect'.'SDL2.dll'.'SDL_SetWindowMouseRect' -++'_SDL_GetWindowMouseRect'.'SDL2.dll'.'SDL_GetWindowMouseRect' -++'_SDL_RenderWindowToLogical'.'SDL2.dll'.'SDL_RenderWindowToLogical' -++'_SDL_RenderLogicalToWindow'.'SDL2.dll'.'SDL_RenderLogicalToWindow' -++'_SDL_JoystickHasRumble'.'SDL2.dll'.'SDL_JoystickHasRumble' -++'_SDL_JoystickHasRumbleTriggers'.'SDL2.dll'.'SDL_JoystickHasRumbleTriggers' -++'_SDL_GameControllerHasRumble'.'SDL2.dll'.'SDL_GameControllerHasRumble' -++'_SDL_GameControllerHasRumbleTriggers'.'SDL2.dll'.'SDL_GameControllerHasRumbleTriggers' -++'_SDL_hid_ble_scan'.'SDL2.dll'.'SDL_hid_ble_scan' -++'_SDL_PremultiplyAlpha'.'SDL2.dll'.'SDL_PremultiplyAlpha' -# ++'_SDL_AndroidSendMessage'.'SDL2.dll'.'SDL_AndroidSendMessage' -++'_SDL_GetTouchName'.'SDL2.dll'.'SDL_GetTouchName' -++'_SDL_ClearComposition'.'SDL2.dll'.'SDL_ClearComposition' -++'_SDL_IsTextInputShown'.'SDL2.dll'.'SDL_IsTextInputShown' -++'_SDL_HasIntersectionF'.'SDL2.dll'.'SDL_HasIntersectionF' -++'_SDL_IntersectFRect'.'SDL2.dll'.'SDL_IntersectFRect' -++'_SDL_UnionFRect'.'SDL2.dll'.'SDL_UnionFRect' -++'_SDL_EncloseFPoints'.'SDL2.dll'.'SDL_EncloseFPoints' -++'_SDL_IntersectFRectAndLine'.'SDL2.dll'.'SDL_IntersectFRectAndLine' -++'_SDL_RenderGetWindow'.'SDL2.dll'.'SDL_RenderGetWindow' -++'_SDL_bsearch'.'SDL2.dll'.'SDL_bsearch' -++'_SDL_GameControllerPathForIndex'.'SDL2.dll'.'SDL_GameControllerPathForIndex' -++'_SDL_GameControllerPath'.'SDL2.dll'.'SDL_GameControllerPath' -++'_SDL_JoystickPathForIndex'.'SDL2.dll'.'SDL_JoystickPathForIndex' -++'_SDL_JoystickPath'.'SDL2.dll'.'SDL_JoystickPath' -++'_SDL_JoystickAttachVirtualEx'.'SDL2.dll'.'SDL_JoystickAttachVirtualEx' -++'_SDL_GameControllerGetFirmwareVersion'.'SDL2.dll'.'SDL_GameControllerGetFirmwareVersion' -++'_SDL_JoystickGetFirmwareVersion'.'SDL2.dll'.'SDL_JoystickGetFirmwareVersion' -++'_SDL_GUIDToString'.'SDL2.dll'.'SDL_GUIDToString' -++'_SDL_GUIDFromString'.'SDL2.dll'.'SDL_GUIDFromString' -++'_SDL_HasLSX'.'SDL2.dll'.'SDL_HasLSX' -++'_SDL_HasLASX'.'SDL2.dll'.'SDL_HasLASX' -++'_SDL_RenderGetD3D12Device'.'SDL2.dll'.'SDL_RenderGetD3D12Device' -++'_SDL_utf8strnlen'.'SDL2.dll'.'SDL_utf8strnlen' -# ++'_SDL_GDKGetTaskQueue'.'SDL2.dll'.'SDL_GDKGetTaskQueue' -# ++'_SDL_GDKRunApp'.'SDL2.dll'.'SDL_GDKRunApp' -++'_SDL_GetOriginalMemoryFunctions'.'SDL2.dll'.'SDL_GetOriginalMemoryFunctions' -++'_SDL_ResetKeyboard'.'SDL2.dll'.'SDL_ResetKeyboard' -++'_SDL_GetDefaultAudioInfo'.'SDL2.dll'.'SDL_GetDefaultAudioInfo' -++'_SDL_GetPointDisplayIndex'.'SDL2.dll'.'SDL_GetPointDisplayIndex' -++'_SDL_GetRectDisplayIndex'.'SDL2.dll'.'SDL_GetRectDisplayIndex' -++'_SDL_ResetHint'.'SDL2.dll'.'SDL_ResetHint' -++'_SDL_crc16'.'SDL2.dll'.'SDL_crc16' -++'_SDL_GetWindowSizeInPixels'.'SDL2.dll'.'SDL_GetWindowSizeInPixels' -++'_SDL_GetJoystickGUIDInfo'.'SDL2.dll'.'SDL_GetJoystickGUIDInfo' -++'_SDL_SetPrimarySelectionText'.'SDL2.dll'.'SDL_SetPrimarySelectionText' -++'_SDL_GetPrimarySelectionText'.'SDL2.dll'.'SDL_GetPrimarySelectionText' -++'_SDL_HasPrimarySelectionText'.'SDL2.dll'.'SDL_HasPrimarySelectionText' -++'_SDL_GameControllerGetSensorDataWithTimestamp'.'SDL2.dll'.'SDL_GameControllerGetSensorDataWithTimestamp' -++'_SDL_SensorGetDataWithTimestamp'.'SDL2.dll'.'SDL_SensorGetDataWithTimestamp' -++'_SDL_ResetHints'.'SDL2.dll'.'SDL_ResetHints' -++'_SDL_strcasestr'.'SDL2.dll'.'SDL_strcasestr' diff --git a/src/dynapi/SDL3.exports b/src/dynapi/SDL3.exports new file mode 100644 index 000000000..7bc5863a3 --- /dev/null +++ b/src/dynapi/SDL3.exports @@ -0,0 +1,869 @@ +# Windows exports file for Watcom +# DO NOT EDIT THIS FILE BY HAND. It is autogenerated by gendynapi.pl. +++'_SDL_DYNAPI_entry'.'SDL3.dll'.'SDL_DYNAPI_entry' +++'_SDL_SetError'.'SDL3.dll'.'SDL_SetError' +++'_SDL_Log'.'SDL3.dll'.'SDL_Log' +++'_SDL_LogVerbose'.'SDL3.dll'.'SDL_LogVerbose' +++'_SDL_LogDebug'.'SDL3.dll'.'SDL_LogDebug' +++'_SDL_LogInfo'.'SDL3.dll'.'SDL_LogInfo' +++'_SDL_LogWarn'.'SDL3.dll'.'SDL_LogWarn' +++'_SDL_LogError'.'SDL3.dll'.'SDL_LogError' +++'_SDL_LogCritical'.'SDL3.dll'.'SDL_LogCritical' +++'_SDL_LogMessage'.'SDL3.dll'.'SDL_LogMessage' +++'_SDL_sscanf'.'SDL3.dll'.'SDL_sscanf' +++'_SDL_snprintf'.'SDL3.dll'.'SDL_snprintf' +++'_SDL_CreateThread'.'SDL3.dll'.'SDL_CreateThread' +++'_SDL_RWFromFP'.'SDL3.dll'.'SDL_RWFromFP' +++'_SDL_RegisterApp'.'SDL3.dll'.'SDL_RegisterApp' +++'_SDL_UnregisterApp'.'SDL3.dll'.'SDL_UnregisterApp' +++'_SDL_Direct3D9GetAdapterIndex'.'SDL3.dll'.'SDL_Direct3D9GetAdapterIndex' +++'_SDL_RenderGetD3D9Device'.'SDL3.dll'.'SDL_RenderGetD3D9Device' +# ++'_SDL_iPhoneSetAnimationCallback'.'SDL3.dll'.'SDL_iPhoneSetAnimationCallback' +# ++'_SDL_iPhoneSetEventPump'.'SDL3.dll'.'SDL_iPhoneSetEventPump' +# ++'_SDL_AndroidGetJNIEnv'.'SDL3.dll'.'SDL_AndroidGetJNIEnv' +# ++'_SDL_AndroidGetActivity'.'SDL3.dll'.'SDL_AndroidGetActivity' +# ++'_SDL_AndroidGetInternalStoragePath'.'SDL3.dll'.'SDL_AndroidGetInternalStoragePath' +# ++'_SDL_AndroidGetExternalStorageState'.'SDL3.dll'.'SDL_AndroidGetExternalStorageState' +# ++'_SDL_AndroidGetExternalStoragePath'.'SDL3.dll'.'SDL_AndroidGetExternalStoragePath' +++'_SDL_Init'.'SDL3.dll'.'SDL_Init' +++'_SDL_InitSubSystem'.'SDL3.dll'.'SDL_InitSubSystem' +++'_SDL_QuitSubSystem'.'SDL3.dll'.'SDL_QuitSubSystem' +++'_SDL_WasInit'.'SDL3.dll'.'SDL_WasInit' +++'_SDL_Quit'.'SDL3.dll'.'SDL_Quit' +++'_SDL_ReportAssertion'.'SDL3.dll'.'SDL_ReportAssertion' +++'_SDL_SetAssertionHandler'.'SDL3.dll'.'SDL_SetAssertionHandler' +++'_SDL_GetAssertionReport'.'SDL3.dll'.'SDL_GetAssertionReport' +++'_SDL_ResetAssertionReport'.'SDL3.dll'.'SDL_ResetAssertionReport' +++'_SDL_AtomicTryLock'.'SDL3.dll'.'SDL_AtomicTryLock' +++'_SDL_AtomicLock'.'SDL3.dll'.'SDL_AtomicLock' +++'_SDL_AtomicUnlock'.'SDL3.dll'.'SDL_AtomicUnlock' +++'_SDL_AtomicCAS'.'SDL3.dll'.'SDL_AtomicCAS' +++'_SDL_AtomicSet'.'SDL3.dll'.'SDL_AtomicSet' +++'_SDL_AtomicGet'.'SDL3.dll'.'SDL_AtomicGet' +++'_SDL_AtomicAdd'.'SDL3.dll'.'SDL_AtomicAdd' +++'_SDL_AtomicCASPtr'.'SDL3.dll'.'SDL_AtomicCASPtr' +++'_SDL_AtomicSetPtr'.'SDL3.dll'.'SDL_AtomicSetPtr' +++'_SDL_AtomicGetPtr'.'SDL3.dll'.'SDL_AtomicGetPtr' +++'_SDL_GetNumAudioDrivers'.'SDL3.dll'.'SDL_GetNumAudioDrivers' +++'_SDL_GetAudioDriver'.'SDL3.dll'.'SDL_GetAudioDriver' +++'_SDL_AudioInit'.'SDL3.dll'.'SDL_AudioInit' +++'_SDL_AudioQuit'.'SDL3.dll'.'SDL_AudioQuit' +++'_SDL_GetCurrentAudioDriver'.'SDL3.dll'.'SDL_GetCurrentAudioDriver' +++'_SDL_OpenAudio'.'SDL3.dll'.'SDL_OpenAudio' +++'_SDL_GetNumAudioDevices'.'SDL3.dll'.'SDL_GetNumAudioDevices' +++'_SDL_GetAudioDeviceName'.'SDL3.dll'.'SDL_GetAudioDeviceName' +++'_SDL_OpenAudioDevice'.'SDL3.dll'.'SDL_OpenAudioDevice' +++'_SDL_GetAudioStatus'.'SDL3.dll'.'SDL_GetAudioStatus' +++'_SDL_GetAudioDeviceStatus'.'SDL3.dll'.'SDL_GetAudioDeviceStatus' +++'_SDL_PauseAudio'.'SDL3.dll'.'SDL_PauseAudio' +++'_SDL_PauseAudioDevice'.'SDL3.dll'.'SDL_PauseAudioDevice' +++'_SDL_LoadWAV_RW'.'SDL3.dll'.'SDL_LoadWAV_RW' +++'_SDL_FreeWAV'.'SDL3.dll'.'SDL_FreeWAV' +++'_SDL_BuildAudioCVT'.'SDL3.dll'.'SDL_BuildAudioCVT' +++'_SDL_ConvertAudio'.'SDL3.dll'.'SDL_ConvertAudio' +++'_SDL_MixAudio'.'SDL3.dll'.'SDL_MixAudio' +++'_SDL_MixAudioFormat'.'SDL3.dll'.'SDL_MixAudioFormat' +++'_SDL_LockAudio'.'SDL3.dll'.'SDL_LockAudio' +++'_SDL_LockAudioDevice'.'SDL3.dll'.'SDL_LockAudioDevice' +++'_SDL_UnlockAudio'.'SDL3.dll'.'SDL_UnlockAudio' +++'_SDL_UnlockAudioDevice'.'SDL3.dll'.'SDL_UnlockAudioDevice' +++'_SDL_CloseAudio'.'SDL3.dll'.'SDL_CloseAudio' +++'_SDL_CloseAudioDevice'.'SDL3.dll'.'SDL_CloseAudioDevice' +++'_SDL_SetClipboardText'.'SDL3.dll'.'SDL_SetClipboardText' +++'_SDL_GetClipboardText'.'SDL3.dll'.'SDL_GetClipboardText' +++'_SDL_HasClipboardText'.'SDL3.dll'.'SDL_HasClipboardText' +++'_SDL_GetCPUCount'.'SDL3.dll'.'SDL_GetCPUCount' +++'_SDL_GetCPUCacheLineSize'.'SDL3.dll'.'SDL_GetCPUCacheLineSize' +++'_SDL_HasRDTSC'.'SDL3.dll'.'SDL_HasRDTSC' +++'_SDL_HasAltiVec'.'SDL3.dll'.'SDL_HasAltiVec' +++'_SDL_HasMMX'.'SDL3.dll'.'SDL_HasMMX' +++'_SDL_Has3DNow'.'SDL3.dll'.'SDL_Has3DNow' +++'_SDL_HasSSE'.'SDL3.dll'.'SDL_HasSSE' +++'_SDL_HasSSE2'.'SDL3.dll'.'SDL_HasSSE2' +++'_SDL_HasSSE3'.'SDL3.dll'.'SDL_HasSSE3' +++'_SDL_HasSSE41'.'SDL3.dll'.'SDL_HasSSE41' +++'_SDL_HasSSE42'.'SDL3.dll'.'SDL_HasSSE42' +++'_SDL_GetSystemRAM'.'SDL3.dll'.'SDL_GetSystemRAM' +++'_SDL_GetError'.'SDL3.dll'.'SDL_GetError' +++'_SDL_ClearError'.'SDL3.dll'.'SDL_ClearError' +++'_SDL_Error'.'SDL3.dll'.'SDL_Error' +++'_SDL_PumpEvents'.'SDL3.dll'.'SDL_PumpEvents' +++'_SDL_PeepEvents'.'SDL3.dll'.'SDL_PeepEvents' +++'_SDL_HasEvent'.'SDL3.dll'.'SDL_HasEvent' +++'_SDL_HasEvents'.'SDL3.dll'.'SDL_HasEvents' +++'_SDL_FlushEvent'.'SDL3.dll'.'SDL_FlushEvent' +++'_SDL_FlushEvents'.'SDL3.dll'.'SDL_FlushEvents' +++'_SDL_PollEvent'.'SDL3.dll'.'SDL_PollEvent' +++'_SDL_WaitEvent'.'SDL3.dll'.'SDL_WaitEvent' +++'_SDL_WaitEventTimeout'.'SDL3.dll'.'SDL_WaitEventTimeout' +++'_SDL_PushEvent'.'SDL3.dll'.'SDL_PushEvent' +++'_SDL_SetEventFilter'.'SDL3.dll'.'SDL_SetEventFilter' +++'_SDL_GetEventFilter'.'SDL3.dll'.'SDL_GetEventFilter' +++'_SDL_AddEventWatch'.'SDL3.dll'.'SDL_AddEventWatch' +++'_SDL_DelEventWatch'.'SDL3.dll'.'SDL_DelEventWatch' +++'_SDL_FilterEvents'.'SDL3.dll'.'SDL_FilterEvents' +++'_SDL_EventState'.'SDL3.dll'.'SDL_EventState' +++'_SDL_RegisterEvents'.'SDL3.dll'.'SDL_RegisterEvents' +++'_SDL_GetBasePath'.'SDL3.dll'.'SDL_GetBasePath' +++'_SDL_GetPrefPath'.'SDL3.dll'.'SDL_GetPrefPath' +++'_SDL_GameControllerAddMapping'.'SDL3.dll'.'SDL_GameControllerAddMapping' +++'_SDL_GameControllerMappingForGUID'.'SDL3.dll'.'SDL_GameControllerMappingForGUID' +++'_SDL_GameControllerMapping'.'SDL3.dll'.'SDL_GameControllerMapping' +++'_SDL_IsGameController'.'SDL3.dll'.'SDL_IsGameController' +++'_SDL_GameControllerNameForIndex'.'SDL3.dll'.'SDL_GameControllerNameForIndex' +++'_SDL_GameControllerOpen'.'SDL3.dll'.'SDL_GameControllerOpen' +++'_SDL_GameControllerName'.'SDL3.dll'.'SDL_GameControllerName' +++'_SDL_GameControllerGetAttached'.'SDL3.dll'.'SDL_GameControllerGetAttached' +++'_SDL_GameControllerGetJoystick'.'SDL3.dll'.'SDL_GameControllerGetJoystick' +++'_SDL_GameControllerEventState'.'SDL3.dll'.'SDL_GameControllerEventState' +++'_SDL_GameControllerUpdate'.'SDL3.dll'.'SDL_GameControllerUpdate' +++'_SDL_GameControllerGetAxisFromString'.'SDL3.dll'.'SDL_GameControllerGetAxisFromString' +++'_SDL_GameControllerGetStringForAxis'.'SDL3.dll'.'SDL_GameControllerGetStringForAxis' +++'_SDL_GameControllerGetBindForAxis'.'SDL3.dll'.'SDL_GameControllerGetBindForAxis' +++'_SDL_GameControllerGetAxis'.'SDL3.dll'.'SDL_GameControllerGetAxis' +++'_SDL_GameControllerGetButtonFromString'.'SDL3.dll'.'SDL_GameControllerGetButtonFromString' +++'_SDL_GameControllerGetStringForButton'.'SDL3.dll'.'SDL_GameControllerGetStringForButton' +++'_SDL_GameControllerGetBindForButton'.'SDL3.dll'.'SDL_GameControllerGetBindForButton' +++'_SDL_GameControllerGetButton'.'SDL3.dll'.'SDL_GameControllerGetButton' +++'_SDL_GameControllerClose'.'SDL3.dll'.'SDL_GameControllerClose' +++'_SDL_RecordGesture'.'SDL3.dll'.'SDL_RecordGesture' +++'_SDL_SaveAllDollarTemplates'.'SDL3.dll'.'SDL_SaveAllDollarTemplates' +++'_SDL_SaveDollarTemplate'.'SDL3.dll'.'SDL_SaveDollarTemplate' +++'_SDL_LoadDollarTemplates'.'SDL3.dll'.'SDL_LoadDollarTemplates' +++'_SDL_NumHaptics'.'SDL3.dll'.'SDL_NumHaptics' +++'_SDL_HapticName'.'SDL3.dll'.'SDL_HapticName' +++'_SDL_HapticOpen'.'SDL3.dll'.'SDL_HapticOpen' +++'_SDL_HapticOpened'.'SDL3.dll'.'SDL_HapticOpened' +++'_SDL_HapticIndex'.'SDL3.dll'.'SDL_HapticIndex' +++'_SDL_MouseIsHaptic'.'SDL3.dll'.'SDL_MouseIsHaptic' +++'_SDL_HapticOpenFromMouse'.'SDL3.dll'.'SDL_HapticOpenFromMouse' +++'_SDL_JoystickIsHaptic'.'SDL3.dll'.'SDL_JoystickIsHaptic' +++'_SDL_HapticOpenFromJoystick'.'SDL3.dll'.'SDL_HapticOpenFromJoystick' +++'_SDL_HapticClose'.'SDL3.dll'.'SDL_HapticClose' +++'_SDL_HapticNumEffects'.'SDL3.dll'.'SDL_HapticNumEffects' +++'_SDL_HapticNumEffectsPlaying'.'SDL3.dll'.'SDL_HapticNumEffectsPlaying' +++'_SDL_HapticQuery'.'SDL3.dll'.'SDL_HapticQuery' +++'_SDL_HapticNumAxes'.'SDL3.dll'.'SDL_HapticNumAxes' +++'_SDL_HapticEffectSupported'.'SDL3.dll'.'SDL_HapticEffectSupported' +++'_SDL_HapticNewEffect'.'SDL3.dll'.'SDL_HapticNewEffect' +++'_SDL_HapticUpdateEffect'.'SDL3.dll'.'SDL_HapticUpdateEffect' +++'_SDL_HapticRunEffect'.'SDL3.dll'.'SDL_HapticRunEffect' +++'_SDL_HapticStopEffect'.'SDL3.dll'.'SDL_HapticStopEffect' +++'_SDL_HapticDestroyEffect'.'SDL3.dll'.'SDL_HapticDestroyEffect' +++'_SDL_HapticGetEffectStatus'.'SDL3.dll'.'SDL_HapticGetEffectStatus' +++'_SDL_HapticSetGain'.'SDL3.dll'.'SDL_HapticSetGain' +++'_SDL_HapticSetAutocenter'.'SDL3.dll'.'SDL_HapticSetAutocenter' +++'_SDL_HapticPause'.'SDL3.dll'.'SDL_HapticPause' +++'_SDL_HapticUnpause'.'SDL3.dll'.'SDL_HapticUnpause' +++'_SDL_HapticStopAll'.'SDL3.dll'.'SDL_HapticStopAll' +++'_SDL_HapticRumbleSupported'.'SDL3.dll'.'SDL_HapticRumbleSupported' +++'_SDL_HapticRumbleInit'.'SDL3.dll'.'SDL_HapticRumbleInit' +++'_SDL_HapticRumblePlay'.'SDL3.dll'.'SDL_HapticRumblePlay' +++'_SDL_HapticRumbleStop'.'SDL3.dll'.'SDL_HapticRumbleStop' +++'_SDL_SetHintWithPriority'.'SDL3.dll'.'SDL_SetHintWithPriority' +++'_SDL_SetHint'.'SDL3.dll'.'SDL_SetHint' +++'_SDL_GetHint'.'SDL3.dll'.'SDL_GetHint' +++'_SDL_AddHintCallback'.'SDL3.dll'.'SDL_AddHintCallback' +++'_SDL_DelHintCallback'.'SDL3.dll'.'SDL_DelHintCallback' +++'_SDL_ClearHints'.'SDL3.dll'.'SDL_ClearHints' +++'_SDL_NumJoysticks'.'SDL3.dll'.'SDL_NumJoysticks' +++'_SDL_JoystickNameForIndex'.'SDL3.dll'.'SDL_JoystickNameForIndex' +++'_SDL_JoystickOpen'.'SDL3.dll'.'SDL_JoystickOpen' +++'_SDL_JoystickName'.'SDL3.dll'.'SDL_JoystickName' +++'_SDL_JoystickGetDeviceGUID'.'SDL3.dll'.'SDL_JoystickGetDeviceGUID' +++'_SDL_JoystickGetGUID'.'SDL3.dll'.'SDL_JoystickGetGUID' +++'_SDL_JoystickGetGUIDString'.'SDL3.dll'.'SDL_JoystickGetGUIDString' +++'_SDL_JoystickGetGUIDFromString'.'SDL3.dll'.'SDL_JoystickGetGUIDFromString' +++'_SDL_JoystickGetAttached'.'SDL3.dll'.'SDL_JoystickGetAttached' +++'_SDL_JoystickInstanceID'.'SDL3.dll'.'SDL_JoystickInstanceID' +++'_SDL_JoystickNumAxes'.'SDL3.dll'.'SDL_JoystickNumAxes' +++'_SDL_JoystickNumBalls'.'SDL3.dll'.'SDL_JoystickNumBalls' +++'_SDL_JoystickNumHats'.'SDL3.dll'.'SDL_JoystickNumHats' +++'_SDL_JoystickNumButtons'.'SDL3.dll'.'SDL_JoystickNumButtons' +++'_SDL_JoystickUpdate'.'SDL3.dll'.'SDL_JoystickUpdate' +++'_SDL_JoystickEventState'.'SDL3.dll'.'SDL_JoystickEventState' +++'_SDL_JoystickGetAxis'.'SDL3.dll'.'SDL_JoystickGetAxis' +++'_SDL_JoystickGetHat'.'SDL3.dll'.'SDL_JoystickGetHat' +++'_SDL_JoystickGetBall'.'SDL3.dll'.'SDL_JoystickGetBall' +++'_SDL_JoystickGetButton'.'SDL3.dll'.'SDL_JoystickGetButton' +++'_SDL_JoystickClose'.'SDL3.dll'.'SDL_JoystickClose' +++'_SDL_GetKeyboardFocus'.'SDL3.dll'.'SDL_GetKeyboardFocus' +++'_SDL_GetKeyboardState'.'SDL3.dll'.'SDL_GetKeyboardState' +++'_SDL_GetModState'.'SDL3.dll'.'SDL_GetModState' +++'_SDL_SetModState'.'SDL3.dll'.'SDL_SetModState' +++'_SDL_GetKeyFromScancode'.'SDL3.dll'.'SDL_GetKeyFromScancode' +++'_SDL_GetScancodeFromKey'.'SDL3.dll'.'SDL_GetScancodeFromKey' +++'_SDL_GetScancodeName'.'SDL3.dll'.'SDL_GetScancodeName' +++'_SDL_GetScancodeFromName'.'SDL3.dll'.'SDL_GetScancodeFromName' +++'_SDL_GetKeyName'.'SDL3.dll'.'SDL_GetKeyName' +++'_SDL_GetKeyFromName'.'SDL3.dll'.'SDL_GetKeyFromName' +++'_SDL_StartTextInput'.'SDL3.dll'.'SDL_StartTextInput' +++'_SDL_IsTextInputActive'.'SDL3.dll'.'SDL_IsTextInputActive' +++'_SDL_StopTextInput'.'SDL3.dll'.'SDL_StopTextInput' +++'_SDL_SetTextInputRect'.'SDL3.dll'.'SDL_SetTextInputRect' +++'_SDL_HasScreenKeyboardSupport'.'SDL3.dll'.'SDL_HasScreenKeyboardSupport' +++'_SDL_IsScreenKeyboardShown'.'SDL3.dll'.'SDL_IsScreenKeyboardShown' +++'_SDL_LoadObject'.'SDL3.dll'.'SDL_LoadObject' +++'_SDL_LoadFunction'.'SDL3.dll'.'SDL_LoadFunction' +++'_SDL_UnloadObject'.'SDL3.dll'.'SDL_UnloadObject' +++'_SDL_LogSetAllPriority'.'SDL3.dll'.'SDL_LogSetAllPriority' +++'_SDL_LogSetPriority'.'SDL3.dll'.'SDL_LogSetPriority' +++'_SDL_LogGetPriority'.'SDL3.dll'.'SDL_LogGetPriority' +++'_SDL_LogResetPriorities'.'SDL3.dll'.'SDL_LogResetPriorities' +++'_SDL_LogMessageV'.'SDL3.dll'.'SDL_LogMessageV' +++'_SDL_LogGetOutputFunction'.'SDL3.dll'.'SDL_LogGetOutputFunction' +++'_SDL_LogSetOutputFunction'.'SDL3.dll'.'SDL_LogSetOutputFunction' +++'_SDL_SetMainReady'.'SDL3.dll'.'SDL_SetMainReady' +++'_SDL_ShowMessageBox'.'SDL3.dll'.'SDL_ShowMessageBox' +++'_SDL_ShowSimpleMessageBox'.'SDL3.dll'.'SDL_ShowSimpleMessageBox' +++'_SDL_GetMouseFocus'.'SDL3.dll'.'SDL_GetMouseFocus' +++'_SDL_GetMouseState'.'SDL3.dll'.'SDL_GetMouseState' +++'_SDL_GetRelativeMouseState'.'SDL3.dll'.'SDL_GetRelativeMouseState' +++'_SDL_WarpMouseInWindow'.'SDL3.dll'.'SDL_WarpMouseInWindow' +++'_SDL_SetRelativeMouseMode'.'SDL3.dll'.'SDL_SetRelativeMouseMode' +++'_SDL_GetRelativeMouseMode'.'SDL3.dll'.'SDL_GetRelativeMouseMode' +++'_SDL_CreateCursor'.'SDL3.dll'.'SDL_CreateCursor' +++'_SDL_CreateColorCursor'.'SDL3.dll'.'SDL_CreateColorCursor' +++'_SDL_CreateSystemCursor'.'SDL3.dll'.'SDL_CreateSystemCursor' +++'_SDL_SetCursor'.'SDL3.dll'.'SDL_SetCursor' +++'_SDL_GetCursor'.'SDL3.dll'.'SDL_GetCursor' +++'_SDL_GetDefaultCursor'.'SDL3.dll'.'SDL_GetDefaultCursor' +++'_SDL_FreeCursor'.'SDL3.dll'.'SDL_FreeCursor' +++'_SDL_ShowCursor'.'SDL3.dll'.'SDL_ShowCursor' +++'_SDL_CreateMutex'.'SDL3.dll'.'SDL_CreateMutex' +++'_SDL_LockMutex'.'SDL3.dll'.'SDL_LockMutex' +++'_SDL_TryLockMutex'.'SDL3.dll'.'SDL_TryLockMutex' +++'_SDL_UnlockMutex'.'SDL3.dll'.'SDL_UnlockMutex' +++'_SDL_DestroyMutex'.'SDL3.dll'.'SDL_DestroyMutex' +++'_SDL_CreateSemaphore'.'SDL3.dll'.'SDL_CreateSemaphore' +++'_SDL_DestroySemaphore'.'SDL3.dll'.'SDL_DestroySemaphore' +++'_SDL_SemWait'.'SDL3.dll'.'SDL_SemWait' +++'_SDL_SemTryWait'.'SDL3.dll'.'SDL_SemTryWait' +++'_SDL_SemWaitTimeout'.'SDL3.dll'.'SDL_SemWaitTimeout' +++'_SDL_SemPost'.'SDL3.dll'.'SDL_SemPost' +++'_SDL_SemValue'.'SDL3.dll'.'SDL_SemValue' +++'_SDL_CreateCond'.'SDL3.dll'.'SDL_CreateCond' +++'_SDL_DestroyCond'.'SDL3.dll'.'SDL_DestroyCond' +++'_SDL_CondSignal'.'SDL3.dll'.'SDL_CondSignal' +++'_SDL_CondBroadcast'.'SDL3.dll'.'SDL_CondBroadcast' +++'_SDL_CondWait'.'SDL3.dll'.'SDL_CondWait' +++'_SDL_CondWaitTimeout'.'SDL3.dll'.'SDL_CondWaitTimeout' +++'_SDL_GetPixelFormatName'.'SDL3.dll'.'SDL_GetPixelFormatName' +++'_SDL_PixelFormatEnumToMasks'.'SDL3.dll'.'SDL_PixelFormatEnumToMasks' +++'_SDL_MasksToPixelFormatEnum'.'SDL3.dll'.'SDL_MasksToPixelFormatEnum' +++'_SDL_AllocFormat'.'SDL3.dll'.'SDL_AllocFormat' +++'_SDL_FreeFormat'.'SDL3.dll'.'SDL_FreeFormat' +++'_SDL_AllocPalette'.'SDL3.dll'.'SDL_AllocPalette' +++'_SDL_SetPixelFormatPalette'.'SDL3.dll'.'SDL_SetPixelFormatPalette' +++'_SDL_SetPaletteColors'.'SDL3.dll'.'SDL_SetPaletteColors' +++'_SDL_FreePalette'.'SDL3.dll'.'SDL_FreePalette' +++'_SDL_MapRGB'.'SDL3.dll'.'SDL_MapRGB' +++'_SDL_MapRGBA'.'SDL3.dll'.'SDL_MapRGBA' +++'_SDL_GetRGB'.'SDL3.dll'.'SDL_GetRGB' +++'_SDL_GetRGBA'.'SDL3.dll'.'SDL_GetRGBA' +++'_SDL_CalculateGammaRamp'.'SDL3.dll'.'SDL_CalculateGammaRamp' +++'_SDL_GetPlatform'.'SDL3.dll'.'SDL_GetPlatform' +++'_SDL_GetPowerInfo'.'SDL3.dll'.'SDL_GetPowerInfo' +++'_SDL_HasIntersection'.'SDL3.dll'.'SDL_HasIntersection' +++'_SDL_IntersectRect'.'SDL3.dll'.'SDL_IntersectRect' +++'_SDL_UnionRect'.'SDL3.dll'.'SDL_UnionRect' +++'_SDL_EnclosePoints'.'SDL3.dll'.'SDL_EnclosePoints' +++'_SDL_IntersectRectAndLine'.'SDL3.dll'.'SDL_IntersectRectAndLine' +++'_SDL_GetNumRenderDrivers'.'SDL3.dll'.'SDL_GetNumRenderDrivers' +++'_SDL_GetRenderDriverInfo'.'SDL3.dll'.'SDL_GetRenderDriverInfo' +++'_SDL_CreateWindowAndRenderer'.'SDL3.dll'.'SDL_CreateWindowAndRenderer' +++'_SDL_CreateRenderer'.'SDL3.dll'.'SDL_CreateRenderer' +++'_SDL_CreateSoftwareRenderer'.'SDL3.dll'.'SDL_CreateSoftwareRenderer' +++'_SDL_GetRenderer'.'SDL3.dll'.'SDL_GetRenderer' +++'_SDL_GetRendererInfo'.'SDL3.dll'.'SDL_GetRendererInfo' +++'_SDL_GetRendererOutputSize'.'SDL3.dll'.'SDL_GetRendererOutputSize' +++'_SDL_CreateTexture'.'SDL3.dll'.'SDL_CreateTexture' +++'_SDL_CreateTextureFromSurface'.'SDL3.dll'.'SDL_CreateTextureFromSurface' +++'_SDL_QueryTexture'.'SDL3.dll'.'SDL_QueryTexture' +++'_SDL_SetTextureColorMod'.'SDL3.dll'.'SDL_SetTextureColorMod' +++'_SDL_GetTextureColorMod'.'SDL3.dll'.'SDL_GetTextureColorMod' +++'_SDL_SetTextureAlphaMod'.'SDL3.dll'.'SDL_SetTextureAlphaMod' +++'_SDL_GetTextureAlphaMod'.'SDL3.dll'.'SDL_GetTextureAlphaMod' +++'_SDL_SetTextureBlendMode'.'SDL3.dll'.'SDL_SetTextureBlendMode' +++'_SDL_GetTextureBlendMode'.'SDL3.dll'.'SDL_GetTextureBlendMode' +++'_SDL_UpdateTexture'.'SDL3.dll'.'SDL_UpdateTexture' +++'_SDL_UpdateYUVTexture'.'SDL3.dll'.'SDL_UpdateYUVTexture' +++'_SDL_LockTexture'.'SDL3.dll'.'SDL_LockTexture' +++'_SDL_UnlockTexture'.'SDL3.dll'.'SDL_UnlockTexture' +++'_SDL_RenderTargetSupported'.'SDL3.dll'.'SDL_RenderTargetSupported' +++'_SDL_SetRenderTarget'.'SDL3.dll'.'SDL_SetRenderTarget' +++'_SDL_GetRenderTarget'.'SDL3.dll'.'SDL_GetRenderTarget' +++'_SDL_RenderSetLogicalSize'.'SDL3.dll'.'SDL_RenderSetLogicalSize' +++'_SDL_RenderGetLogicalSize'.'SDL3.dll'.'SDL_RenderGetLogicalSize' +++'_SDL_RenderSetViewport'.'SDL3.dll'.'SDL_RenderSetViewport' +++'_SDL_RenderGetViewport'.'SDL3.dll'.'SDL_RenderGetViewport' +++'_SDL_RenderSetClipRect'.'SDL3.dll'.'SDL_RenderSetClipRect' +++'_SDL_RenderGetClipRect'.'SDL3.dll'.'SDL_RenderGetClipRect' +++'_SDL_RenderSetScale'.'SDL3.dll'.'SDL_RenderSetScale' +++'_SDL_RenderGetScale'.'SDL3.dll'.'SDL_RenderGetScale' +++'_SDL_SetRenderDrawColor'.'SDL3.dll'.'SDL_SetRenderDrawColor' +++'_SDL_GetRenderDrawColor'.'SDL3.dll'.'SDL_GetRenderDrawColor' +++'_SDL_SetRenderDrawBlendMode'.'SDL3.dll'.'SDL_SetRenderDrawBlendMode' +++'_SDL_GetRenderDrawBlendMode'.'SDL3.dll'.'SDL_GetRenderDrawBlendMode' +++'_SDL_RenderClear'.'SDL3.dll'.'SDL_RenderClear' +++'_SDL_RenderDrawPoint'.'SDL3.dll'.'SDL_RenderDrawPoint' +++'_SDL_RenderDrawPoints'.'SDL3.dll'.'SDL_RenderDrawPoints' +++'_SDL_RenderDrawLine'.'SDL3.dll'.'SDL_RenderDrawLine' +++'_SDL_RenderDrawLines'.'SDL3.dll'.'SDL_RenderDrawLines' +++'_SDL_RenderDrawRect'.'SDL3.dll'.'SDL_RenderDrawRect' +++'_SDL_RenderDrawRects'.'SDL3.dll'.'SDL_RenderDrawRects' +++'_SDL_RenderFillRect'.'SDL3.dll'.'SDL_RenderFillRect' +++'_SDL_RenderFillRects'.'SDL3.dll'.'SDL_RenderFillRects' +++'_SDL_RenderCopy'.'SDL3.dll'.'SDL_RenderCopy' +++'_SDL_RenderCopyEx'.'SDL3.dll'.'SDL_RenderCopyEx' +++'_SDL_RenderReadPixels'.'SDL3.dll'.'SDL_RenderReadPixels' +++'_SDL_RenderPresent'.'SDL3.dll'.'SDL_RenderPresent' +++'_SDL_DestroyTexture'.'SDL3.dll'.'SDL_DestroyTexture' +++'_SDL_DestroyRenderer'.'SDL3.dll'.'SDL_DestroyRenderer' +++'_SDL_GL_BindTexture'.'SDL3.dll'.'SDL_GL_BindTexture' +++'_SDL_GL_UnbindTexture'.'SDL3.dll'.'SDL_GL_UnbindTexture' +++'_SDL_RWFromFile'.'SDL3.dll'.'SDL_RWFromFile' +++'_SDL_RWFromMem'.'SDL3.dll'.'SDL_RWFromMem' +++'_SDL_RWFromConstMem'.'SDL3.dll'.'SDL_RWFromConstMem' +++'_SDL_AllocRW'.'SDL3.dll'.'SDL_AllocRW' +++'_SDL_FreeRW'.'SDL3.dll'.'SDL_FreeRW' +++'_SDL_ReadU8'.'SDL3.dll'.'SDL_ReadU8' +++'_SDL_ReadLE16'.'SDL3.dll'.'SDL_ReadLE16' +++'_SDL_ReadBE16'.'SDL3.dll'.'SDL_ReadBE16' +++'_SDL_ReadLE32'.'SDL3.dll'.'SDL_ReadLE32' +++'_SDL_ReadBE32'.'SDL3.dll'.'SDL_ReadBE32' +++'_SDL_ReadLE64'.'SDL3.dll'.'SDL_ReadLE64' +++'_SDL_ReadBE64'.'SDL3.dll'.'SDL_ReadBE64' +++'_SDL_WriteU8'.'SDL3.dll'.'SDL_WriteU8' +++'_SDL_WriteLE16'.'SDL3.dll'.'SDL_WriteLE16' +++'_SDL_WriteBE16'.'SDL3.dll'.'SDL_WriteBE16' +++'_SDL_WriteLE32'.'SDL3.dll'.'SDL_WriteLE32' +++'_SDL_WriteBE32'.'SDL3.dll'.'SDL_WriteBE32' +++'_SDL_WriteLE64'.'SDL3.dll'.'SDL_WriteLE64' +++'_SDL_WriteBE64'.'SDL3.dll'.'SDL_WriteBE64' +++'_SDL_CreateShapedWindow'.'SDL3.dll'.'SDL_CreateShapedWindow' +++'_SDL_IsShapedWindow'.'SDL3.dll'.'SDL_IsShapedWindow' +++'_SDL_SetWindowShape'.'SDL3.dll'.'SDL_SetWindowShape' +++'_SDL_GetShapedWindowMode'.'SDL3.dll'.'SDL_GetShapedWindowMode' +++'_SDL_malloc'.'SDL3.dll'.'SDL_malloc' +++'_SDL_calloc'.'SDL3.dll'.'SDL_calloc' +++'_SDL_realloc'.'SDL3.dll'.'SDL_realloc' +++'_SDL_free'.'SDL3.dll'.'SDL_free' +++'_SDL_getenv'.'SDL3.dll'.'SDL_getenv' +++'_SDL_setenv'.'SDL3.dll'.'SDL_setenv' +++'_SDL_qsort'.'SDL3.dll'.'SDL_qsort' +++'_SDL_abs'.'SDL3.dll'.'SDL_abs' +++'_SDL_isdigit'.'SDL3.dll'.'SDL_isdigit' +++'_SDL_isspace'.'SDL3.dll'.'SDL_isspace' +++'_SDL_toupper'.'SDL3.dll'.'SDL_toupper' +++'_SDL_tolower'.'SDL3.dll'.'SDL_tolower' +++'_SDL_memset'.'SDL3.dll'.'SDL_memset' +++'_SDL_memcpy'.'SDL3.dll'.'SDL_memcpy' +++'_SDL_memmove'.'SDL3.dll'.'SDL_memmove' +++'_SDL_memcmp'.'SDL3.dll'.'SDL_memcmp' +++'_SDL_wcslen'.'SDL3.dll'.'SDL_wcslen' +++'_SDL_wcslcpy'.'SDL3.dll'.'SDL_wcslcpy' +++'_SDL_wcslcat'.'SDL3.dll'.'SDL_wcslcat' +++'_SDL_strlen'.'SDL3.dll'.'SDL_strlen' +++'_SDL_strlcpy'.'SDL3.dll'.'SDL_strlcpy' +++'_SDL_utf8strlcpy'.'SDL3.dll'.'SDL_utf8strlcpy' +++'_SDL_strlcat'.'SDL3.dll'.'SDL_strlcat' +++'_SDL_strdup'.'SDL3.dll'.'SDL_strdup' +++'_SDL_strrev'.'SDL3.dll'.'SDL_strrev' +++'_SDL_strupr'.'SDL3.dll'.'SDL_strupr' +++'_SDL_strlwr'.'SDL3.dll'.'SDL_strlwr' +++'_SDL_strchr'.'SDL3.dll'.'SDL_strchr' +++'_SDL_strrchr'.'SDL3.dll'.'SDL_strrchr' +++'_SDL_strstr'.'SDL3.dll'.'SDL_strstr' +++'_SDL_itoa'.'SDL3.dll'.'SDL_itoa' +++'_SDL_uitoa'.'SDL3.dll'.'SDL_uitoa' +++'_SDL_ltoa'.'SDL3.dll'.'SDL_ltoa' +++'_SDL_ultoa'.'SDL3.dll'.'SDL_ultoa' +++'_SDL_lltoa'.'SDL3.dll'.'SDL_lltoa' +++'_SDL_ulltoa'.'SDL3.dll'.'SDL_ulltoa' +++'_SDL_atoi'.'SDL3.dll'.'SDL_atoi' +++'_SDL_atof'.'SDL3.dll'.'SDL_atof' +++'_SDL_strtol'.'SDL3.dll'.'SDL_strtol' +++'_SDL_strtoul'.'SDL3.dll'.'SDL_strtoul' +++'_SDL_strtoll'.'SDL3.dll'.'SDL_strtoll' +++'_SDL_strtoull'.'SDL3.dll'.'SDL_strtoull' +++'_SDL_strtod'.'SDL3.dll'.'SDL_strtod' +++'_SDL_strcmp'.'SDL3.dll'.'SDL_strcmp' +++'_SDL_strncmp'.'SDL3.dll'.'SDL_strncmp' +++'_SDL_strcasecmp'.'SDL3.dll'.'SDL_strcasecmp' +++'_SDL_strncasecmp'.'SDL3.dll'.'SDL_strncasecmp' +++'_SDL_vsnprintf'.'SDL3.dll'.'SDL_vsnprintf' +++'_SDL_acos'.'SDL3.dll'.'SDL_acos' +++'_SDL_asin'.'SDL3.dll'.'SDL_asin' +++'_SDL_atan'.'SDL3.dll'.'SDL_atan' +++'_SDL_atan2'.'SDL3.dll'.'SDL_atan2' +++'_SDL_ceil'.'SDL3.dll'.'SDL_ceil' +++'_SDL_copysign'.'SDL3.dll'.'SDL_copysign' +++'_SDL_cos'.'SDL3.dll'.'SDL_cos' +++'_SDL_cosf'.'SDL3.dll'.'SDL_cosf' +++'_SDL_fabs'.'SDL3.dll'.'SDL_fabs' +++'_SDL_floor'.'SDL3.dll'.'SDL_floor' +++'_SDL_log'.'SDL3.dll'.'SDL_log' +++'_SDL_pow'.'SDL3.dll'.'SDL_pow' +++'_SDL_scalbn'.'SDL3.dll'.'SDL_scalbn' +++'_SDL_sin'.'SDL3.dll'.'SDL_sin' +++'_SDL_sinf'.'SDL3.dll'.'SDL_sinf' +++'_SDL_sqrt'.'SDL3.dll'.'SDL_sqrt' +++'_SDL_iconv_open'.'SDL3.dll'.'SDL_iconv_open' +++'_SDL_iconv_close'.'SDL3.dll'.'SDL_iconv_close' +++'_SDL_iconv'.'SDL3.dll'.'SDL_iconv' +++'_SDL_iconv_string'.'SDL3.dll'.'SDL_iconv_string' +++'_SDL_CreateRGBSurface'.'SDL3.dll'.'SDL_CreateRGBSurface' +++'_SDL_CreateRGBSurfaceFrom'.'SDL3.dll'.'SDL_CreateRGBSurfaceFrom' +++'_SDL_FreeSurface'.'SDL3.dll'.'SDL_FreeSurface' +++'_SDL_SetSurfacePalette'.'SDL3.dll'.'SDL_SetSurfacePalette' +++'_SDL_LockSurface'.'SDL3.dll'.'SDL_LockSurface' +++'_SDL_UnlockSurface'.'SDL3.dll'.'SDL_UnlockSurface' +++'_SDL_LoadBMP_RW'.'SDL3.dll'.'SDL_LoadBMP_RW' +++'_SDL_SaveBMP_RW'.'SDL3.dll'.'SDL_SaveBMP_RW' +++'_SDL_SetSurfaceRLE'.'SDL3.dll'.'SDL_SetSurfaceRLE' +++'_SDL_SetColorKey'.'SDL3.dll'.'SDL_SetColorKey' +++'_SDL_GetColorKey'.'SDL3.dll'.'SDL_GetColorKey' +++'_SDL_SetSurfaceColorMod'.'SDL3.dll'.'SDL_SetSurfaceColorMod' +++'_SDL_GetSurfaceColorMod'.'SDL3.dll'.'SDL_GetSurfaceColorMod' +++'_SDL_SetSurfaceAlphaMod'.'SDL3.dll'.'SDL_SetSurfaceAlphaMod' +++'_SDL_GetSurfaceAlphaMod'.'SDL3.dll'.'SDL_GetSurfaceAlphaMod' +++'_SDL_SetSurfaceBlendMode'.'SDL3.dll'.'SDL_SetSurfaceBlendMode' +++'_SDL_GetSurfaceBlendMode'.'SDL3.dll'.'SDL_GetSurfaceBlendMode' +++'_SDL_SetClipRect'.'SDL3.dll'.'SDL_SetClipRect' +++'_SDL_GetClipRect'.'SDL3.dll'.'SDL_GetClipRect' +++'_SDL_ConvertSurface'.'SDL3.dll'.'SDL_ConvertSurface' +++'_SDL_ConvertSurfaceFormat'.'SDL3.dll'.'SDL_ConvertSurfaceFormat' +++'_SDL_ConvertPixels'.'SDL3.dll'.'SDL_ConvertPixels' +++'_SDL_FillRect'.'SDL3.dll'.'SDL_FillRect' +++'_SDL_FillRects'.'SDL3.dll'.'SDL_FillRects' +++'_SDL_UpperBlit'.'SDL3.dll'.'SDL_UpperBlit' +++'_SDL_LowerBlit'.'SDL3.dll'.'SDL_LowerBlit' +++'_SDL_SoftStretch'.'SDL3.dll'.'SDL_SoftStretch' +++'_SDL_UpperBlitScaled'.'SDL3.dll'.'SDL_UpperBlitScaled' +++'_SDL_LowerBlitScaled'.'SDL3.dll'.'SDL_LowerBlitScaled' +++'_SDL_GetWindowWMInfo'.'SDL3.dll'.'SDL_GetWindowWMInfo' +++'_SDL_GetThreadName'.'SDL3.dll'.'SDL_GetThreadName' +++'_SDL_ThreadID'.'SDL3.dll'.'SDL_ThreadID' +++'_SDL_GetThreadID'.'SDL3.dll'.'SDL_GetThreadID' +++'_SDL_SetThreadPriority'.'SDL3.dll'.'SDL_SetThreadPriority' +++'_SDL_WaitThread'.'SDL3.dll'.'SDL_WaitThread' +++'_SDL_DetachThread'.'SDL3.dll'.'SDL_DetachThread' +++'_SDL_TLSCreate'.'SDL3.dll'.'SDL_TLSCreate' +++'_SDL_TLSGet'.'SDL3.dll'.'SDL_TLSGet' +++'_SDL_TLSSet'.'SDL3.dll'.'SDL_TLSSet' +++'_SDL_GetTicks'.'SDL3.dll'.'SDL_GetTicks' +++'_SDL_GetPerformanceCounter'.'SDL3.dll'.'SDL_GetPerformanceCounter' +++'_SDL_GetPerformanceFrequency'.'SDL3.dll'.'SDL_GetPerformanceFrequency' +++'_SDL_Delay'.'SDL3.dll'.'SDL_Delay' +++'_SDL_AddTimer'.'SDL3.dll'.'SDL_AddTimer' +++'_SDL_RemoveTimer'.'SDL3.dll'.'SDL_RemoveTimer' +++'_SDL_GetNumTouchDevices'.'SDL3.dll'.'SDL_GetNumTouchDevices' +++'_SDL_GetTouchDevice'.'SDL3.dll'.'SDL_GetTouchDevice' +++'_SDL_GetNumTouchFingers'.'SDL3.dll'.'SDL_GetNumTouchFingers' +++'_SDL_GetTouchFinger'.'SDL3.dll'.'SDL_GetTouchFinger' +++'_SDL_GetVersion'.'SDL3.dll'.'SDL_GetVersion' +++'_SDL_GetRevision'.'SDL3.dll'.'SDL_GetRevision' +++'_SDL_GetRevisionNumber'.'SDL3.dll'.'SDL_GetRevisionNumber' +++'_SDL_GetNumVideoDrivers'.'SDL3.dll'.'SDL_GetNumVideoDrivers' +++'_SDL_GetVideoDriver'.'SDL3.dll'.'SDL_GetVideoDriver' +++'_SDL_VideoInit'.'SDL3.dll'.'SDL_VideoInit' +++'_SDL_VideoQuit'.'SDL3.dll'.'SDL_VideoQuit' +++'_SDL_GetCurrentVideoDriver'.'SDL3.dll'.'SDL_GetCurrentVideoDriver' +++'_SDL_GetNumVideoDisplays'.'SDL3.dll'.'SDL_GetNumVideoDisplays' +++'_SDL_GetDisplayName'.'SDL3.dll'.'SDL_GetDisplayName' +++'_SDL_GetDisplayBounds'.'SDL3.dll'.'SDL_GetDisplayBounds' +++'_SDL_GetDisplayDPI'.'SDL3.dll'.'SDL_GetDisplayDPI' +++'_SDL_GetNumDisplayModes'.'SDL3.dll'.'SDL_GetNumDisplayModes' +++'_SDL_GetDisplayMode'.'SDL3.dll'.'SDL_GetDisplayMode' +++'_SDL_GetDesktopDisplayMode'.'SDL3.dll'.'SDL_GetDesktopDisplayMode' +++'_SDL_GetCurrentDisplayMode'.'SDL3.dll'.'SDL_GetCurrentDisplayMode' +++'_SDL_GetClosestDisplayMode'.'SDL3.dll'.'SDL_GetClosestDisplayMode' +++'_SDL_GetWindowDisplayIndex'.'SDL3.dll'.'SDL_GetWindowDisplayIndex' +++'_SDL_SetWindowDisplayMode'.'SDL3.dll'.'SDL_SetWindowDisplayMode' +++'_SDL_GetWindowDisplayMode'.'SDL3.dll'.'SDL_GetWindowDisplayMode' +++'_SDL_GetWindowPixelFormat'.'SDL3.dll'.'SDL_GetWindowPixelFormat' +++'_SDL_CreateWindow'.'SDL3.dll'.'SDL_CreateWindow' +++'_SDL_CreateWindowFrom'.'SDL3.dll'.'SDL_CreateWindowFrom' +++'_SDL_GetWindowID'.'SDL3.dll'.'SDL_GetWindowID' +++'_SDL_GetWindowFromID'.'SDL3.dll'.'SDL_GetWindowFromID' +++'_SDL_GetWindowFlags'.'SDL3.dll'.'SDL_GetWindowFlags' +++'_SDL_SetWindowTitle'.'SDL3.dll'.'SDL_SetWindowTitle' +++'_SDL_GetWindowTitle'.'SDL3.dll'.'SDL_GetWindowTitle' +++'_SDL_SetWindowIcon'.'SDL3.dll'.'SDL_SetWindowIcon' +++'_SDL_SetWindowData'.'SDL3.dll'.'SDL_SetWindowData' +++'_SDL_GetWindowData'.'SDL3.dll'.'SDL_GetWindowData' +++'_SDL_SetWindowPosition'.'SDL3.dll'.'SDL_SetWindowPosition' +++'_SDL_GetWindowPosition'.'SDL3.dll'.'SDL_GetWindowPosition' +++'_SDL_SetWindowSize'.'SDL3.dll'.'SDL_SetWindowSize' +++'_SDL_GetWindowSize'.'SDL3.dll'.'SDL_GetWindowSize' +++'_SDL_SetWindowMinimumSize'.'SDL3.dll'.'SDL_SetWindowMinimumSize' +++'_SDL_GetWindowMinimumSize'.'SDL3.dll'.'SDL_GetWindowMinimumSize' +++'_SDL_SetWindowMaximumSize'.'SDL3.dll'.'SDL_SetWindowMaximumSize' +++'_SDL_GetWindowMaximumSize'.'SDL3.dll'.'SDL_GetWindowMaximumSize' +++'_SDL_SetWindowBordered'.'SDL3.dll'.'SDL_SetWindowBordered' +++'_SDL_ShowWindow'.'SDL3.dll'.'SDL_ShowWindow' +++'_SDL_HideWindow'.'SDL3.dll'.'SDL_HideWindow' +++'_SDL_RaiseWindow'.'SDL3.dll'.'SDL_RaiseWindow' +++'_SDL_MaximizeWindow'.'SDL3.dll'.'SDL_MaximizeWindow' +++'_SDL_MinimizeWindow'.'SDL3.dll'.'SDL_MinimizeWindow' +++'_SDL_RestoreWindow'.'SDL3.dll'.'SDL_RestoreWindow' +++'_SDL_SetWindowFullscreen'.'SDL3.dll'.'SDL_SetWindowFullscreen' +++'_SDL_GetWindowSurface'.'SDL3.dll'.'SDL_GetWindowSurface' +++'_SDL_UpdateWindowSurface'.'SDL3.dll'.'SDL_UpdateWindowSurface' +++'_SDL_UpdateWindowSurfaceRects'.'SDL3.dll'.'SDL_UpdateWindowSurfaceRects' +++'_SDL_SetWindowGrab'.'SDL3.dll'.'SDL_SetWindowGrab' +++'_SDL_GetWindowGrab'.'SDL3.dll'.'SDL_GetWindowGrab' +++'_SDL_SetWindowBrightness'.'SDL3.dll'.'SDL_SetWindowBrightness' +++'_SDL_GetWindowBrightness'.'SDL3.dll'.'SDL_GetWindowBrightness' +++'_SDL_SetWindowGammaRamp'.'SDL3.dll'.'SDL_SetWindowGammaRamp' +++'_SDL_GetWindowGammaRamp'.'SDL3.dll'.'SDL_GetWindowGammaRamp' +++'_SDL_DestroyWindow'.'SDL3.dll'.'SDL_DestroyWindow' +++'_SDL_IsScreenSaverEnabled'.'SDL3.dll'.'SDL_IsScreenSaverEnabled' +++'_SDL_EnableScreenSaver'.'SDL3.dll'.'SDL_EnableScreenSaver' +++'_SDL_DisableScreenSaver'.'SDL3.dll'.'SDL_DisableScreenSaver' +++'_SDL_GL_LoadLibrary'.'SDL3.dll'.'SDL_GL_LoadLibrary' +++'_SDL_GL_GetProcAddress'.'SDL3.dll'.'SDL_GL_GetProcAddress' +++'_SDL_GL_UnloadLibrary'.'SDL3.dll'.'SDL_GL_UnloadLibrary' +++'_SDL_GL_ExtensionSupported'.'SDL3.dll'.'SDL_GL_ExtensionSupported' +++'_SDL_GL_SetAttribute'.'SDL3.dll'.'SDL_GL_SetAttribute' +++'_SDL_GL_GetAttribute'.'SDL3.dll'.'SDL_GL_GetAttribute' +++'_SDL_GL_CreateContext'.'SDL3.dll'.'SDL_GL_CreateContext' +++'_SDL_GL_MakeCurrent'.'SDL3.dll'.'SDL_GL_MakeCurrent' +++'_SDL_GL_GetCurrentWindow'.'SDL3.dll'.'SDL_GL_GetCurrentWindow' +++'_SDL_GL_GetCurrentContext'.'SDL3.dll'.'SDL_GL_GetCurrentContext' +++'_SDL_GL_GetDrawableSize'.'SDL3.dll'.'SDL_GL_GetDrawableSize' +++'_SDL_GL_SetSwapInterval'.'SDL3.dll'.'SDL_GL_SetSwapInterval' +++'_SDL_GL_GetSwapInterval'.'SDL3.dll'.'SDL_GL_GetSwapInterval' +++'_SDL_GL_SwapWindow'.'SDL3.dll'.'SDL_GL_SwapWindow' +++'_SDL_GL_DeleteContext'.'SDL3.dll'.'SDL_GL_DeleteContext' +++'_SDL_vsscanf'.'SDL3.dll'.'SDL_vsscanf' +++'_SDL_GameControllerAddMappingsFromRW'.'SDL3.dll'.'SDL_GameControllerAddMappingsFromRW' +++'_SDL_GL_ResetAttributes'.'SDL3.dll'.'SDL_GL_ResetAttributes' +++'_SDL_HasAVX'.'SDL3.dll'.'SDL_HasAVX' +++'_SDL_GetDefaultAssertionHandler'.'SDL3.dll'.'SDL_GetDefaultAssertionHandler' +++'_SDL_GetAssertionHandler'.'SDL3.dll'.'SDL_GetAssertionHandler' +++'_SDL_DXGIGetOutputInfo'.'SDL3.dll'.'SDL_DXGIGetOutputInfo' +++'_SDL_RenderIsClipEnabled'.'SDL3.dll'.'SDL_RenderIsClipEnabled' +# ++'_SDL_WinRTRunApp'.'SDL3.dll'.'SDL_WinRTRunApp' +++'_SDL_WarpMouseGlobal'.'SDL3.dll'.'SDL_WarpMouseGlobal' +# ++'_SDL_WinRTGetFSPathUNICODE'.'SDL3.dll'.'SDL_WinRTGetFSPathUNICODE' +# ++'_SDL_WinRTGetFSPathUTF8'.'SDL3.dll'.'SDL_WinRTGetFSPathUTF8' +++'_SDL_sqrtf'.'SDL3.dll'.'SDL_sqrtf' +++'_SDL_tan'.'SDL3.dll'.'SDL_tan' +++'_SDL_tanf'.'SDL3.dll'.'SDL_tanf' +++'_SDL_CaptureMouse'.'SDL3.dll'.'SDL_CaptureMouse' +++'_SDL_SetWindowHitTest'.'SDL3.dll'.'SDL_SetWindowHitTest' +++'_SDL_GetGlobalMouseState'.'SDL3.dll'.'SDL_GetGlobalMouseState' +++'_SDL_HasAVX2'.'SDL3.dll'.'SDL_HasAVX2' +++'_SDL_QueueAudio'.'SDL3.dll'.'SDL_QueueAudio' +++'_SDL_GetQueuedAudioSize'.'SDL3.dll'.'SDL_GetQueuedAudioSize' +++'_SDL_ClearQueuedAudio'.'SDL3.dll'.'SDL_ClearQueuedAudio' +++'_SDL_GetGrabbedWindow'.'SDL3.dll'.'SDL_GetGrabbedWindow' +++'_SDL_SetWindowsMessageHook'.'SDL3.dll'.'SDL_SetWindowsMessageHook' +++'_SDL_JoystickCurrentPowerLevel'.'SDL3.dll'.'SDL_JoystickCurrentPowerLevel' +++'_SDL_GameControllerFromInstanceID'.'SDL3.dll'.'SDL_GameControllerFromInstanceID' +++'_SDL_JoystickFromInstanceID'.'SDL3.dll'.'SDL_JoystickFromInstanceID' +++'_SDL_GetDisplayUsableBounds'.'SDL3.dll'.'SDL_GetDisplayUsableBounds' +++'_SDL_GetWindowBordersSize'.'SDL3.dll'.'SDL_GetWindowBordersSize' +++'_SDL_SetWindowOpacity'.'SDL3.dll'.'SDL_SetWindowOpacity' +++'_SDL_GetWindowOpacity'.'SDL3.dll'.'SDL_GetWindowOpacity' +++'_SDL_SetWindowInputFocus'.'SDL3.dll'.'SDL_SetWindowInputFocus' +++'_SDL_SetWindowModalFor'.'SDL3.dll'.'SDL_SetWindowModalFor' +++'_SDL_RenderSetIntegerScale'.'SDL3.dll'.'SDL_RenderSetIntegerScale' +++'_SDL_RenderGetIntegerScale'.'SDL3.dll'.'SDL_RenderGetIntegerScale' +++'_SDL_DequeueAudio'.'SDL3.dll'.'SDL_DequeueAudio' +++'_SDL_SetWindowResizable'.'SDL3.dll'.'SDL_SetWindowResizable' +++'_SDL_CreateRGBSurfaceWithFormat'.'SDL3.dll'.'SDL_CreateRGBSurfaceWithFormat' +++'_SDL_CreateRGBSurfaceWithFormatFrom'.'SDL3.dll'.'SDL_CreateRGBSurfaceWithFormatFrom' +++'_SDL_GetHintBoolean'.'SDL3.dll'.'SDL_GetHintBoolean' +++'_SDL_JoystickGetDeviceVendor'.'SDL3.dll'.'SDL_JoystickGetDeviceVendor' +++'_SDL_JoystickGetDeviceProduct'.'SDL3.dll'.'SDL_JoystickGetDeviceProduct' +++'_SDL_JoystickGetDeviceProductVersion'.'SDL3.dll'.'SDL_JoystickGetDeviceProductVersion' +++'_SDL_JoystickGetVendor'.'SDL3.dll'.'SDL_JoystickGetVendor' +++'_SDL_JoystickGetProduct'.'SDL3.dll'.'SDL_JoystickGetProduct' +++'_SDL_JoystickGetProductVersion'.'SDL3.dll'.'SDL_JoystickGetProductVersion' +++'_SDL_GameControllerGetVendor'.'SDL3.dll'.'SDL_GameControllerGetVendor' +++'_SDL_GameControllerGetProduct'.'SDL3.dll'.'SDL_GameControllerGetProduct' +++'_SDL_GameControllerGetProductVersion'.'SDL3.dll'.'SDL_GameControllerGetProductVersion' +++'_SDL_HasNEON'.'SDL3.dll'.'SDL_HasNEON' +++'_SDL_GameControllerNumMappings'.'SDL3.dll'.'SDL_GameControllerNumMappings' +++'_SDL_GameControllerMappingForIndex'.'SDL3.dll'.'SDL_GameControllerMappingForIndex' +++'_SDL_JoystickGetAxisInitialState'.'SDL3.dll'.'SDL_JoystickGetAxisInitialState' +++'_SDL_JoystickGetDeviceType'.'SDL3.dll'.'SDL_JoystickGetDeviceType' +++'_SDL_JoystickGetType'.'SDL3.dll'.'SDL_JoystickGetType' +++'_SDL_MemoryBarrierReleaseFunction'.'SDL3.dll'.'SDL_MemoryBarrierReleaseFunction' +++'_SDL_MemoryBarrierAcquireFunction'.'SDL3.dll'.'SDL_MemoryBarrierAcquireFunction' +++'_SDL_JoystickGetDeviceInstanceID'.'SDL3.dll'.'SDL_JoystickGetDeviceInstanceID' +++'_SDL_utf8strlen'.'SDL3.dll'.'SDL_utf8strlen' +++'_SDL_LoadFile_RW'.'SDL3.dll'.'SDL_LoadFile_RW' +++'_SDL_wcscmp'.'SDL3.dll'.'SDL_wcscmp' +++'_SDL_ComposeCustomBlendMode'.'SDL3.dll'.'SDL_ComposeCustomBlendMode' +++'_SDL_DuplicateSurface'.'SDL3.dll'.'SDL_DuplicateSurface' +++'_SDL_Vulkan_LoadLibrary'.'SDL3.dll'.'SDL_Vulkan_LoadLibrary' +++'_SDL_Vulkan_GetVkGetInstanceProcAddr'.'SDL3.dll'.'SDL_Vulkan_GetVkGetInstanceProcAddr' +++'_SDL_Vulkan_UnloadLibrary'.'SDL3.dll'.'SDL_Vulkan_UnloadLibrary' +++'_SDL_Vulkan_GetInstanceExtensions'.'SDL3.dll'.'SDL_Vulkan_GetInstanceExtensions' +++'_SDL_Vulkan_CreateSurface'.'SDL3.dll'.'SDL_Vulkan_CreateSurface' +++'_SDL_Vulkan_GetDrawableSize'.'SDL3.dll'.'SDL_Vulkan_GetDrawableSize' +++'_SDL_LockJoysticks'.'SDL3.dll'.'SDL_LockJoysticks' +++'_SDL_UnlockJoysticks'.'SDL3.dll'.'SDL_UnlockJoysticks' +++'_SDL_GetMemoryFunctions'.'SDL3.dll'.'SDL_GetMemoryFunctions' +++'_SDL_SetMemoryFunctions'.'SDL3.dll'.'SDL_SetMemoryFunctions' +++'_SDL_GetNumAllocations'.'SDL3.dll'.'SDL_GetNumAllocations' +++'_SDL_NewAudioStream'.'SDL3.dll'.'SDL_NewAudioStream' +++'_SDL_AudioStreamPut'.'SDL3.dll'.'SDL_AudioStreamPut' +++'_SDL_AudioStreamGet'.'SDL3.dll'.'SDL_AudioStreamGet' +++'_SDL_AudioStreamClear'.'SDL3.dll'.'SDL_AudioStreamClear' +++'_SDL_AudioStreamAvailable'.'SDL3.dll'.'SDL_AudioStreamAvailable' +++'_SDL_FreeAudioStream'.'SDL3.dll'.'SDL_FreeAudioStream' +++'_SDL_AudioStreamFlush'.'SDL3.dll'.'SDL_AudioStreamFlush' +++'_SDL_acosf'.'SDL3.dll'.'SDL_acosf' +++'_SDL_asinf'.'SDL3.dll'.'SDL_asinf' +++'_SDL_atanf'.'SDL3.dll'.'SDL_atanf' +++'_SDL_atan2f'.'SDL3.dll'.'SDL_atan2f' +++'_SDL_ceilf'.'SDL3.dll'.'SDL_ceilf' +++'_SDL_copysignf'.'SDL3.dll'.'SDL_copysignf' +++'_SDL_fabsf'.'SDL3.dll'.'SDL_fabsf' +++'_SDL_floorf'.'SDL3.dll'.'SDL_floorf' +++'_SDL_logf'.'SDL3.dll'.'SDL_logf' +++'_SDL_powf'.'SDL3.dll'.'SDL_powf' +++'_SDL_scalbnf'.'SDL3.dll'.'SDL_scalbnf' +++'_SDL_fmod'.'SDL3.dll'.'SDL_fmod' +++'_SDL_fmodf'.'SDL3.dll'.'SDL_fmodf' +++'_SDL_SetYUVConversionMode'.'SDL3.dll'.'SDL_SetYUVConversionMode' +++'_SDL_GetYUVConversionMode'.'SDL3.dll'.'SDL_GetYUVConversionMode' +++'_SDL_GetYUVConversionModeForResolution'.'SDL3.dll'.'SDL_GetYUVConversionModeForResolution' +++'_SDL_RenderGetMetalLayer'.'SDL3.dll'.'SDL_RenderGetMetalLayer' +++'_SDL_RenderGetMetalCommandEncoder'.'SDL3.dll'.'SDL_RenderGetMetalCommandEncoder' +# ++'_SDL_IsAndroidTV'.'SDL3.dll'.'SDL_IsAndroidTV' +# ++'_SDL_WinRTGetDeviceFamily'.'SDL3.dll'.'SDL_WinRTGetDeviceFamily' +++'_SDL_log10'.'SDL3.dll'.'SDL_log10' +++'_SDL_log10f'.'SDL3.dll'.'SDL_log10f' +++'_SDL_GameControllerMappingForDeviceIndex'.'SDL3.dll'.'SDL_GameControllerMappingForDeviceIndex' +# ++'_SDL_LinuxSetThreadPriority'.'SDL3.dll'.'SDL_LinuxSetThreadPriority' +++'_SDL_HasAVX512F'.'SDL3.dll'.'SDL_HasAVX512F' +# ++'_SDL_IsChromebook'.'SDL3.dll'.'SDL_IsChromebook' +# ++'_SDL_IsDeXMode'.'SDL3.dll'.'SDL_IsDeXMode' +# ++'_SDL_AndroidBackButton'.'SDL3.dll'.'SDL_AndroidBackButton' +++'_SDL_exp'.'SDL3.dll'.'SDL_exp' +++'_SDL_expf'.'SDL3.dll'.'SDL_expf' +++'_SDL_wcsdup'.'SDL3.dll'.'SDL_wcsdup' +++'_SDL_GameControllerRumble'.'SDL3.dll'.'SDL_GameControllerRumble' +++'_SDL_JoystickRumble'.'SDL3.dll'.'SDL_JoystickRumble' +++'_SDL_NumSensors'.'SDL3.dll'.'SDL_NumSensors' +++'_SDL_SensorGetDeviceName'.'SDL3.dll'.'SDL_SensorGetDeviceName' +++'_SDL_SensorGetDeviceType'.'SDL3.dll'.'SDL_SensorGetDeviceType' +++'_SDL_SensorGetDeviceNonPortableType'.'SDL3.dll'.'SDL_SensorGetDeviceNonPortableType' +++'_SDL_SensorGetDeviceInstanceID'.'SDL3.dll'.'SDL_SensorGetDeviceInstanceID' +++'_SDL_SensorOpen'.'SDL3.dll'.'SDL_SensorOpen' +++'_SDL_SensorFromInstanceID'.'SDL3.dll'.'SDL_SensorFromInstanceID' +++'_SDL_SensorGetName'.'SDL3.dll'.'SDL_SensorGetName' +++'_SDL_SensorGetType'.'SDL3.dll'.'SDL_SensorGetType' +++'_SDL_SensorGetNonPortableType'.'SDL3.dll'.'SDL_SensorGetNonPortableType' +++'_SDL_SensorGetInstanceID'.'SDL3.dll'.'SDL_SensorGetInstanceID' +++'_SDL_SensorGetData'.'SDL3.dll'.'SDL_SensorGetData' +++'_SDL_SensorClose'.'SDL3.dll'.'SDL_SensorClose' +++'_SDL_SensorUpdate'.'SDL3.dll'.'SDL_SensorUpdate' +++'_SDL_IsTablet'.'SDL3.dll'.'SDL_IsTablet' +++'_SDL_GetDisplayOrientation'.'SDL3.dll'.'SDL_GetDisplayOrientation' +++'_SDL_HasColorKey'.'SDL3.dll'.'SDL_HasColorKey' +++'_SDL_CreateThreadWithStackSize'.'SDL3.dll'.'SDL_CreateThreadWithStackSize' +++'_SDL_JoystickGetDevicePlayerIndex'.'SDL3.dll'.'SDL_JoystickGetDevicePlayerIndex' +++'_SDL_JoystickGetPlayerIndex'.'SDL3.dll'.'SDL_JoystickGetPlayerIndex' +++'_SDL_GameControllerGetPlayerIndex'.'SDL3.dll'.'SDL_GameControllerGetPlayerIndex' +++'_SDL_RenderFlush'.'SDL3.dll'.'SDL_RenderFlush' +++'_SDL_RenderDrawPointF'.'SDL3.dll'.'SDL_RenderDrawPointF' +++'_SDL_RenderDrawPointsF'.'SDL3.dll'.'SDL_RenderDrawPointsF' +++'_SDL_RenderDrawLineF'.'SDL3.dll'.'SDL_RenderDrawLineF' +++'_SDL_RenderDrawLinesF'.'SDL3.dll'.'SDL_RenderDrawLinesF' +++'_SDL_RenderDrawRectF'.'SDL3.dll'.'SDL_RenderDrawRectF' +++'_SDL_RenderDrawRectsF'.'SDL3.dll'.'SDL_RenderDrawRectsF' +++'_SDL_RenderFillRectF'.'SDL3.dll'.'SDL_RenderFillRectF' +++'_SDL_RenderFillRectsF'.'SDL3.dll'.'SDL_RenderFillRectsF' +++'_SDL_RenderCopyF'.'SDL3.dll'.'SDL_RenderCopyF' +++'_SDL_RenderCopyExF'.'SDL3.dll'.'SDL_RenderCopyExF' +++'_SDL_GetTouchDeviceType'.'SDL3.dll'.'SDL_GetTouchDeviceType' +# ++'_SDL_UIKitRunApp'.'SDL3.dll'.'SDL_UIKitRunApp' +++'_SDL_SIMDGetAlignment'.'SDL3.dll'.'SDL_SIMDGetAlignment' +++'_SDL_SIMDAlloc'.'SDL3.dll'.'SDL_SIMDAlloc' +++'_SDL_SIMDFree'.'SDL3.dll'.'SDL_SIMDFree' +++'_SDL_RWsize'.'SDL3.dll'.'SDL_RWsize' +++'_SDL_RWseek'.'SDL3.dll'.'SDL_RWseek' +++'_SDL_RWtell'.'SDL3.dll'.'SDL_RWtell' +++'_SDL_RWread'.'SDL3.dll'.'SDL_RWread' +++'_SDL_RWwrite'.'SDL3.dll'.'SDL_RWwrite' +++'_SDL_RWclose'.'SDL3.dll'.'SDL_RWclose' +++'_SDL_LoadFile'.'SDL3.dll'.'SDL_LoadFile' +++'_SDL_Metal_CreateView'.'SDL3.dll'.'SDL_Metal_CreateView' +++'_SDL_Metal_DestroyView'.'SDL3.dll'.'SDL_Metal_DestroyView' +++'_SDL_LockTextureToSurface'.'SDL3.dll'.'SDL_LockTextureToSurface' +++'_SDL_HasARMSIMD'.'SDL3.dll'.'SDL_HasARMSIMD' +++'_SDL_strtokr'.'SDL3.dll'.'SDL_strtokr' +++'_SDL_wcsstr'.'SDL3.dll'.'SDL_wcsstr' +++'_SDL_wcsncmp'.'SDL3.dll'.'SDL_wcsncmp' +++'_SDL_GameControllerTypeForIndex'.'SDL3.dll'.'SDL_GameControllerTypeForIndex' +++'_SDL_GameControllerGetType'.'SDL3.dll'.'SDL_GameControllerGetType' +++'_SDL_GameControllerFromPlayerIndex'.'SDL3.dll'.'SDL_GameControllerFromPlayerIndex' +++'_SDL_GameControllerSetPlayerIndex'.'SDL3.dll'.'SDL_GameControllerSetPlayerIndex' +++'_SDL_JoystickFromPlayerIndex'.'SDL3.dll'.'SDL_JoystickFromPlayerIndex' +++'_SDL_JoystickSetPlayerIndex'.'SDL3.dll'.'SDL_JoystickSetPlayerIndex' +++'_SDL_SetTextureScaleMode'.'SDL3.dll'.'SDL_SetTextureScaleMode' +++'_SDL_GetTextureScaleMode'.'SDL3.dll'.'SDL_GetTextureScaleMode' +++'_SDL_OnApplicationWillTerminate'.'SDL3.dll'.'SDL_OnApplicationWillTerminate' +++'_SDL_OnApplicationDidReceiveMemoryWarning'.'SDL3.dll'.'SDL_OnApplicationDidReceiveMemoryWarning' +++'_SDL_OnApplicationWillResignActive'.'SDL3.dll'.'SDL_OnApplicationWillResignActive' +++'_SDL_OnApplicationDidEnterBackground'.'SDL3.dll'.'SDL_OnApplicationDidEnterBackground' +++'_SDL_OnApplicationWillEnterForeground'.'SDL3.dll'.'SDL_OnApplicationWillEnterForeground' +++'_SDL_OnApplicationDidBecomeActive'.'SDL3.dll'.'SDL_OnApplicationDidBecomeActive' +# ++'_SDL_OnApplicationDidChangeStatusBarOrientation'.'SDL3.dll'.'SDL_OnApplicationDidChangeStatusBarOrientation' +# ++'_SDL_GetAndroidSDKVersion'.'SDL3.dll'.'SDL_GetAndroidSDKVersion' +++'_SDL_isupper'.'SDL3.dll'.'SDL_isupper' +++'_SDL_islower'.'SDL3.dll'.'SDL_islower' +++'_SDL_JoystickAttachVirtual'.'SDL3.dll'.'SDL_JoystickAttachVirtual' +++'_SDL_JoystickDetachVirtual'.'SDL3.dll'.'SDL_JoystickDetachVirtual' +++'_SDL_JoystickIsVirtual'.'SDL3.dll'.'SDL_JoystickIsVirtual' +++'_SDL_JoystickSetVirtualAxis'.'SDL3.dll'.'SDL_JoystickSetVirtualAxis' +++'_SDL_JoystickSetVirtualButton'.'SDL3.dll'.'SDL_JoystickSetVirtualButton' +++'_SDL_JoystickSetVirtualHat'.'SDL3.dll'.'SDL_JoystickSetVirtualHat' +++'_SDL_GetErrorMsg'.'SDL3.dll'.'SDL_GetErrorMsg' +++'_SDL_LockSensors'.'SDL3.dll'.'SDL_LockSensors' +++'_SDL_UnlockSensors'.'SDL3.dll'.'SDL_UnlockSensors' +++'_SDL_Metal_GetLayer'.'SDL3.dll'.'SDL_Metal_GetLayer' +++'_SDL_Metal_GetDrawableSize'.'SDL3.dll'.'SDL_Metal_GetDrawableSize' +++'_SDL_trunc'.'SDL3.dll'.'SDL_trunc' +++'_SDL_truncf'.'SDL3.dll'.'SDL_truncf' +++'_SDL_GetPreferredLocales'.'SDL3.dll'.'SDL_GetPreferredLocales' +++'_SDL_SIMDRealloc'.'SDL3.dll'.'SDL_SIMDRealloc' +# ++'_SDL_AndroidRequestPermission'.'SDL3.dll'.'SDL_AndroidRequestPermission' +++'_SDL_OpenURL'.'SDL3.dll'.'SDL_OpenURL' +++'_SDL_HasSurfaceRLE'.'SDL3.dll'.'SDL_HasSurfaceRLE' +++'_SDL_GameControllerHasLED'.'SDL3.dll'.'SDL_GameControllerHasLED' +++'_SDL_GameControllerSetLED'.'SDL3.dll'.'SDL_GameControllerSetLED' +++'_SDL_JoystickHasLED'.'SDL3.dll'.'SDL_JoystickHasLED' +++'_SDL_JoystickSetLED'.'SDL3.dll'.'SDL_JoystickSetLED' +++'_SDL_GameControllerRumbleTriggers'.'SDL3.dll'.'SDL_GameControllerRumbleTriggers' +++'_SDL_JoystickRumbleTriggers'.'SDL3.dll'.'SDL_JoystickRumbleTriggers' +++'_SDL_GameControllerHasAxis'.'SDL3.dll'.'SDL_GameControllerHasAxis' +++'_SDL_GameControllerHasButton'.'SDL3.dll'.'SDL_GameControllerHasButton' +++'_SDL_GameControllerGetNumTouchpads'.'SDL3.dll'.'SDL_GameControllerGetNumTouchpads' +++'_SDL_GameControllerGetNumTouchpadFingers'.'SDL3.dll'.'SDL_GameControllerGetNumTouchpadFingers' +++'_SDL_GameControllerGetTouchpadFinger'.'SDL3.dll'.'SDL_GameControllerGetTouchpadFinger' +++'_SDL_crc32'.'SDL3.dll'.'SDL_crc32' +++'_SDL_GameControllerGetSerial'.'SDL3.dll'.'SDL_GameControllerGetSerial' +++'_SDL_JoystickGetSerial'.'SDL3.dll'.'SDL_JoystickGetSerial' +++'_SDL_GameControllerHasSensor'.'SDL3.dll'.'SDL_GameControllerHasSensor' +++'_SDL_GameControllerSetSensorEnabled'.'SDL3.dll'.'SDL_GameControllerSetSensorEnabled' +++'_SDL_GameControllerIsSensorEnabled'.'SDL3.dll'.'SDL_GameControllerIsSensorEnabled' +++'_SDL_GameControllerGetSensorData'.'SDL3.dll'.'SDL_GameControllerGetSensorData' +++'_SDL_wcscasecmp'.'SDL3.dll'.'SDL_wcscasecmp' +++'_SDL_wcsncasecmp'.'SDL3.dll'.'SDL_wcsncasecmp' +++'_SDL_round'.'SDL3.dll'.'SDL_round' +++'_SDL_roundf'.'SDL3.dll'.'SDL_roundf' +++'_SDL_lround'.'SDL3.dll'.'SDL_lround' +++'_SDL_lroundf'.'SDL3.dll'.'SDL_lroundf' +++'_SDL_SoftStretchLinear'.'SDL3.dll'.'SDL_SoftStretchLinear' +++'_SDL_RenderGetD3D11Device'.'SDL3.dll'.'SDL_RenderGetD3D11Device' +++'_SDL_UpdateNVTexture'.'SDL3.dll'.'SDL_UpdateNVTexture' +++'_SDL_SetWindowKeyboardGrab'.'SDL3.dll'.'SDL_SetWindowKeyboardGrab' +++'_SDL_SetWindowMouseGrab'.'SDL3.dll'.'SDL_SetWindowMouseGrab' +++'_SDL_GetWindowKeyboardGrab'.'SDL3.dll'.'SDL_GetWindowKeyboardGrab' +++'_SDL_GetWindowMouseGrab'.'SDL3.dll'.'SDL_GetWindowMouseGrab' +++'_SDL_isalpha'.'SDL3.dll'.'SDL_isalpha' +++'_SDL_isalnum'.'SDL3.dll'.'SDL_isalnum' +++'_SDL_isblank'.'SDL3.dll'.'SDL_isblank' +++'_SDL_iscntrl'.'SDL3.dll'.'SDL_iscntrl' +++'_SDL_isxdigit'.'SDL3.dll'.'SDL_isxdigit' +++'_SDL_ispunct'.'SDL3.dll'.'SDL_ispunct' +++'_SDL_isprint'.'SDL3.dll'.'SDL_isprint' +++'_SDL_isgraph'.'SDL3.dll'.'SDL_isgraph' +# ++'_SDL_AndroidShowToast'.'SDL3.dll'.'SDL_AndroidShowToast' +++'_SDL_GetAudioDeviceSpec'.'SDL3.dll'.'SDL_GetAudioDeviceSpec' +++'_SDL_TLSCleanup'.'SDL3.dll'.'SDL_TLSCleanup' +++'_SDL_SetWindowAlwaysOnTop'.'SDL3.dll'.'SDL_SetWindowAlwaysOnTop' +++'_SDL_FlashWindow'.'SDL3.dll'.'SDL_FlashWindow' +++'_SDL_GameControllerSendEffect'.'SDL3.dll'.'SDL_GameControllerSendEffect' +++'_SDL_JoystickSendEffect'.'SDL3.dll'.'SDL_JoystickSendEffect' +++'_SDL_GameControllerGetSensorDataRate'.'SDL3.dll'.'SDL_GameControllerGetSensorDataRate' +++'_SDL_SetTextureUserData'.'SDL3.dll'.'SDL_SetTextureUserData' +++'_SDL_GetTextureUserData'.'SDL3.dll'.'SDL_GetTextureUserData' +++'_SDL_RenderGeometry'.'SDL3.dll'.'SDL_RenderGeometry' +++'_SDL_RenderGeometryRaw'.'SDL3.dll'.'SDL_RenderGeometryRaw' +++'_SDL_RenderSetVSync'.'SDL3.dll'.'SDL_RenderSetVSync' +++'_SDL_asprintf'.'SDL3.dll'.'SDL_asprintf' +++'_SDL_vasprintf'.'SDL3.dll'.'SDL_vasprintf' +++'_SDL_GetWindowICCProfile'.'SDL3.dll'.'SDL_GetWindowICCProfile' +++'_SDL_GetTicks64'.'SDL3.dll'.'SDL_GetTicks64' +# ++'_SDL_LinuxSetThreadPriorityAndPolicy'.'SDL3.dll'.'SDL_LinuxSetThreadPriorityAndPolicy' +++'_SDL_GameControllerGetAppleSFSymbolsNameForButton'.'SDL3.dll'.'SDL_GameControllerGetAppleSFSymbolsNameForButton' +++'_SDL_GameControllerGetAppleSFSymbolsNameForAxis'.'SDL3.dll'.'SDL_GameControllerGetAppleSFSymbolsNameForAxis' +++'_SDL_hid_init'.'SDL3.dll'.'SDL_hid_init' +++'_SDL_hid_exit'.'SDL3.dll'.'SDL_hid_exit' +++'_SDL_hid_device_change_count'.'SDL3.dll'.'SDL_hid_device_change_count' +++'_SDL_hid_enumerate'.'SDL3.dll'.'SDL_hid_enumerate' +++'_SDL_hid_free_enumeration'.'SDL3.dll'.'SDL_hid_free_enumeration' +++'_SDL_hid_open'.'SDL3.dll'.'SDL_hid_open' +++'_SDL_hid_open_path'.'SDL3.dll'.'SDL_hid_open_path' +++'_SDL_hid_write'.'SDL3.dll'.'SDL_hid_write' +++'_SDL_hid_read_timeout'.'SDL3.dll'.'SDL_hid_read_timeout' +++'_SDL_hid_read'.'SDL3.dll'.'SDL_hid_read' +++'_SDL_hid_set_nonblocking'.'SDL3.dll'.'SDL_hid_set_nonblocking' +++'_SDL_hid_send_feature_report'.'SDL3.dll'.'SDL_hid_send_feature_report' +++'_SDL_hid_get_feature_report'.'SDL3.dll'.'SDL_hid_get_feature_report' +++'_SDL_hid_close'.'SDL3.dll'.'SDL_hid_close' +++'_SDL_hid_get_manufacturer_string'.'SDL3.dll'.'SDL_hid_get_manufacturer_string' +++'_SDL_hid_get_product_string'.'SDL3.dll'.'SDL_hid_get_product_string' +++'_SDL_hid_get_serial_number_string'.'SDL3.dll'.'SDL_hid_get_serial_number_string' +++'_SDL_hid_get_indexed_string'.'SDL3.dll'.'SDL_hid_get_indexed_string' +++'_SDL_SetWindowMouseRect'.'SDL3.dll'.'SDL_SetWindowMouseRect' +++'_SDL_GetWindowMouseRect'.'SDL3.dll'.'SDL_GetWindowMouseRect' +++'_SDL_RenderWindowToLogical'.'SDL3.dll'.'SDL_RenderWindowToLogical' +++'_SDL_RenderLogicalToWindow'.'SDL3.dll'.'SDL_RenderLogicalToWindow' +++'_SDL_JoystickHasRumble'.'SDL3.dll'.'SDL_JoystickHasRumble' +++'_SDL_JoystickHasRumbleTriggers'.'SDL3.dll'.'SDL_JoystickHasRumbleTriggers' +++'_SDL_GameControllerHasRumble'.'SDL3.dll'.'SDL_GameControllerHasRumble' +++'_SDL_GameControllerHasRumbleTriggers'.'SDL3.dll'.'SDL_GameControllerHasRumbleTriggers' +++'_SDL_hid_ble_scan'.'SDL3.dll'.'SDL_hid_ble_scan' +++'_SDL_PremultiplyAlpha'.'SDL3.dll'.'SDL_PremultiplyAlpha' +# ++'_SDL_AndroidSendMessage'.'SDL3.dll'.'SDL_AndroidSendMessage' +++'_SDL_GetTouchName'.'SDL3.dll'.'SDL_GetTouchName' +++'_SDL_ClearComposition'.'SDL3.dll'.'SDL_ClearComposition' +++'_SDL_IsTextInputShown'.'SDL3.dll'.'SDL_IsTextInputShown' +++'_SDL_HasIntersectionF'.'SDL3.dll'.'SDL_HasIntersectionF' +++'_SDL_IntersectFRect'.'SDL3.dll'.'SDL_IntersectFRect' +++'_SDL_UnionFRect'.'SDL3.dll'.'SDL_UnionFRect' +++'_SDL_EncloseFPoints'.'SDL3.dll'.'SDL_EncloseFPoints' +++'_SDL_IntersectFRectAndLine'.'SDL3.dll'.'SDL_IntersectFRectAndLine' +++'_SDL_RenderGetWindow'.'SDL3.dll'.'SDL_RenderGetWindow' +++'_SDL_bsearch'.'SDL3.dll'.'SDL_bsearch' +++'_SDL_GameControllerPathForIndex'.'SDL3.dll'.'SDL_GameControllerPathForIndex' +++'_SDL_GameControllerPath'.'SDL3.dll'.'SDL_GameControllerPath' +++'_SDL_JoystickPathForIndex'.'SDL3.dll'.'SDL_JoystickPathForIndex' +++'_SDL_JoystickPath'.'SDL3.dll'.'SDL_JoystickPath' +++'_SDL_JoystickAttachVirtualEx'.'SDL3.dll'.'SDL_JoystickAttachVirtualEx' +++'_SDL_GameControllerGetFirmwareVersion'.'SDL3.dll'.'SDL_GameControllerGetFirmwareVersion' +++'_SDL_JoystickGetFirmwareVersion'.'SDL3.dll'.'SDL_JoystickGetFirmwareVersion' +++'_SDL_GUIDToString'.'SDL3.dll'.'SDL_GUIDToString' +++'_SDL_GUIDFromString'.'SDL3.dll'.'SDL_GUIDFromString' +++'_SDL_HasLSX'.'SDL3.dll'.'SDL_HasLSX' +++'_SDL_HasLASX'.'SDL3.dll'.'SDL_HasLASX' +++'_SDL_RenderGetD3D12Device'.'SDL3.dll'.'SDL_RenderGetD3D12Device' +++'_SDL_utf8strnlen'.'SDL3.dll'.'SDL_utf8strnlen' +# ++'_SDL_GDKGetTaskQueue'.'SDL3.dll'.'SDL_GDKGetTaskQueue' +# ++'_SDL_GDKRunApp'.'SDL3.dll'.'SDL_GDKRunApp' +++'_SDL_GetOriginalMemoryFunctions'.'SDL3.dll'.'SDL_GetOriginalMemoryFunctions' +++'_SDL_ResetKeyboard'.'SDL3.dll'.'SDL_ResetKeyboard' +++'_SDL_GetDefaultAudioInfo'.'SDL3.dll'.'SDL_GetDefaultAudioInfo' +++'_SDL_GetPointDisplayIndex'.'SDL3.dll'.'SDL_GetPointDisplayIndex' +++'_SDL_GetRectDisplayIndex'.'SDL3.dll'.'SDL_GetRectDisplayIndex' +++'_SDL_ResetHint'.'SDL3.dll'.'SDL_ResetHint' +++'_SDL_crc16'.'SDL3.dll'.'SDL_crc16' +++'_SDL_GetWindowSizeInPixels'.'SDL3.dll'.'SDL_GetWindowSizeInPixels' +++'_SDL_GetJoystickGUIDInfo'.'SDL3.dll'.'SDL_GetJoystickGUIDInfo' +++'_SDL_SetPrimarySelectionText'.'SDL3.dll'.'SDL_SetPrimarySelectionText' +++'_SDL_GetPrimarySelectionText'.'SDL3.dll'.'SDL_GetPrimarySelectionText' +++'_SDL_HasPrimarySelectionText'.'SDL3.dll'.'SDL_HasPrimarySelectionText' +++'_SDL_GameControllerGetSensorDataWithTimestamp'.'SDL3.dll'.'SDL_GameControllerGetSensorDataWithTimestamp' +++'_SDL_SensorGetDataWithTimestamp'.'SDL3.dll'.'SDL_SensorGetDataWithTimestamp' +++'_SDL_ResetHints'.'SDL3.dll'.'SDL_ResetHints' +++'_SDL_strcasestr'.'SDL3.dll'.'SDL_strcasestr' diff --git a/src/dynapi/SDL_dynapi.c b/src/dynapi/SDL_dynapi.c index 9a7e4c994..033c4a75d 100644 --- a/src/dynapi/SDL_dynapi.c +++ b/src/dynapi/SDL_dynapi.c @@ -195,7 +195,7 @@ SDL_DYNAPI_VARARGS(,,) static int SDLCALL SDL_SetError_LOGSDLCALLS(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) { char buf[512]; /* !!! FIXME: dynamic allocation */ \ va_list ap; - SDL_Log_REAL("SDL2CALL SDL_SetError"); + SDL_Log_REAL("SDL3CALL SDL_SetError"); va_start(ap, fmt); SDL_vsnprintf_REAL(buf, sizeof (buf), fmt, ap); va_end(ap); @@ -204,7 +204,7 @@ static int SDLCALL SDL_SetError_LOGSDLCALLS(SDL_PRINTF_FORMAT_STRING const char static int SDLCALL SDL_sscanf_LOGSDLCALLS(const char *buf, SDL_SCANF_FORMAT_STRING const char *fmt, ...) { int retval; va_list ap; - SDL_Log_REAL("SDL2CALL SDL_sscanf"); + SDL_Log_REAL("SDL3CALL SDL_sscanf"); va_start(ap, fmt); retval = SDL_vsscanf_REAL(buf, fmt, ap); va_end(ap); @@ -213,7 +213,7 @@ static int SDLCALL SDL_sscanf_LOGSDLCALLS(const char *buf, SDL_SCANF_FORMAT_STRI static int SDLCALL SDL_snprintf_LOGSDLCALLS(SDL_OUT_Z_CAP(maxlen) char *buf, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) { int retval; va_list ap; - SDL_Log_REAL("SDL2CALL SDL_snprintf"); + SDL_Log_REAL("SDL3CALL SDL_snprintf"); va_start(ap, fmt); retval = SDL_vsnprintf_REAL(buf, maxlen, fmt, ap); va_end(ap); @@ -222,7 +222,7 @@ static int SDLCALL SDL_snprintf_LOGSDLCALLS(SDL_OUT_Z_CAP(maxlen) char *buf, siz static int SDLCALL SDL_asprintf_LOGSDLCALLS(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) { int retval; va_list ap; - SDL_Log_REAL("SDL2CALL SDL_asprintf"); + SDL_Log_REAL("SDL3CALL SDL_asprintf"); va_start(ap, fmt); retval = SDL_vasprintf_REAL(strp, fmt, ap); va_end(ap); @@ -230,14 +230,14 @@ static int SDLCALL SDL_asprintf_LOGSDLCALLS(char **strp, SDL_PRINTF_FORMAT_STRIN } static void SDLCALL SDL_Log_LOGSDLCALLS(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) { va_list ap; - SDL_Log_REAL("SDL2CALL SDL_Log"); + SDL_Log_REAL("SDL3CALL SDL_Log"); va_start(ap, fmt); SDL_LogMessageV_REAL(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO, fmt, ap); \ va_end(ap); } static void SDLCALL SDL_LogMessage_LOGSDLCALLS(int category, SDL_LogPriority priority, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) { va_list ap; - SDL_Log_REAL("SDL2CALL SDL_LogMessage"); + SDL_Log_REAL("SDL3CALL SDL_LogMessage"); va_start(ap, fmt); SDL_LogMessageV_REAL(category, priority, fmt, ap); va_end(ap); @@ -245,7 +245,7 @@ static void SDLCALL SDL_LogMessage_LOGSDLCALLS(int category, SDL_LogPriority pri #define SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(logname, prio) \ static void SDLCALL SDL_Log##logname##_LOGSDLCALLS(int category, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) { \ va_list ap; va_start(ap, fmt); \ - SDL_Log_REAL("SDL2CALL SDL_Log%s", #logname); \ + SDL_Log_REAL("SDL3CALL SDL_Log%s", #logname); \ SDL_LogMessageV_REAL(category, SDL_LOG_PRIORITY_##prio, fmt, ap); \ va_end(ap); \ } @@ -256,7 +256,7 @@ SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Warn, WARN) SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Error, ERROR) SDL_DYNAPI_VARARGS_LOGFN_LOGSDLCALLS(Critical, CRITICAL) #define SDL_DYNAPI_PROC(rc,fn,params,args,ret) \ - rc SDLCALL fn##_LOGSDLCALLS params { SDL_Log_REAL("SDL2CALL %s", #fn); ret fn##_REAL args; } + rc SDLCALL fn##_LOGSDLCALLS params { SDL_Log_REAL("SDL3CALL %s", #fn); ret fn##_REAL args; } #define SDL_DYNAPI_PROC_NO_VARARGS 1 #include "SDL_dynapi_procs.h" #undef SDL_DYNAPI_PROC diff --git a/src/dynapi/gendynapi.pl b/src/dynapi/gendynapi.pl index a9ff9723b..6c19a8f7d 100755 --- a/src/dynapi/gendynapi.pl +++ b/src/dynapi/gendynapi.pl @@ -33,7 +33,7 @@ use File::Basename; chdir(dirname(__FILE__) . '/../..'); my $sdl_dynapi_procs_h = "src/dynapi/SDL_dynapi_procs.h"; my $sdl_dynapi_overrides_h = "src/dynapi/SDL_dynapi_overrides.h"; -my $sdl2_exports = "src/dynapi/SDL2.exports"; +my $sdl3_exports = "src/dynapi/SDL3.exports"; my %existing = (); if (-f $sdl_dynapi_procs_h) { @@ -48,7 +48,7 @@ if (-f $sdl_dynapi_procs_h) { open(SDL_DYNAPI_PROCS_H, '>>', $sdl_dynapi_procs_h) or die("Can't open $sdl_dynapi_procs_h: $!\n"); open(SDL_DYNAPI_OVERRIDES_H, '>>', $sdl_dynapi_overrides_h) or die("Can't open $sdl_dynapi_overrides_h: $!\n"); -open(SDL2_EXPORTS, '>>', $sdl2_exports) or die("Can't open $sdl2_exports: $!\n"); +open(SDL3_EXPORTS, '>>', $sdl3_exports) or die("Can't open $sdl3_exports: $!\n"); opendir(HEADERS, 'include') or die("Can't open include dir: $!\n"); while (my $d = readdir(HEADERS)) { @@ -135,7 +135,7 @@ while (my $d = readdir(HEADERS)) { print("NEW: $decl\n"); print SDL_DYNAPI_PROCS_H "SDL_DYNAPI_PROC($rc,$fn,$paramstr,$argstr,$retstr)\n"; print SDL_DYNAPI_OVERRIDES_H "#define $fn ${fn}_REAL\n"; - print SDL2_EXPORTS "++'_${fn}'.'SDL2.dll'.'${fn}'\n"; + print SDL3_EXPORTS "++'_${fn}'.'SDL3.dll'.'${fn}'\n"; } else { print("Failed to parse decl [$decl]!\n"); } @@ -146,6 +146,6 @@ closedir(HEADERS); close(SDL_DYNAPI_PROCS_H); close(SDL_DYNAPI_OVERRIDES_H); -close(SDL2_EXPORTS); +close(SDL3_EXPORTS); # vi: set ts=4 sw=4 expandtab: diff --git a/src/main/windows/version.rc b/src/main/windows/version.rc index fb2c26890..4a3b139b3 100644 --- a/src/main/windows/version.rc +++ b/src/main/windows/version.rc @@ -9,8 +9,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US // VS_VERSION_INFO VERSIONINFO - FILEVERSION 2,26,0,0 - PRODUCTVERSION 2,26,0,0 + FILEVERSION 3,0,0,0 + PRODUCTVERSION 3,0,0,0 FILEFLAGSMASK 0x3fL FILEFLAGS 0x0L FILEOS 0x40004L @@ -23,12 +23,12 @@ BEGIN BEGIN VALUE "CompanyName", "\0" VALUE "FileDescription", "SDL\0" - VALUE "FileVersion", "2, 26, 0, 0\0" + VALUE "FileVersion", "3, 0, 0, 0\0" VALUE "InternalName", "SDL\0" VALUE "LegalCopyright", "Copyright (C) 2022 Sam Lantinga\0" - VALUE "OriginalFilename", "SDL2.dll\0" + VALUE "OriginalFilename", "SDL3.dll\0" VALUE "ProductName", "Simple DirectMedia Layer\0" - VALUE "ProductVersion", "2, 26, 0, 0\0" + VALUE "ProductVersion", "3, 0, 0, 0\0" END END BLOCK "VarFileInfo" diff --git a/src/main/winrt/SDL2-WinRTResource_BlankCursor.cur b/src/main/winrt/SDL3-WinRTResource_BlankCursor.cur similarity index 100% rename from src/main/winrt/SDL2-WinRTResource_BlankCursor.cur rename to src/main/winrt/SDL3-WinRTResource_BlankCursor.cur diff --git a/src/main/winrt/SDL2-WinRTResources.rc b/src/main/winrt/SDL3-WinRTResources.rc similarity index 54% rename from src/main/winrt/SDL2-WinRTResources.rc rename to src/main/winrt/SDL3-WinRTResources.rc index ce8549f2d..457fd093b 100644 --- a/src/main/winrt/SDL2-WinRTResources.rc +++ b/src/main/winrt/SDL3-WinRTResources.rc @@ -1,3 +1,3 @@ #include "winres.h" LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -5000 CURSOR "SDL2-WinRTResource_BlankCursor.cur" +5000 CURSOR "SDL3-WinRTResource_BlankCursor.cur" diff --git a/src/stdlib/SDL_mslibc.c b/src/stdlib/SDL_mslibc.c index 8f92463b1..00418e332 100644 --- a/src/stdlib/SDL_mslibc.c +++ b/src/stdlib/SDL_mslibc.c @@ -39,7 +39,7 @@ __declspec(selectany) int _fltused = 1; #endif /* The optimizer on Visual Studio 2005 and later generates memcpy() and memset() calls. - Always provide it for the SDL2 DLL, but skip it when building static lib w/ static runtime. */ + Always provide it for the SDL3 DLL, but skip it when building static lib w/ static runtime. */ #if (_MSC_VER >= 1400) && (!defined(_MT) || defined(DLL_EXPORT)) extern void *memcpy(void* dst, const void* src, size_t len); #pragma intrinsic(memcpy) diff --git a/src/video/emscripten/SDL_emscriptenframebuffer.c b/src/video/emscripten/SDL_emscriptenframebuffer.c index 03fea04ef..edc523a46 100644 --- a/src/video/emscripten/SDL_emscriptenframebuffer.c +++ b/src/video/emscripten/SDL_emscriptenframebuffer.c @@ -76,19 +76,19 @@ int Emscripten_UpdateWindowFramebuffer(_THIS, SDL_Window * window, const SDL_Rec var h = $1; var pixels = $2; - if (!Module['SDL2']) Module['SDL2'] = {}; - var SDL2 = Module['SDL2']; - if (SDL2.ctxCanvas !== Module['canvas']) { - SDL2.ctx = Module['createContext'](Module['canvas'], false, true); - SDL2.ctxCanvas = Module['canvas']; + if (!Module['SDL3']) Module['SDL3'] = {}; + var SDL3 = Module['SDL3']; + if (SDL3.ctxCanvas !== Module['canvas']) { + SDL3.ctx = Module['createContext'](Module['canvas'], false, true); + SDL3.ctxCanvas = Module['canvas']; } - if (SDL2.w !== w || SDL2.h !== h || SDL2.imageCtx !== SDL2.ctx) { - SDL2.image = SDL2.ctx.createImageData(w, h); - SDL2.w = w; - SDL2.h = h; - SDL2.imageCtx = SDL2.ctx; + if (SDL3.w !== w || SDL3.h !== h || SDL3.imageCtx !== SDL3.ctx) { + SDL3.image = SDL3.ctx.createImageData(w, h); + SDL3.w = w; + SDL3.h = h; + SDL3.imageCtx = SDL3.ctx; } - var data = SDL2.image.data; + var data = SDL3.image.data; var src = pixels >> 2; var dst = 0; var num; @@ -108,12 +108,12 @@ int Emscripten_UpdateWindowFramebuffer(_THIS, SDL_Window * window, const SDL_Rec dst += 4; } } else { - if (SDL2.data32Data !== data) { - SDL2.data32 = new Int32Array(data.buffer); - SDL2.data8 = new Uint8Array(data.buffer); - SDL2.data32Data = data; + if (SDL3.data32Data !== data) { + SDL3.data32 = new Int32Array(data.buffer); + SDL3.data8 = new Uint8Array(data.buffer); + SDL3.data32Data = data; } - var data32 = SDL2.data32; + var data32 = SDL3.data32; num = data32.length; // logically we need to do // while (dst < num) { @@ -124,7 +124,7 @@ int Emscripten_UpdateWindowFramebuffer(_THIS, SDL_Window * window, const SDL_Rec // native SDL_memcpy efficiencies, and the remaining loop // just stores, not load + store, so it is faster data32.set(HEAP32.subarray(src, src + num)); - var data8 = SDL2.data8; + var data8 = SDL3.data8; var i = 3; var j = i + 4*num; if (num % 8 == 0) { @@ -155,7 +155,7 @@ int Emscripten_UpdateWindowFramebuffer(_THIS, SDL_Window * window, const SDL_Rec } } - SDL2.ctx.putImageData(SDL2.image, 0, 0); + SDL3.ctx.putImageData(SDL3.image, 0, 0); }, surface->w, surface->h, surface->pixels); if (emscripten_has_asyncify() && SDL_GetHintBoolean(SDL_HINT_EMSCRIPTEN_ASYNCIFY, SDL_TRUE)) { diff --git a/src/video/haiku/SDL_bmessagebox.cc b/src/video/haiku/SDL_bmessagebox.cc index d777ed834..22b453cbb 100644 --- a/src/video/haiku/SDL_bmessagebox.cc +++ b/src/video/haiku/SDL_bmessagebox.cc @@ -309,7 +309,7 @@ public: fComputedMessageBoxWidth(0.0f), fCloseButton(G_CLOSE_BUTTON_ID), fDefaultButton(G_DEFAULT_BUTTON_ID), fCustomColorScheme(false), fThereIsLongLine(false), - HAIKU_SDL_DefTitle("SDL2 MessageBox"), + HAIKU_SDL_DefTitle("SDL MessageBox"), HAIKU_SDL_DefMessage("Some information has been lost."), HAIKU_SDL_DefButton("OK") { diff --git a/src/video/kmsdrm/SDL_kmsdrmopengles.c b/src/video/kmsdrm/SDL_kmsdrmopengles.c index 253e34ecd..0580e0ec5 100644 --- a/src/video/kmsdrm/SDL_kmsdrmopengles.c +++ b/src/video/kmsdrm/SDL_kmsdrmopengles.c @@ -186,7 +186,7 @@ KMSDRM_GLES_SwapWindow(_THIS, SDL_Window * window) { we have waited here, there won't be a pending pageflip so the WaitPageflip at the beginning of this function will be a no-op. Just leave it here and don't worry. - Run your SDL2 program with "SDL_KMSDRM_DOUBLE_BUFFER=1 " + Run your SDL program with "SDL_KMSDRM_DOUBLE_BUFFER=1 " to enable this. */ if (windata->double_buffer) { if (!KMSDRM_WaitPageflip(_this, windata)) { diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c index 6c05bbd9b..e76c67efc 100644 --- a/src/video/kmsdrm/SDL_kmsdrmvideo.c +++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c @@ -1435,7 +1435,7 @@ KMSDRM_CreateWindow(_THIS, SDL_Window * window) if (!(viddata->gbm_init)) { - /* After SDL_CreateWindow, most SDL2 programs will do SDL_CreateRenderer(), + /* After SDL_CreateWindow, most SDL programs will do SDL_CreateRenderer(), which will in turn call GL_CreateRenderer() or GLES2_CreateRenderer(). In order for the GL_CreateRenderer() or GLES2_CreateRenderer() call to succeed without an unnecessary window re-creation, we must: diff --git a/src/video/os2/SDL_os2video.c b/src/video/os2/SDL_os2video.c index 599384edf..f0147dc08 100644 --- a/src/video/os2/SDL_os2video.c +++ b/src/video/os2/SDL_os2video.c @@ -40,7 +40,7 @@ #define FOURCC_R666 mmioFOURCC('R','6','6','6') #endif -#define WIN_CLIENT_CLASS "SDL2" +#define WIN_CLIENT_CLASS "SDL3" #define OS2DRIVER_NAME_DIVE "DIVE" #define OS2DRIVER_NAME_VMAN "VMAN" @@ -760,7 +760,7 @@ static int OS2_CreateWindow(_THIS, SDL_Window *window) ulSWPFlags |= SWP_MINIMIZE; hwndFrame = WinCreateStdWindow(HWND_DESKTOP, 0, &ulFrameFlags, - WIN_CLIENT_CLASS, "SDL2", 0, 0, 0, &hwnd); + WIN_CLIENT_CLASS, "SDL3", 0, 0, 0, &hwnd); if (hwndFrame == NULLHANDLE) return SDL_SetError("Couldn't create window"); diff --git a/src/video/raspberry/SDL_rpiopengles.c b/src/video/raspberry/SDL_rpiopengles.c index 7b62b3e43..fe7d52175 100644 --- a/src/video/raspberry/SDL_rpiopengles.c +++ b/src/video/raspberry/SDL_rpiopengles.c @@ -52,7 +52,7 @@ RPI_GLES_SwapWindow(_THIS, SDL_Window * window) { } /* Wait immediately for vsync (as if we only had two buffers), for low input-lag scenarios. - * Run your SDL2 program with "SDL_RPI_DOUBLE_BUFFER=1 " to enable this. */ + * Run your SDL program with "SDL_RPI_DOUBLE_BUFFER=1 " to enable this. */ if (wdata->double_buffer) { SDL_LockMutex(wdata->vsync_cond_mutex); SDL_CondWait(wdata->vsync_cond, wdata->vsync_cond_mutex); diff --git a/src/video/windows/SDL_windowswindow.c b/src/video/windows/SDL_windowswindow.c index d260f15c6..600f92af2 100644 --- a/src/video/windows/SDL_windowswindow.c +++ b/src/video/windows/SDL_windowswindow.c @@ -37,6 +37,7 @@ #include "SDL_windowsshape.h" #include "SDL_hints.h" #include "SDL_timer.h" +#include "SDL_version.h" /* Dropfile support */ #include @@ -773,7 +774,7 @@ WIN_GetWindowBordersSize(_THIS, SDL_Window * window, int *top, int *left, int *b /* Now that both the inner and outer rects use the same coordinate system we can substract them to get the border size. * Keep in mind that the top/left coordinates of rcWindow are negative because the border lies slightly before {0,0}, - * so switch them around because SDL2 wants them in positive. */ + * so switch them around because SDL3 wants them in positive. */ *top = rcClient.top - rcWindow.top; *left = rcClient.left - rcWindow.left; *bottom = rcWindow.bottom - rcClient.bottom; diff --git a/src/video/winrt/SDL_winrtmouse.cpp b/src/video/winrt/SDL_winrtmouse.cpp index 8c32e5fcf..24e44682e 100644 --- a/src/video/winrt/SDL_winrtmouse.cpp +++ b/src/video/winrt/SDL_winrtmouse.cpp @@ -160,8 +160,8 @@ WINRT_ShowCursor(SDL_Cursor * cursor) // Tech notes: // - SDL's blank cursor resource uses a resource ID of 5000. // - SDL's cursor resources consist of the following two files: - // - src/main/winrt/SDL2-WinRTResource_BlankCursor.cur -- cursor pixel data - // - src/main/winrt/SDL2-WinRTResources.rc -- declares the cursor resource, and its ID (of 5000) + // - src/main/winrt/SDL3-WinRTResource_BlankCursor.cur -- cursor pixel data + // - src/main/winrt/SDL3-WinRTResources.rc -- declares the cursor resource, and its ID (of 5000) // const unsigned int win32CursorResourceID = 5000; diff --git a/src/video/x11/SDL_x11video.c b/src/video/x11/SDL_x11video.c index 49f5c5b9b..59f2cf545 100644 --- a/src/video/x11/SDL_x11video.c +++ b/src/video/x11/SDL_x11video.c @@ -473,7 +473,7 @@ X11_VideoInit(_THIS) #endif /* SDL_VIDEO_DRIVER_X11_XFIXES */ #ifndef X_HAVE_UTF8_STRING -#warning X server does not support UTF8_STRING, a feature introduced in 2000! This is likely to become a hard error in a future libSDL2. +#warning X server does not support UTF8_STRING, a feature introduced in 2000! This is likely to become a hard error in a future libSDL3. #endif if (X11_InitKeyboard(_this) != 0) { diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 676a8e791..8afa14f47 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0) -project(SDL2_test) +project(SDL3_test) include(CheckCCompilerFlag) include(CMakeParseArguments) @@ -22,8 +22,8 @@ macro(add_sdl_test_executable TARGET) endif() endmacro() -if(NOT TARGET SDL2::SDL2-static) - find_package(SDL2 2.0.23 REQUIRED COMPONENTS SDL2-static SDL2test) +if(NOT TARGET SDL3::SDL3-static) + find_package(SDL3 3.0.0 REQUIRED COMPONENTS SDL3-static SDL3test) endif() enable_testing() @@ -33,14 +33,14 @@ if(SDL_INSTALL_TESTS) endif() if(N3DS) - link_libraries(SDL2::SDL2main) + link_libraries(SDL3::SDL3main) endif() if(PSP) link_libraries( - SDL2::SDL2main - SDL2::SDL2test - SDL2::SDL2-static + SDL3::SDL3main + SDL3::SDL3test + SDL3::SDL3-static GL pspvram pspvfpu @@ -54,20 +54,20 @@ if(PSP) ) elseif(PS2) link_libraries( - SDL2main - SDL2_test - SDL2-static + SDL3main + SDL3_test + SDL3-static patches gskit dmakit ps2_drivers ) else() - link_libraries(SDL2::SDL2test SDL2::SDL2-static) + link_libraries(SDL3::SDL3test SDL3::SDL3-static) endif() if(WINDOWS) - # mingw32 must come before SDL2main to link successfully + # mingw32 must come before SDL3main to link successfully if(MINGW OR CYGWIN) link_libraries(mingw32) endif() @@ -79,7 +79,7 @@ if(WINDOWS) # FIXME: Parent directory CMakeLists.txt only sets these for mingw/cygwin, # but we need them for VS as well. - link_libraries(SDL2main) + link_libraries(SDL3main) add_definitions(-Dmain=SDL_main) endif() @@ -331,8 +331,8 @@ if(N3DS) set(SMDH_FILE "${TARGET_BINARY_DIR}/${APP}.smdh") ctr_generate_smdh("${SMDH_FILE}" NAME "SDL-${APP}" - DESCRIPTION "SDL2 Test suite" - AUTHOR "SDL2 Contributors" + DESCRIPTION "SDL3 Test suite" + AUTHOR "SDL3 Contributors" ICON "${CMAKE_CURRENT_SOURCE_DIR}/n3ds/logo48x48.png" ) ctr_create_3dsx( @@ -412,11 +412,11 @@ foreach(TESTCASE ${SDL_TESTS_NONINTERACTIVE}) ) if(SDL_INSTALL_TESTS) set(exe ${TESTCASE}) - set(installedtestsdir "${CMAKE_INSTALL_FULL_LIBEXECDIR}/installed-tests/SDL2") + set(installedtestsdir "${CMAKE_INSTALL_FULL_LIBEXECDIR}/installed-tests/SDL3") configure_file(template.test.in "${exe}.test" @ONLY) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/${exe}.test" - DESTINATION ${CMAKE_INSTALL_DATADIR}/installed-tests/SDL2 + DESTINATION ${CMAKE_INSTALL_DATADIR}/installed-tests/SDL3 ) endif() endforeach() @@ -428,16 +428,16 @@ if(SDL_INSTALL_TESTS) if(RISCOS) install( FILES ${SDL_TEST_EXECUTABLES_AIF} - DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL2 + DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL3 ) else() install( TARGETS ${SDL_TEST_EXECUTABLES} - DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL2 + DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL3 ) endif() install( FILES ${RESOURCE_FILES} - DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL2 + DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/installed-tests/SDL3 ) endif() diff --git a/test/Makefile.in b/test/Makefile.in index 93df6360e..0927871e7 100644 --- a/test/Makefile.in +++ b/test/Makefile.in @@ -90,8 +90,8 @@ TARGETS = \ all: Makefile $(TARGETS) copydatafiles generatetestmeta -installedtestsdir = $(libexecdir)/installed-tests/SDL2 -installedtestsmetadir = $(datadir)/installed-tests/SDL2 +installedtestsdir = $(libexecdir)/installed-tests/SDL3 +installedtestsmetadir = $(datadir)/installed-tests/SDL3 generatetestmeta: rm -f *.test diff --git a/test/Makefile.os2 b/test/Makefile.os2 index ee66409b0..3f6daf859 100644 --- a/test/Makefile.os2 +++ b/test/Makefile.os2 @@ -1,4 +1,4 @@ -# Open Watcom makefile to build SDL2 tests for OS/2 +# Open Watcom makefile to build SDL3 tests for OS/2 # wmake -f Makefile.os2 # # To error out upon warnings: wmake -f Makefile.os2 ENABLE_WERROR=1 diff --git a/test/Makefile.w32 b/test/Makefile.w32 index 02e68e865..55ad493f4 100644 --- a/test/Makefile.w32 +++ b/test/Makefile.w32 @@ -1,4 +1,4 @@ -# Open Watcom makefile to build SDL2 tests for Win32 +# Open Watcom makefile to build SDL3 tests for Win32 # wmake -f Makefile.w32 # # To error out upon warnings: wmake -f Makefile.w32 ENABLE_WERROR=1 diff --git a/test/acinclude.m4 b/test/acinclude.m4 index 0fdf353ea..3dd4058ea 100644 --- a/test/acinclude.m4 +++ b/test/acinclude.m4 @@ -7,12 +7,12 @@ # serial 2 -dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl AM_PATH_SDL3([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS dnl -AC_DEFUN([AM_PATH_SDL2], +AC_DEFUN([AM_PATH_SDL3], [dnl -dnl Get the cflags and libraries from the sdl2-config script +dnl Get the cflags and libraries from the sdl3-config script dnl AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], sdl_prefix="$withval", sdl_prefix="") @@ -21,52 +21,52 @@ AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], , enable_sdltest=yes) - min_sdl_version=ifelse([$1], ,2.0.0,$1) + min_sdl_version=ifelse([$1], ,3.0.0,$1) if test "x$sdl_prefix$sdl_exec_prefix" = x ; then - PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], + PKG_CHECK_MODULES([SDL], [sdl3 >= $min_sdl_version], [sdl_pc=yes], [sdl_pc=no]) else sdl_pc=no if test x$sdl_exec_prefix != x ; then sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_exec_prefix/bin/sdl3-config fi fi if test x$sdl_prefix != x ; then sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_prefix/bin/sdl3-config fi fi fi if test "x$sdl_pc" = xyes ; then no_sdl="" - SDL2_CONFIG="pkg-config sdl2" + SDL3_CONFIG="pkg-config sdl3" else as_save_PATH="$PATH" if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi - AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH]) + AC_PATH_PROG(SDL3_CONFIG, sdl3-config, no, [$PATH]) PATH="$as_save_PATH" AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) no_sdl="" - if test "$SDL2_CONFIG" = "no" ; then + if test "$SDL3_CONFIG" = "no" ; then no_sdl=yes else - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` + SDL_CFLAGS=`$SDL3_CONFIG $sdl_config_args --cflags` + SDL_LIBS=`$SDL3_CONFIG $sdl_config_args --libs` - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_major_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_minor_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_micro_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" @@ -77,7 +77,7 @@ AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run LIBS="$LIBS $SDL_LIBS" dnl dnl Now check if the installed SDL is sufficiently new. (Also sanity -dnl checks the results of sdl2-config to some extent +dnl checks the results of sdl3-config to some extent dnl rm -f conf.sdltest AC_RUN_IFELSE([AC_LANG_SOURCE([[ @@ -105,11 +105,11 @@ int main (int argc, char *argv[]) } else { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); + printf("\n*** 'sdl3-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl3-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); + printf("*** If sdl3-config was wrong, set the environment variable SDL3_CONFIG\n"); + printf("*** to point to the correct copy of sdl3-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } @@ -130,11 +130,11 @@ int main (int argc, char *argv[]) if test "x$no_sdl" = x ; then ifelse([$2], , :, [$2]) else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" + if test "$SDL3_CONFIG" = "no" ; then + echo "*** The sdl3-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." + echo "*** your path, or set the SDL3_CONFIG environment variable to the" + echo "*** full path to sdl3-config." else if test -f conf.sdltest ; then : @@ -164,7 +164,7 @@ int main(int argc, char *argv[]) [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ]) + echo "*** may want to edit the sdl3-config script: $SDL3_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" diff --git a/test/configure b/test/configure index c71abe489..f524bd4d3 100755 --- a/test/configure +++ b/test/configure @@ -627,7 +627,7 @@ OPENGLES2_TARGETS OPENGLES1_TARGETS CPP XMKMF -SDL2_CONFIG +SDL3_CONFIG SDL_LIBS SDL_CFLAGS PKG_CONFIG_LIBDIR @@ -3719,7 +3719,7 @@ esac -SDL_VERSION=2.0.18 +SDL_VERSION=3.0.0 @@ -3881,19 +3881,19 @@ fi if test "x$sdl_prefix$sdl_exec_prefix" = x ; then pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sdl2 >= $min_sdl_version" >&5 -printf %s "checking for sdl2 >= $min_sdl_version... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sdl3 >= $min_sdl_version" >&5 +printf %s "checking for sdl3 >= $min_sdl_version... " >&6; } if test -n "$SDL_CFLAGS"; then pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl_version\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl_version") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl3 >= \$min_sdl_version\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sdl3 >= $min_sdl_version") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl2 >= $min_sdl_version" 2>/dev/null` + pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl3 >= $min_sdl_version" 2>/dev/null` else pkg_failed=yes fi @@ -3904,12 +3904,12 @@ if test -n "$SDL_LIBS"; then pkg_cv_SDL_LIBS="$SDL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl_version\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl_version") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl3 >= \$min_sdl_version\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sdl3 >= $min_sdl_version") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl2 >= $min_sdl_version" 2>/dev/null` + pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl3 >= $min_sdl_version" 2>/dev/null` else pkg_failed=yes fi @@ -3929,9 +3929,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl2 >= $min_sdl_version" 2>&1` + SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl3 >= $min_sdl_version" 2>&1` else - SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl2 >= $min_sdl_version" 2>&1` + SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl3 >= $min_sdl_version" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SDL_PKG_ERRORS" >&5 @@ -3952,37 +3952,37 @@ fi sdl_pc=no if test x$sdl_exec_prefix != x ; then sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_exec_prefix/bin/sdl3-config fi fi if test x$sdl_prefix != x ; then sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_prefix/bin/sdl3-config fi fi fi if test "x$sdl_pc" = xyes ; then no_sdl="" - SDL2_CONFIG="pkg-config sdl2" + SDL3_CONFIG="pkg-config sdl3" else as_save_PATH="$PATH" if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi - # Extract the first word of "sdl2-config", so it can be a program name with args. -set dummy sdl2-config; ac_word=$2 + # Extract the first word of "sdl3-config", so it can be a program name with args. +set dummy sdl3-config; ac_word=$2 { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 printf %s "checking for $ac_word... " >&6; } -if test ${ac_cv_path_SDL2_CONFIG+y} +if test ${ac_cv_path_SDL3_CONFIG+y} then : printf %s "(cached) " >&6 else $as_nop - case $SDL2_CONFIG in + case $SDL3_CONFIG in [\\/]* | ?:[\\/]*) - ac_cv_path_SDL2_CONFIG="$SDL2_CONFIG" # Let the user override the test with a path. + ac_cv_path_SDL3_CONFIG="$SDL3_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3996,7 +3996,7 @@ do esac for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then - ac_cv_path_SDL2_CONFIG="$as_dir$ac_word$ac_exec_ext" + ac_cv_path_SDL3_CONFIG="$as_dir$ac_word$ac_exec_ext" printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 break 2 fi @@ -4004,14 +4004,14 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_SDL2_CONFIG" && ac_cv_path_SDL2_CONFIG="no" + test -z "$ac_cv_path_SDL3_CONFIG" && ac_cv_path_SDL3_CONFIG="no" ;; esac fi -SDL2_CONFIG=$ac_cv_path_SDL2_CONFIG -if test -n "$SDL2_CONFIG"; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SDL2_CONFIG" >&5 -printf "%s\n" "$SDL2_CONFIG" >&6; } +SDL3_CONFIG=$ac_cv_path_SDL3_CONFIG +if test -n "$SDL3_CONFIG"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $SDL3_CONFIG" >&5 +printf "%s\n" "$SDL3_CONFIG" >&6; } else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } @@ -4023,17 +4023,17 @@ fi printf %s "checking for SDL - version >= $min_sdl_version... " >&6; } no_sdl="" - if test "$SDL2_CONFIG" = "no" ; then + if test "$SDL3_CONFIG" = "no" ; then no_sdl=yes else - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` + SDL_CFLAGS=`$SDL3_CONFIG $sdl_config_args --cflags` + SDL_LIBS=`$SDL3_CONFIG $sdl_config_args --libs` - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_major_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_minor_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_micro_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" @@ -4074,11 +4074,11 @@ int main (int argc, char *argv[]) } else { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); + printf("\n*** 'sdl3-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl3-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); + printf("*** If sdl3-config was wrong, set the environment variable SDL3_CONFIG\n"); + printf("*** to point to the correct copy of sdl3-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } @@ -4112,11 +4112,11 @@ printf "%s\n" "no" >&6; } if test "x$no_sdl" = x ; then : else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" + if test "$SDL3_CONFIG" = "no" ; then + echo "*** The sdl3-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." + echo "*** your path, or set the SDL3_CONFIG environment variable to the" + echo "*** full path to sdl3-config." else if test -f conf.sdltest ; then : @@ -4159,7 +4159,7 @@ else $as_nop echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" + echo "*** may want to edit the sdl3-config script: $SDL3_CONFIG" fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext @@ -4178,7 +4178,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ rm -f conf.sdltest CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS -lSDL2_test $SDL_LIBS" +LIBS="$LIBS -lSDL3_test $SDL_LIBS" ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4832,14 +4832,14 @@ esac -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TTF_Init in -lSDL2_ttf" >&5 -printf %s "checking for TTF_Init in -lSDL2_ttf... " >&6; } -if test ${ac_cv_lib_SDL2_ttf_TTF_Init+y} +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for TTF_Init in -lSDL3_ttf" >&5 +printf %s "checking for TTF_Init in -lSDL3_ttf... " >&6; } +if test ${ac_cv_lib_SDL3_ttf_TTF_Init+y} then : printf %s "(cached) " >&6 else $as_nop ac_check_lib_save_LIBS=$LIBS -LIBS="-lSDL2_ttf $LIBS" +LIBS="-lSDL3_ttf $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4857,24 +4857,24 @@ return TTF_Init (); _ACEOF if ac_fn_c_try_link "$LINENO" then : - ac_cv_lib_SDL2_ttf_TTF_Init=yes + ac_cv_lib_SDL3_ttf_TTF_Init=yes else $as_nop - ac_cv_lib_SDL2_ttf_TTF_Init=no + ac_cv_lib_SDL3_ttf_TTF_Init=no fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_SDL2_ttf_TTF_Init" >&5 -printf "%s\n" "$ac_cv_lib_SDL2_ttf_TTF_Init" >&6; } -if test "x$ac_cv_lib_SDL2_ttf_TTF_Init" = xyes +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_SDL3_ttf_TTF_Init" >&5 +printf "%s\n" "$ac_cv_lib_SDL3_ttf_TTF_Init" >&6; } +if test "x$ac_cv_lib_SDL3_ttf_TTF_Init" = xyes then : have_SDL_ttf=yes fi if test x$have_SDL_ttf = xyes; then CFLAGS="$CFLAGS -DHAVE_SDL_TTF" - SDL_TTF_LIB="-lSDL2_ttf" + SDL_TTF_LIB="-lSDL3_ttf" fi diff --git a/test/configure.ac b/test/configure.ac index e9890163e..60b60ada1 100644 --- a/test/configure.ac +++ b/test/configure.ac @@ -100,13 +100,13 @@ AC_SUBST(ISUNIX) AC_SUBST(ISOS2) dnl Check for SDL -SDL_VERSION=2.0.18 -AM_PATH_SDL2($SDL_VERSION, +SDL_VERSION=3.0.0 +AM_PATH_SDL3($SDL_VERSION, :, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS -lSDL2_test $SDL_LIBS" +LIBS="$LIBS -lSDL3_test $SDL_LIBS" dnl Check for X11 path, needed for OpenGL on some systems AC_PATH_X @@ -267,18 +267,18 @@ AC_SUBST(GLES2LIB) AC_SUBST(XLIB) dnl Check for SDL_ttf -AC_CHECK_LIB(SDL2_ttf, TTF_Init, have_SDL_ttf=yes) +AC_CHECK_LIB(SDL3_ttf, TTF_Init, have_SDL_ttf=yes) if test x$have_SDL_ttf = xyes; then CFLAGS="$CFLAGS -DHAVE_SDL_TTF" - SDL_TTF_LIB="-lSDL2_ttf" + SDL_TTF_LIB="-lSDL3_ttf" fi AC_SUBST(SDL_TTF_LIB) -dnl Really, SDL2_test should be linking against libunwind (if it found -dnl libunwind.h when configured), but SDL2_test is a static library, so -dnl there's no way for it to link against it. We could make SDL2 depend on -dnl it, but we don't want all SDL2 build to suddenly gain an extra dependency, -dnl so just assume that if it's here now, SDL2_test was probably built with it. +dnl Really, SDL3_test should be linking against libunwind (if it found +dnl libunwind.h when configured), but SDL3_test is a static library, so +dnl there's no way for it to link against it. We could make SDL3 depend on +dnl it, but we don't want all SDL3 build to suddenly gain an extra dependency, +dnl so just assume that if it's here now, SDL3_test was probably built with it. PKG_CHECK_MODULES(LIBUNWIND, libunwind, have_libunwind=yes, have_libunwind=no) if test x$have_libunwind = xyes ; then LIBS="$LIBS $LIBUNWIND_LIBS" diff --git a/test/nacl/Makefile b/test/nacl/Makefile index 9ca166c12..ca7a03047 100644 --- a/test/nacl/Makefile +++ b/test/nacl/Makefile @@ -13,8 +13,8 @@ include $(NACL_SDK_ROOT)/tools/common.mk TARGET = sdl_app DEPS = ppapi_simple nacl_io -# ppapi_simple and SDL2 end up being listed twice due to dependency solving issues -- Gabriel -LIBS = SDL2_test SDL2 ppapi_simple SDL2main SDL2 $(DEPS) ppapi_gles2 ppapi_cpp ppapi pthread +# ppapi_simple and SDL3 end up being listed twice due to dependency solving issues -- Gabriel +LIBS = SDL3_test SDL3 ppapi_simple SDL3main SDL3 $(DEPS) ppapi_gles2 ppapi_cpp ppapi pthread CFLAGS := -Wall SOURCES ?= testgles2.c diff --git a/test/testautomation_audio.c b/test/testautomation_audio.c index e6127b573..3ba3094ea 100644 --- a/test/testautomation_audio.c +++ b/test/testautomation_audio.c @@ -948,7 +948,7 @@ int audio_openCloseAudioDeviceConnected() SDLTest_AssertCheck(id > 1, "Validate device ID; expected: >1, got: %" SDL_PRIu32, id); if (id > 1) { -/* TODO: enable test code when function is available in SDL2 */ +/* TODO: enable test code when function is available in SDL3 */ #ifdef AUDIODEVICECONNECTED_DEFINED /* Get connected status */ diff --git a/test/testver.c b/test/testver.c index cbbba7ec6..bf6983480 100644 --- a/test/testver.c +++ b/test/testver.c @@ -29,10 +29,10 @@ main(int argc, char *argv[]) /* Enable standard application logging */ SDL_LogSetPriority(SDL_LOG_CATEGORY_APPLICATION, SDL_LOG_PRIORITY_INFO); -#if SDL_VERSION_ATLEAST(2, 0, 0) - SDL_Log("Compiled with SDL 2.0 or newer\n"); +#if SDL_VERSION_ATLEAST(3, 0, 0) + SDL_Log("Compiled with SDL 3.0 or newer\n"); #else - SDL_Log("Compiled with SDL older than 2.0\n"); + SDL_Log("Compiled with SDL older than 3.0\n"); #endif SDL_VERSION(&compiled); SDL_Log("Compiled version: %d.%d.%d (%s)\n", diff --git a/test/watcom.mif b/test/watcom.mif index 2189fd49c..6d0d9d405 100644 --- a/test/watcom.mif +++ b/test/watcom.mif @@ -1,9 +1,9 @@ INCPATH+= -I"../include" LIBPATH = .. -LIBS = SDL2.lib SDL2test.lib testutils.lib +LIBS = SDL3.lib SDL3test.lib testutils.lib #CFLAGS+= -DHAVE_SDL_TTF -#TTFLIBS = SDL2ttf.lib +#TTFLIBS = SDL3ttf.lib CFLAGS+= $(INCPATH) @@ -106,14 +106,14 @@ testutils.lib: testutils.obj check: .SYMBOLIC $(TESTS) @set SDL_AUDIODRIVER=dummy @set SDL_VIDEODRIVER=dummy - @copy "../SDL2.dll" . + @copy "../SDL3.dll" . @for %exe in ($(TESTS)) do %exe check-quick: .SYMBOLIC $(TESTS) @set SDL_TESTS_QUICK=1 @set SDL_AUDIODRIVER=dummy @set SDL_VIDEODRIVER=dummy - @copy "../SDL2.dll" . + @copy "../SDL3.dll" . @for %exe in ($(TESTS)) do %exe clean: .SYMBOLIC diff --git a/visualtest/COPYING.txt b/visualtest/COPYING.txt index 6a3adc901..a92fe14bc 100644 --- a/visualtest/COPYING.txt +++ b/visualtest/COPYING.txt @@ -1,4 +1,4 @@ -Visual and Interactive Test Automation for SDL 2.0 +Visual and Interactive Test Automation for SDL 3.0 Copyright (C) 2013 Apoorv Upreti This software is provided 'as-is', without any express or implied diff --git a/visualtest/acinclude.m4 b/visualtest/acinclude.m4 index 0fdf353ea..3dd4058ea 100644 --- a/visualtest/acinclude.m4 +++ b/visualtest/acinclude.m4 @@ -7,12 +7,12 @@ # serial 2 -dnl AM_PATH_SDL2([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl AM_PATH_SDL3([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS dnl -AC_DEFUN([AM_PATH_SDL2], +AC_DEFUN([AM_PATH_SDL3], [dnl -dnl Get the cflags and libraries from the sdl2-config script +dnl Get the cflags and libraries from the sdl3-config script dnl AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], sdl_prefix="$withval", sdl_prefix="") @@ -21,52 +21,52 @@ AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], , enable_sdltest=yes) - min_sdl_version=ifelse([$1], ,2.0.0,$1) + min_sdl_version=ifelse([$1], ,3.0.0,$1) if test "x$sdl_prefix$sdl_exec_prefix" = x ; then - PKG_CHECK_MODULES([SDL], [sdl2 >= $min_sdl_version], + PKG_CHECK_MODULES([SDL], [sdl3 >= $min_sdl_version], [sdl_pc=yes], [sdl_pc=no]) else sdl_pc=no if test x$sdl_exec_prefix != x ; then sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_exec_prefix/bin/sdl3-config fi fi if test x$sdl_prefix != x ; then sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_prefix/bin/sdl3-config fi fi fi if test "x$sdl_pc" = xyes ; then no_sdl="" - SDL2_CONFIG="pkg-config sdl2" + SDL3_CONFIG="pkg-config sdl3" else as_save_PATH="$PATH" if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi - AC_PATH_PROG(SDL2_CONFIG, sdl2-config, no, [$PATH]) + AC_PATH_PROG(SDL3_CONFIG, sdl3-config, no, [$PATH]) PATH="$as_save_PATH" AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) no_sdl="" - if test "$SDL2_CONFIG" = "no" ; then + if test "$SDL3_CONFIG" = "no" ; then no_sdl=yes else - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` + SDL_CFLAGS=`$SDL3_CONFIG $sdl_config_args --cflags` + SDL_LIBS=`$SDL3_CONFIG $sdl_config_args --libs` - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_major_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_minor_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_micro_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" @@ -77,7 +77,7 @@ AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run LIBS="$LIBS $SDL_LIBS" dnl dnl Now check if the installed SDL is sufficiently new. (Also sanity -dnl checks the results of sdl2-config to some extent +dnl checks the results of sdl3-config to some extent dnl rm -f conf.sdltest AC_RUN_IFELSE([AC_LANG_SOURCE([[ @@ -105,11 +105,11 @@ int main (int argc, char *argv[]) } else { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); + printf("\n*** 'sdl3-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl3-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); + printf("*** If sdl3-config was wrong, set the environment variable SDL3_CONFIG\n"); + printf("*** to point to the correct copy of sdl3-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } @@ -130,11 +130,11 @@ int main (int argc, char *argv[]) if test "x$no_sdl" = x ; then ifelse([$2], , :, [$2]) else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" + if test "$SDL3_CONFIG" = "no" ; then + echo "*** The sdl3-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." + echo "*** your path, or set the SDL3_CONFIG environment variable to the" + echo "*** full path to sdl3-config." else if test -f conf.sdltest ; then : @@ -164,7 +164,7 @@ int main(int argc, char *argv[]) [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" ]) + echo "*** may want to edit the sdl3-config script: $SDL3_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" diff --git a/visualtest/configure b/visualtest/configure index ca7c71eb0..b9576830a 100755 --- a/visualtest/configure +++ b/visualtest/configure @@ -586,7 +586,7 @@ ac_subst_vars='LTLIBOBJS LIBOBJS LIBUNWIND_LIBS LIBUNWIND_CFLAGS -SDL2_CONFIG +SDL3_CONFIG SDL_LIBS SDL_CFLAGS PKG_CONFIG_LIBDIR @@ -2919,19 +2919,19 @@ fi if test "x$sdl_prefix$sdl_exec_prefix" = x ; then pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sdl2 >= $min_sdl_version" >&5 -$as_echo_n "checking for sdl2 >= $min_sdl_version... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sdl3 >= $min_sdl_version" >&5 +$as_echo_n "checking for sdl3 >= $min_sdl_version... " >&6; } if test -n "$SDL_CFLAGS"; then pkg_cv_SDL_CFLAGS="$SDL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl_version\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl_version") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl3 >= \$min_sdl_version\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sdl3 >= $min_sdl_version") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl2 >= $min_sdl_version" 2>/dev/null` + pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl3 >= $min_sdl_version" 2>/dev/null` else pkg_failed=yes fi @@ -2942,12 +2942,12 @@ if test -n "$SDL_LIBS"; then pkg_cv_SDL_LIBS="$SDL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl_version\""; } >&5 - ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl_version") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl3 >= \$min_sdl_version\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sdl3 >= $min_sdl_version") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl2 >= $min_sdl_version" 2>/dev/null` + pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl3 >= $min_sdl_version" 2>/dev/null` else pkg_failed=yes fi @@ -2967,9 +2967,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl2 >= $min_sdl_version" 2>&1` + SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl3 >= $min_sdl_version" 2>&1` else - SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl2 >= $min_sdl_version" 2>&1` + SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl3 >= $min_sdl_version" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SDL_PKG_ERRORS" >&5 @@ -2990,36 +2990,36 @@ fi sdl_pc=no if test x$sdl_exec_prefix != x ; then sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_exec_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_exec_prefix/bin/sdl3-config fi fi if test x$sdl_prefix != x ; then sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" - if test x${SDL2_CONFIG+set} != xset ; then - SDL2_CONFIG=$sdl_prefix/bin/sdl2-config + if test x${SDL3_CONFIG+set} != xset ; then + SDL3_CONFIG=$sdl_prefix/bin/sdl3-config fi fi fi if test "x$sdl_pc" = xyes ; then no_sdl="" - SDL2_CONFIG="pkg-config sdl2" + SDL3_CONFIG="pkg-config sdl3" else as_save_PATH="$PATH" if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi - # Extract the first word of "sdl2-config", so it can be a program name with args. -set dummy sdl2-config; ac_word=$2 + # Extract the first word of "sdl3-config", so it can be a program name with args. +set dummy sdl3-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SDL2_CONFIG+:} false; then : +if ${ac_cv_path_SDL3_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else - case $SDL2_CONFIG in + case $SDL3_CONFIG in [\\/]* | ?:[\\/]*) - ac_cv_path_SDL2_CONFIG="$SDL2_CONFIG" # Let the user override the test with a path. + ac_cv_path_SDL3_CONFIG="$SDL3_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR @@ -3029,7 +3029,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SDL2_CONFIG="$as_dir/$ac_word$ac_exec_ext" + ac_cv_path_SDL3_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -3037,14 +3037,14 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_SDL2_CONFIG" && ac_cv_path_SDL2_CONFIG="no" + test -z "$ac_cv_path_SDL3_CONFIG" && ac_cv_path_SDL3_CONFIG="no" ;; esac fi -SDL2_CONFIG=$ac_cv_path_SDL2_CONFIG -if test -n "$SDL2_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL2_CONFIG" >&5 -$as_echo "$SDL2_CONFIG" >&6; } +SDL3_CONFIG=$ac_cv_path_SDL3_CONFIG +if test -n "$SDL3_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL3_CONFIG" >&5 +$as_echo "$SDL3_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -3056,17 +3056,17 @@ fi $as_echo_n "checking for SDL - version >= $min_sdl_version... " >&6; } no_sdl="" - if test "$SDL2_CONFIG" = "no" ; then + if test "$SDL3_CONFIG" = "no" ; then no_sdl=yes else - SDL_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` - SDL_LIBS=`$SDL2_CONFIG $sdl_config_args --libs` + SDL_CFLAGS=`$SDL3_CONFIG $sdl_config_args --cflags` + SDL_LIBS=`$SDL3_CONFIG $sdl_config_args --libs` - sdl_major_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_major_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` - sdl_minor_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_minor_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` - sdl_micro_version=`$SDL2_CONFIG $sdl_config_args --version | \ + sdl_micro_version=`$SDL3_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" @@ -3106,11 +3106,11 @@ int main (int argc, char *argv[]) } else { - printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); - printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); + printf("\n*** 'sdl3-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); + printf("*** of SDL required is %d.%d.%d. If sdl3-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); - printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); - printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); + printf("*** If sdl3-config was wrong, set the environment variable SDL3_CONFIG\n"); + printf("*** to point to the correct copy of sdl3-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } @@ -3143,11 +3143,11 @@ $as_echo "no" >&6; } if test "x$no_sdl" = x ; then : else - if test "$SDL2_CONFIG" = "no" ; then - echo "*** The sdl2-config script installed by SDL could not be found" + if test "$SDL3_CONFIG" = "no" ; then + echo "*** The sdl3-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" - echo "*** your path, or set the SDL2_CONFIG environment variable to the" - echo "*** full path to sdl2-config." + echo "*** your path, or set the SDL3_CONFIG environment variable to the" + echo "*** full path to sdl3-config." else if test -f conf.sdltest ; then : @@ -3189,7 +3189,7 @@ else echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" - echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" + echo "*** may want to edit the sdl3-config script: $SDL3_CONFIG" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext @@ -3208,7 +3208,7 @@ rm -f core conftest.err conftest.$ac_objext \ rm -f conf.sdltest CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS -lSDL2_test $SDL_LIBS $EXTRALIB" +LIBS="$LIBS -lSDL3_test $SDL_LIBS $EXTRALIB" pkg_failed=no diff --git a/visualtest/configure.ac b/visualtest/configure.ac index 3566bf0d8..d36d89103 100644 --- a/visualtest/configure.ac +++ b/visualtest/configure.ac @@ -23,13 +23,13 @@ esac AC_SUBST(EXE) dnl Check for SDL -SDL_VERSION=2.0.0 -AM_PATH_SDL2($SDL_VERSION, +SDL_VERSION=3.0.0 +AM_PATH_SDL3($SDL_VERSION, :, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) CFLAGS="$CFLAGS $SDL_CFLAGS" -LIBS="$LIBS -lSDL2_test $SDL_LIBS $EXTRALIB" +LIBS="$LIBS -lSDL3_test $SDL_LIBS $EXTRALIB" PKG_CHECK_MODULES(LIBUNWIND, libunwind, have_libunwind=yes, have_libunwind=no) if test x$have_libunwind = xyes ; then