From b40c89f3c34ede0ada5aad1f18e63eee112bcd3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Sun, 22 Mar 2020 13:37:31 +0100 Subject: [SDL2] Update to 2.0.12 version --- ports/sdl2/CONTROL | 2 +- ports/sdl2/disable-hidapi-for-uwp.patch | 12 +++---- .../disable-wcslcpy-and-wcslcat-for-windows.patch | 12 +++++++ ports/sdl2/enable-winrt-cmake.patch | 38 +++++++++++----------- ports/sdl2/fix-space-in-path.patch | 8 ++--- ports/sdl2/portfile.cmake | 17 ++++++---- 6 files changed, 52 insertions(+), 37 deletions(-) create mode 100644 ports/sdl2/disable-wcslcpy-and-wcslcat-for-windows.patch diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index 771584a8f..623e4d0db 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,5 +1,5 @@ Source: sdl2 -Version: 2.0.10-3 +Version: 2.0.12 Homepage: https://github.com/SDL-Mirror/SDL Description: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. diff --git a/ports/sdl2/disable-hidapi-for-uwp.patch b/ports/sdl2/disable-hidapi-for-uwp.patch index 13d1ca8d1..9a1b500b4 100644 --- a/ports/sdl2/disable-hidapi-for-uwp.patch +++ b/ports/sdl2/disable-hidapi-for-uwp.patch @@ -1,11 +1,11 @@ --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -172,7 +172,7 @@ - # requires root permissions to open devices, so that's not generally - # useful, and we'll disable this by default on Unix. Windows and macOS - # can use it without root access, though, so enable by default there. --if(WINDOWS OR APPLE OR ANDROID) -+if((WINDOWS AND NOT WINDOWS_STORE) OR APPLE OR ANDROID) +@@ -173,7 +173,7 @@ + # so we'll just use libusb when it's available. libusb does not support iOS, + # so we default to yes on iOS. + # TODO: Windows can support libusb, the hid.c file just depends on Unix APIs +-if(WINDOWS OR IOS OR TVOS OR ANDROID) ++if((WINDOWS AND NOT WINDOWS_STORE) OR IOS OR TVOS OR ANDROID) set(HIDAPI_SKIP_LIBUSB TRUE) else() set(HIDAPI_SKIP_LIBUSB FALSE) diff --git a/ports/sdl2/disable-wcslcpy-and-wcslcat-for-windows.patch b/ports/sdl2/disable-wcslcpy-and-wcslcat-for-windows.patch new file mode 100644 index 000000000..894b24d0d --- /dev/null +++ b/ports/sdl2/disable-wcslcpy-and-wcslcat-for-windows.patch @@ -0,0 +1,12 @@ +diff -ur a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -772,7 +772,7 @@ + set(HAVE_SIGNAL_H 1) + foreach(_FN + malloc calloc realloc free qsort abs memset memcpy memmove memcmp +- wcslen wcslcpy wcslcat wcsdup wcsstr wcscmp wcsncmp ++ wcslen wcsdup wcsstr wcscmp wcsncmp + strlen _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa + _ultoa strtol strtoul strtoll strtod atoi atof strcmp strncmp + _stricmp _strnicmp strtok_s sscanf diff --git a/ports/sdl2/enable-winrt-cmake.patch b/ports/sdl2/enable-winrt-cmake.patch index 03deb415c..0e570847b 100644 --- a/ports/sdl2/enable-winrt-cmake.patch +++ b/ports/sdl2/enable-winrt-cmake.patch @@ -2,7 +2,7 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 0128c7a..bd534e4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -5,6 +5,18 @@ endif() +@@ -5,6 +5,18 @@ cmake_minimum_required(VERSION 2.8.11) project(SDL2 C CXX) @@ -21,7 +21,7 @@ index 0128c7a..bd534e4 100644 # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property # !!! FIXME: for the SDL2 shared library (so you get an # !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib" -@@ -1209,6 +1221,11 @@ elseif(WINDOWS) +@@ -1297,6 +1309,11 @@ file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) @@ -33,7 +33,7 @@ index 0128c7a..bd534e4 100644 if(MSVC) # Prevent codegen that would use the VC runtime libraries. set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-") -@@ -1254,6 +1271,9 @@ elseif(WINDOWS) +@@ -1342,6 +1359,9 @@ check_include_file(ddraw.h HAVE_DDRAW_H) check_include_file(dsound.h HAVE_DSOUND_H) check_include_file(dinput.h HAVE_DINPUT_H) @@ -43,8 +43,8 @@ index 0128c7a..bd534e4 100644 check_include_file(dxgi.h HAVE_DXGI_H) if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H) set(HAVE_DIRECTX TRUE) -@@ -1272,18 +1292,20 @@ elseif(WINDOWS) - check_include_file(endpointvolume.h HAVE_ENDPOINTVOLUME_H) +@@ -1359,18 +1379,20 @@ + check_include_file(audioclient.h HAVE_AUDIOCLIENT_H) if(SDL_AUDIO) + if(NOT WINDOWS_STORE) @@ -66,7 +66,7 @@ index 0128c7a..bd534e4 100644 set(SDL_AUDIO_DRIVER_WASAPI 1) file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES}) -@@ -1295,11 +1317,20 @@ elseif(WINDOWS) +@@ -1382,11 +1404,20 @@ if(NOT SDL_LOADSO) message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled") endif() @@ -88,7 +88,7 @@ index 0128c7a..bd534e4 100644 set(SDL_VIDEO_RENDER_D3D 1) set(HAVE_RENDER_D3D TRUE) endif() -@@ -1322,20 +1353,31 @@ elseif(WINDOWS) +@@ -1409,20 +1440,31 @@ endif() if(SDL_POWER) @@ -120,7 +120,7 @@ index 0128c7a..bd534e4 100644 # TODO: in configure.ac the check for timers is set on # cygwin | mingw32* - does this include mingw32CE? -@@ -1357,7 +1399,7 @@ elseif(WINDOWS) +@@ -1444,7 +1486,7 @@ set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) if(SDL_VIDEO) @@ -129,7 +129,7 @@ index 0128c7a..bd534e4 100644 set(SDL_VIDEO_OPENGL 1) set(SDL_VIDEO_OPENGL_WGL 1) set(SDL_VIDEO_RENDER_OGL 1) -@@ -1788,12 +1830,14 @@ endif() +@@ -2027,12 +2069,14 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") # Always build SDLmain @@ -138,36 +138,36 @@ index 0128c7a..bd534e4 100644 target_include_directories(SDL2main PUBLIC "$" $ $) set(_INSTALL_LIBS "SDL2main") if (NOT ANDROID) - set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) + set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") endif() +endif() - if(SDL_SHARED) - add_library(SDL2 SHARED ${SOURCE_FILES} ${VERSION_SOURCES}) + if (ANDROID AND HAVE_HIDAPI) + set(_INSTALL_LIBS ${_INSTALL_LIBS} "hidapi") diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake index 48dd2d4..0c4fa28 100644 --- a/include/SDL_config.h.cmake +++ b/include/SDL_config.h.cmake -@@ -326,6 +326,7 @@ - #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@ +@@ -335,6 +326,7 @@ #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@ + #cmakedefine SDL_VIDEO_DRIVER_OFFSCREEN @SDL_VIDEO_DRIVER_OFFSCREEN@ #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@ +#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@ #cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@ #cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@ #cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@ -@@ -391,6 +392,7 @@ +@@ -403,6 +404,7 @@ #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ +#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@ #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@ + #cmakedefine SDL_POWER_UIKIT @SDL_POWER_UIKIT@ #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@ - #cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@ -@@ -413,7 +415,7 @@ - #cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@ +@@ -428,7 +430,7 @@ + #cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@ + #cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@ - /* Platform specific definitions */ -#if !defined(__WIN32__) +#if !defined(__WIN32__) && !defined(__WINRT__) # if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) diff --git a/ports/sdl2/fix-space-in-path.patch b/ports/sdl2/fix-space-in-path.patch index ed7a1e712..499161d9a 100644 --- a/ports/sdl2/fix-space-in-path.patch +++ b/ports/sdl2/fix-space-in-path.patch @@ -1,7 +1,7 @@ diff -ur a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt 2019-07-23 21:41:00.000000000 +0200 +++ b/CMakeLists.txt 2019-10-27 20:26:38.000000000 +0100 -@@ -257,7 +257,7 @@ +@@ -278,7 +278,7 @@ # General includes include_directories(${SDL2_BINARY_DIR}/include ${SDL2_SOURCE_DIR}/include) if(USE_GCC OR USE_CLANG) @@ -13,12 +13,12 @@ diff -ur a/CMakeLists.txt b/CMakeLists.txt diff -ur a/cmake/sdlchecks.cmake b/cmake/sdlchecks.cmake --- a/cmake/sdlchecks.cmake 2019-07-23 21:41:00.000000000 +0200 +++ b/cmake/sdlchecks.cmake 2019-10-27 20:27:10.000000000 +0100 -@@ -1086,7 +1086,7 @@ +@@ -1088,7 +1088,7 @@ set(HAVE_SDL_JOYSTICK TRUE) file(GLOB HIDAPI_SOURCES ${SDL2_SOURCE_DIR}/src/joystick/hidapi/*.c) set(SOURCE_FILES ${SOURCE_FILES} ${HIDAPI_SOURCES}) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} -I${SDL2_SOURCE_DIR}/src/hidapi/hidapi") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${LIBUSB_CFLAGS} \"-I${SDL2_SOURCE_DIR}/src/hidapi/hidapi\"") if(NOT HIDAPI_SKIP_LIBUSB) - set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c) - list(APPEND EXTRA_LIBS ${LIBUSB_LIBS}) + if(HIDAPI_ONLY_LIBUSB) + set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/hidapi/libusb/hid.c) diff --git a/ports/sdl2/portfile.cmake b/ports/sdl2/portfile.cmake index 8c0a25c01..4bed5c0a6 100644 --- a/ports/sdl2/portfile.cmake +++ b/ports/sdl2/portfile.cmake @@ -1,16 +1,19 @@ -vcpkg_from_github( +set(SDL2_VERSION 2.0.12) +vcpkg_download_distfile(ARCHIVE + URLS "https://www.libsdl.org/release/SDL2-2.0.12.tar.gz" + FILENAME "SDL2-${SDL2_VERSION}.tar.gz" + SHA512 3f1f04af0f3d9dda9c84a2e9274ae8d83ea0da3fc367970a820036cc4dc1dbf990cfc37e4975ae05f0b45a4ffa739c6c19e470c00bf3f2bce9b8b63717b8b317 +) + +vcpkg_extract_source_archive_ex( OUT_SOURCE_PATH SOURCE_PATH - REPO SDL-Mirror/SDL - REF release-2.0.10 - SHA512 c5fe59eed7ba9c6a82cceaf513623480793727fceec84b01d819e7cbefc8229a84be93067d7539f12d5811c49d3d54fd407272786aef3e419f439d0105c34b21 - HEAD_REF master + ARCHIVE ${ARCHIVE} PATCHES export-symbols-only-in-shared-build.patch - fix-cmake-include-dir.patch enable-winrt-cmake.patch - fix-arm64-headers.patch disable-hidapi-for-uwp.patch fix-space-in-path.patch + disable-wcslcpy-and-wcslcat-for-windows.patch ) string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" SDL_STATIC) -- cgit v1.2.3 From dc41246f5c99e7faab03801eb1adb684a3cacc3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Thu, 26 Mar 2020 13:29:53 +0100 Subject: [sdl2] Change homepage link to the official sdl website --- ports/sdl2/CONTROL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ports/sdl2/CONTROL b/ports/sdl2/CONTROL index 623e4d0db..e20991fb6 100644 --- a/ports/sdl2/CONTROL +++ b/ports/sdl2/CONTROL @@ -1,6 +1,6 @@ Source: sdl2 Version: 2.0.12 -Homepage: https://github.com/SDL-Mirror/SDL +Homepage: https://www.libsdl.org/download-2.0.php Description: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. Feature: vulkan -- cgit v1.2.3 From 28b25e8307f842904266282c37321f5837adf916 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Thu, 26 Mar 2020 13:33:54 +0100 Subject: [sdl2] Remove no longer used patch --- ports/sdl2/enable-winrt-cmake.patch | 175 ------------------------------------ 1 file changed, 175 deletions(-) delete mode 100644 ports/sdl2/enable-winrt-cmake.patch diff --git a/ports/sdl2/enable-winrt-cmake.patch b/ports/sdl2/enable-winrt-cmake.patch deleted file mode 100644 index 0e570847b..000000000 --- a/ports/sdl2/enable-winrt-cmake.patch +++ /dev/null @@ -1,175 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 0128c7a..bd534e4 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -5,6 +5,18 @@ - cmake_minimum_required(VERSION 2.8.11) - project(SDL2 C CXX) - -+if(WINDOWS_STORE) -+ enable_language(CXX) -+ cmake_minimum_required(VERSION 3.11) -+ add_definitions(-DSDL_BUILDING_WINRT=1 -ZW) -+ link_libraries( -+ -nodefaultlib:vccorlib$<$:d> -+ -nodefaultlib:msvcrt$<$:d> -+ vccorlib$<$:d>.lib -+ msvcrt$<$:d>.lib -+ ) -+endif() -+ - # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property - # !!! FIXME: for the SDL2 shared library (so you get an - # !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib" -@@ -1297,6 +1309,11 @@ - file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) - set(SOURCE_FILES ${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) -+ list(APPEND SOURCE_FILES ${WINRT_SOURCE_FILES}) -+ endif() -+ - if(MSVC) - # Prevent codegen that would use the VC runtime libraries. - set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-") -@@ -1342,6 +1359,9 @@ - check_include_file(ddraw.h HAVE_DDRAW_H) - check_include_file(dsound.h HAVE_DSOUND_H) - check_include_file(dinput.h HAVE_DINPUT_H) -+ if(WINDOWS_STORE OR VCPKG_TARGET_TRIPLET MATCHES "arm-windows") -+ set(HAVE_DINPUT_H 0) -+ endif() - check_include_file(dxgi.h HAVE_DXGI_H) - if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H) - set(HAVE_DIRECTX TRUE) -@@ -1359,18 +1379,20 @@ - check_include_file(audioclient.h HAVE_AUDIOCLIENT_H) - - 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) - set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES}) -+ endif() - set(HAVE_SDL_AUDIO TRUE) - -- if(HAVE_DSOUND_H) -+ 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) - set(SOURCE_FILES ${SOURCE_FILES} ${DSOUND_AUDIO_SOURCES}) - endif() - -- if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H) -+ if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H AND NOT WINDOWS_STORE) - set(SDL_AUDIO_DRIVER_WASAPI 1) - file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c) - set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES}) -@@ -1382,11 +1404,20 @@ - if(NOT SDL_LOADSO) - message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled") - endif() -+ 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 -+ ) -+ else() - set(SDL_VIDEO_DRIVER_WINDOWS 1) - file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c) -+ endif() - set(SOURCE_FILES ${SOURCE_FILES} ${WIN_VIDEO_SOURCES}) - -- if(RENDER_D3D AND HAVE_D3D_H) -+ if(RENDER_D3D AND HAVE_D3D_H AND NOT WINDOWS_STORE) - set(SDL_VIDEO_RENDER_D3D 1) - set(HAVE_RENDER_D3D TRUE) - endif() -@@ -1409,20 +1440,31 @@ - endif() - - if(SDL_POWER) -+ if(WINDOWS_STORE) -+ set(SDL_POWER_WINRT 1) -+ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp) -+ else() - set(SDL_POWER_WINDOWS 1) - set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c) -+ endif() - set(HAVE_SDL_POWER TRUE) - endif() - - if(SDL_FILESYSTEM) - set(SDL_FILESYSTEM_WINDOWS 1) -+ if(WINDOWS_STORE) -+ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/winrt/*.cpp) -+ else() - file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c) -+ endif() - set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES}) - set(HAVE_SDL_FILESYSTEM TRUE) - endif() - - # Libraries for Win32 native and MinGW -+ if(NOT WINDOWS_STORE) - list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32) -+ endif() - - # TODO: in configure.ac the check for timers is set on - # cygwin | mingw32* - does this include mingw32CE? -@@ -1444,7 +1486,7 @@ - set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) - - if(SDL_VIDEO) -- if(VIDEO_OPENGL) -+ if(VIDEO_OPENGL AND NOT WINDOWS_STORE) - set(SDL_VIDEO_OPENGL 1) - set(SDL_VIDEO_OPENGL_WGL 1) - set(SDL_VIDEO_RENDER_OGL 1) -@@ -2027,12 +2069,14 @@ - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") - - # Always build SDLmain -+if(NOT WINDOWS_STORE) - add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) - target_include_directories(SDL2main PUBLIC "$" $ $) - set(_INSTALL_LIBS "SDL2main") - if (NOT ANDROID) - set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") - endif() -+endif() - - if (ANDROID AND HAVE_HIDAPI) - set(_INSTALL_LIBS ${_INSTALL_LIBS} "hidapi") -diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake -index 48dd2d4..0c4fa28 100644 ---- a/include/SDL_config.h.cmake -+++ b/include/SDL_config.h.cmake -@@ -335,6 +326,7 @@ - #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@ - #cmakedefine SDL_VIDEO_DRIVER_OFFSCREEN @SDL_VIDEO_DRIVER_OFFSCREEN@ - #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@ -+#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@ - #cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@ - #cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@ - #cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@ -@@ -403,6 +404,7 @@ - #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ - #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ - #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ -+#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@ - #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@ - #cmakedefine SDL_POWER_UIKIT @SDL_POWER_UIKIT@ - #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@ -@@ -428,7 +430,7 @@ - #cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@ - #cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@ - --#if !defined(__WIN32__) -+#if !defined(__WIN32__) && !defined(__WINRT__) - # if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) - typedef unsigned int size_t; - typedef signed char int8_t; -- cgit v1.2.3 From 50cb25451044b7059fe16d70a5ed914624a7c917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Thu, 26 Mar 2020 13:34:35 +0100 Subject: [sdl2] Remove no longer used patch --- ports/sdl2/fix-arm64-headers.patch | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 ports/sdl2/fix-arm64-headers.patch diff --git a/ports/sdl2/fix-arm64-headers.patch b/ports/sdl2/fix-arm64-headers.patch deleted file mode 100644 index 862b65f0b..000000000 --- a/ports/sdl2/fix-arm64-headers.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- a/include/SDL_cpuinfo.h Tue Jul 23 21:41:00 2019 -0400 -+++ b/include/SDL_cpuinfo.h Tue Aug 13 20:26:27 2019 -0700 -@@ -73,8 +73,8 @@ - # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */ - # endif - # if defined (_M_ARM64) --# include --# include -+# include -+# include - # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */ - # endif - # endif - \ No newline at end of file -- cgit v1.2.3 From 2fbc73e2cd1615d860b8e42f07968591e558d95a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Tassoux?= Date: Fri, 27 Mar 2020 12:53:44 +0100 Subject: [sdl2] Fix patches files --- ports/sdl2/SDL-2.0.9-bug-4391-fix.patch | 75 -------------- ports/sdl2/enable-winrt-cmake.patch | 175 ++++++++++++++++++++++++++++++++ ports/sdl2/fix-cmake-include-dir.patch | 31 ------ ports/sdl2/fix-x86-windows.patch | 15 --- 4 files changed, 175 insertions(+), 121 deletions(-) delete mode 100644 ports/sdl2/SDL-2.0.9-bug-4391-fix.patch create mode 100644 ports/sdl2/enable-winrt-cmake.patch delete mode 100644 ports/sdl2/fix-cmake-include-dir.patch delete mode 100644 ports/sdl2/fix-x86-windows.patch diff --git a/ports/sdl2/SDL-2.0.9-bug-4391-fix.patch b/ports/sdl2/SDL-2.0.9-bug-4391-fix.patch deleted file mode 100644 index f8fc64bda..000000000 --- a/ports/sdl2/SDL-2.0.9-bug-4391-fix.patch +++ /dev/null @@ -1,75 +0,0 @@ -# HG changeset patch -# User Sam Lantinga -# Date 1542691020 28800 -# Node ID 9091b20040cf04cdc348d290ca22373b36364c39 -# Parent 144400e4630d885d2eb0761b7174433b4c0d90bb -Fixed bug 4391 - hid_enumerate() sometimes causes game to freeze for a few seconds - -Daniel Gibson - -Even though my game (dhewm3) doesn't use SDL_INIT_JOYSTICK, SDL_PumpEvent() calls SDL_JoystickUpdate() which ends up calling hid_enumerate() every three seconds, and sometimes on my Win7 box hid_enumerate() takes about 5 seconds, which causes the whole game to freeze for that time. - -diff -r 144400e4630d -r 9091b20040cf include/SDL_bits.h ---- a/include/SDL_bits.h Sun Nov 18 19:28:20 2018 +0300 -+++ b/include/SDL_bits.h Mon Nov 19 21:17:00 2018 -0800 -@@ -101,6 +101,15 @@ - #endif - } - -+SDL_FORCE_INLINE SDL_bool -+SDL_HasExactlyOneBitSet32(Uint32 x) -+{ -+ if (x && !(x & (x - 1))) { -+ return SDL_TRUE; -+ } -+ return SDL_FALSE; -+} -+ - /* Ends C function definitions when using C++ */ - #ifdef __cplusplus - } -diff -r 144400e4630d -r 9091b20040cf src/SDL.c ---- a/src/SDL.c Sun Nov 18 19:28:20 2018 +0300 -+++ b/src/SDL.c Mon Nov 19 21:17:00 2018 -0800 -@@ -348,6 +348,12 @@ - int num_subsystems = SDL_arraysize(SDL_SubsystemRefCount); - Uint32 initialized = 0; - -+ /* Fast path for checking one flag */ -+ if (SDL_HasExactlyOneBitSet32(flags)) { -+ int subsystem_index = SDL_MostSignificantBitIndex32(flags); -+ return SDL_SubsystemRefCount[subsystem_index] ? flags : 0; -+ } -+ - if (!flags) { - flags = SDL_INIT_EVERYTHING; - } -diff -r 144400e4630d -r 9091b20040cf src/joystick/SDL_joystick.c ---- a/src/joystick/SDL_joystick.c Sun Nov 18 19:28:20 2018 +0300 -+++ b/src/joystick/SDL_joystick.c Mon Nov 19 21:17:00 2018 -0800 -@@ -1016,6 +1016,10 @@ - int i; - SDL_Joystick *joystick; - -+ if (!SDL_WasInit(SDL_INIT_JOYSTICK)) { -+ return; -+ } -+ - SDL_LockJoysticks(); - - if (SDL_updating_joystick) { -diff -r 144400e4630d -r 9091b20040cf src/sensor/SDL_sensor.c ---- a/src/sensor/SDL_sensor.c Sun Nov 18 19:28:20 2018 +0300 -+++ b/src/sensor/SDL_sensor.c Mon Nov 19 21:17:00 2018 -0800 -@@ -505,6 +505,10 @@ - int i; - SDL_Sensor *sensor; - -+ if (!SDL_WasInit(SDL_INIT_SENSOR)) { -+ return; -+ } -+ - SDL_LockSensors(); - - if (SDL_updating_sensor) { - diff --git a/ports/sdl2/enable-winrt-cmake.patch b/ports/sdl2/enable-winrt-cmake.patch new file mode 100644 index 000000000..0e570847b --- /dev/null +++ b/ports/sdl2/enable-winrt-cmake.patch @@ -0,0 +1,175 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 0128c7a..bd534e4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,18 @@ + cmake_minimum_required(VERSION 2.8.11) + project(SDL2 C CXX) + ++if(WINDOWS_STORE) ++ enable_language(CXX) ++ cmake_minimum_required(VERSION 3.11) ++ add_definitions(-DSDL_BUILDING_WINRT=1 -ZW) ++ link_libraries( ++ -nodefaultlib:vccorlib$<$:d> ++ -nodefaultlib:msvcrt$<$:d> ++ vccorlib$<$:d>.lib ++ msvcrt$<$:d>.lib ++ ) ++endif() ++ + # !!! FIXME: this should probably do "MACOSX_RPATH ON" as a target property + # !!! FIXME: for the SDL2 shared library (so you get an + # !!! FIXME: install_name ("soname") of "@rpath/libSDL-whatever.dylib" +@@ -1297,6 +1309,11 @@ + file(GLOB CORE_SOURCES ${SDL2_SOURCE_DIR}/src/core/windows/*.c) + set(SOURCE_FILES ${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) ++ list(APPEND SOURCE_FILES ${WINRT_SOURCE_FILES}) ++ endif() ++ + if(MSVC) + # Prevent codegen that would use the VC runtime libraries. + set_property(DIRECTORY . APPEND PROPERTY COMPILE_OPTIONS "/GS-") +@@ -1342,6 +1359,9 @@ + check_include_file(ddraw.h HAVE_DDRAW_H) + check_include_file(dsound.h HAVE_DSOUND_H) + check_include_file(dinput.h HAVE_DINPUT_H) ++ if(WINDOWS_STORE OR VCPKG_TARGET_TRIPLET MATCHES "arm-windows") ++ set(HAVE_DINPUT_H 0) ++ endif() + check_include_file(dxgi.h HAVE_DXGI_H) + if(HAVE_D3D_H OR HAVE_D3D11_H OR HAVE_DDRAW_H OR HAVE_DSOUND_H OR HAVE_DINPUT_H) + set(HAVE_DIRECTX TRUE) +@@ -1359,18 +1379,20 @@ + check_include_file(audioclient.h HAVE_AUDIOCLIENT_H) + + 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) + set(SOURCE_FILES ${SOURCE_FILES} ${WINMM_AUDIO_SOURCES}) ++ endif() + set(HAVE_SDL_AUDIO TRUE) + +- if(HAVE_DSOUND_H) ++ 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) + set(SOURCE_FILES ${SOURCE_FILES} ${DSOUND_AUDIO_SOURCES}) + endif() + +- if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H) ++ if(WASAPI AND HAVE_AUDIOCLIENT_H AND HAVE_MMDEVICEAPI_H AND NOT WINDOWS_STORE) + set(SDL_AUDIO_DRIVER_WASAPI 1) + file(GLOB WASAPI_AUDIO_SOURCES ${SDL2_SOURCE_DIR}/src/audio/wasapi/*.c) + set(SOURCE_FILES ${SOURCE_FILES} ${WASAPI_AUDIO_SOURCES}) +@@ -1382,11 +1404,20 @@ + if(NOT SDL_LOADSO) + message_error("SDL_VIDEO requires SDL_LOADSO, which is not enabled") + endif() ++ 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 ++ ) ++ else() + set(SDL_VIDEO_DRIVER_WINDOWS 1) + file(GLOB WIN_VIDEO_SOURCES ${SDL2_SOURCE_DIR}/src/video/windows/*.c) ++ endif() + set(SOURCE_FILES ${SOURCE_FILES} ${WIN_VIDEO_SOURCES}) + +- if(RENDER_D3D AND HAVE_D3D_H) ++ if(RENDER_D3D AND HAVE_D3D_H AND NOT WINDOWS_STORE) + set(SDL_VIDEO_RENDER_D3D 1) + set(HAVE_RENDER_D3D TRUE) + endif() +@@ -1409,20 +1440,31 @@ + endif() + + if(SDL_POWER) ++ if(WINDOWS_STORE) ++ set(SDL_POWER_WINRT 1) ++ set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/winrt/SDL_syspower.cpp) ++ else() + set(SDL_POWER_WINDOWS 1) + set(SOURCE_FILES ${SOURCE_FILES} ${SDL2_SOURCE_DIR}/src/power/windows/SDL_syspower.c) ++ endif() + set(HAVE_SDL_POWER TRUE) + endif() + + if(SDL_FILESYSTEM) + set(SDL_FILESYSTEM_WINDOWS 1) ++ if(WINDOWS_STORE) ++ file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/winrt/*.cpp) ++ else() + file(GLOB FILESYSTEM_SOURCES ${SDL2_SOURCE_DIR}/src/filesystem/windows/*.c) ++ endif() + set(SOURCE_FILES ${SOURCE_FILES} ${FILESYSTEM_SOURCES}) + set(HAVE_SDL_FILESYSTEM TRUE) + endif() + + # Libraries for Win32 native and MinGW ++ if(NOT WINDOWS_STORE) + list(APPEND EXTRA_LIBS user32 gdi32 winmm imm32 ole32 oleaut32 version uuid advapi32 setupapi shell32) ++ endif() + + # TODO: in configure.ac the check for timers is set on + # cygwin | mingw32* - does this include mingw32CE? +@@ -1444,7 +1486,7 @@ + set(SOURCE_FILES ${SOURCE_FILES} ${CORE_SOURCES}) + + if(SDL_VIDEO) +- if(VIDEO_OPENGL) ++ if(VIDEO_OPENGL AND NOT WINDOWS_STORE) + set(SDL_VIDEO_OPENGL 1) + set(SDL_VIDEO_OPENGL_WGL 1) + set(SDL_VIDEO_RENDER_OGL 1) +@@ -2027,12 +2069,14 @@ + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + + # Always build SDLmain ++if(NOT WINDOWS_STORE) + add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) + target_include_directories(SDL2main PUBLIC "$" $ $) + set(_INSTALL_LIBS "SDL2main") + if (NOT ANDROID) + set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX "${SDL_CMAKE_DEBUG_POSTFIX}") + endif() ++endif() + + if (ANDROID AND HAVE_HIDAPI) + set(_INSTALL_LIBS ${_INSTALL_LIBS} "hidapi") +diff --git a/include/SDL_config.h.cmake b/include/SDL_config.h.cmake +index 48dd2d4..0c4fa28 100644 +--- a/include/SDL_config.h.cmake ++++ b/include/SDL_config.h.cmake +@@ -335,6 +326,7 @@ + #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@ + #cmakedefine SDL_VIDEO_DRIVER_OFFSCREEN @SDL_VIDEO_DRIVER_OFFSCREEN@ + #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@ ++#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@ + #cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@ + #cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@ + #cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@ +@@ -403,6 +404,7 @@ + #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ + #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ + #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ ++#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@ + #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@ + #cmakedefine SDL_POWER_UIKIT @SDL_POWER_UIKIT@ + #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@ +@@ -428,7 +430,7 @@ + #cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@ + #cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@ + +-#if !defined(__WIN32__) ++#if !defined(__WIN32__) && !defined(__WINRT__) + # if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) + typedef unsigned int size_t; + typedef signed char int8_t; diff --git a/ports/sdl2/fix-cmake-include-dir.patch b/ports/sdl2/fix-cmake-include-dir.patch deleted file mode 100644 index 11f70acc8..000000000 --- a/ports/sdl2/fix-cmake-include-dir.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index bd59d89b2..85ebe5f7b 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1789,7 +1789,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") - - # Always build SDLmain - add_library(SDL2main STATIC ${SDLMAIN_SOURCES}) --target_include_directories(SDL2main PUBLIC "$" $) -+target_include_directories(SDL2main PUBLIC "$" $ $) - set(_INSTALL_LIBS "SDL2main") - if (NOT ANDROID) - set_target_properties(SDL2main PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) -@@ -1820,7 +1820,7 @@ if(SDL_SHARED) - endif() - set(_INSTALL_LIBS "SDL2" ${_INSTALL_LIBS}) - target_link_libraries(SDL2 ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) -- target_include_directories(SDL2 PUBLIC "$" $) -+ target_include_directories(SDL2 PUBLIC "$" $ $) - if (NOT ANDROID) - set_target_properties(SDL2 PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) - endif() -@@ -1860,7 +1860,7 @@ if(SDL_STATIC) - # libraries - do we need to consider this? - set(_INSTALL_LIBS "SDL2-static" ${_INSTALL_LIBS}) - target_link_libraries(SDL2-static ${EXTRA_LIBS} ${EXTRA_LDFLAGS}) -- target_include_directories(SDL2-static PUBLIC "$" $) -+ target_include_directories(SDL2-static PUBLIC "$" $ $) - if (NOT ANDROID) - set_target_properties(SDL2-static PROPERTIES DEBUG_POSTFIX ${SDL_CMAKE_DEBUG_POSTFIX}) - endif() diff --git a/ports/sdl2/fix-x86-windows.patch b/ports/sdl2/fix-x86-windows.patch deleted file mode 100644 index 853b68722..000000000 --- a/ports/sdl2/fix-x86-windows.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c -index ff23c5e..fc90bba 100644 ---- a/src/events/SDL_mouse.c -+++ b/src/events/SDL_mouse.c -@@ -20,6 +20,10 @@ - */ - #include "../SDL_internal.h" - -+#ifdef __WIN32__ -+#include "../core/windows/SDL_windows.h" -+#endif -+ - /* General mouse handling code for SDL */ - - #include "SDL_assert.h" -- cgit v1.2.3