From c131f2b717f22fef4f441a9658613684a306cf0a Mon Sep 17 00:00:00 2001 From: Ghabry Date: Fri, 15 May 2026 16:43:15 +0200 Subject: [PATCH 1/3] Android: Update to NDK 28 which has a default alignment of 16k (Required since Nov 2025) NDK 28 still supports Android 5 and newer so this won't make anything incompatible. --- android/1_download_library.sh | 4 ++-- android/2_build_toolchain.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/android/1_download_library.sh b/android/1_download_library.sh index 56a33b4b..7fd8c69a 100755 --- a/android/1_download_library.sh +++ b/android/1_download_library.sh @@ -38,7 +38,7 @@ else exit 1 fi -SDK_VERSION="9477386_latest" +SDK_VERSION="14742923_latest" SDK_URL="https://dl.google.com/android/repository/commandlinetools-${SDK_PLATFORM}-${SDK_VERSION}.zip" curl -sSLOR "$SDK_URL" unzip commandlinetools-${SDK_PLATFORM}-${SDK_VERSION}.zip @@ -68,7 +68,7 @@ echo "y" | ./cmdline-tools/latest/bin/sdkmanager --verbose "cmake;3.22.1" msg " [3] Installing Android NDK" -echo "y" | ./cmdline-tools/latest/bin/sdkmanager --verbose "ndk;21.4.7075529" +echo "y" | ./cmdline-tools/latest/bin/sdkmanager --verbose "ndk;28.2.13676358" cd .. diff --git a/android/2_build_toolchain.sh b/android/2_build_toolchain.sh index 04949107..a485edce 100755 --- a/android/2_build_toolchain.sh +++ b/android/2_build_toolchain.sh @@ -85,7 +85,7 @@ function build() { export NM=$NDK_PATH/llvm-nm export RANLIB=$NDK_PATH/llvm-ranlib - export CFLAGS="-no-integrated-as -g0 -O2 -fPIC $5" + export CFLAGS="-g0 -O2 -fPIC $5" export CXXFLAGS="$CFLAGS" export CPPFLAGS="-I$PLATFORM_PREFIX/include -I$ANDROID_NDK/sources/android/cpufeatures" export LDFLAGS="-L$PLATFORM_PREFIX/lib" From b3ed5f25c0aa9d3cfac39cec7d3e9e0614f68c7d Mon Sep 17 00:00:00 2001 From: Ghabry Date: Tue, 26 May 2026 21:14:11 +0200 Subject: [PATCH 2/3] Android: Fix NDK dir and set API level to 21 which is required by SDL3 --- android/2_build_toolchain.sh | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/android/2_build_toolchain.sh b/android/2_build_toolchain.sh index a485edce..fb9b43de 100755 --- a/android/2_build_toolchain.sh +++ b/android/2_build_toolchain.sh @@ -66,15 +66,7 @@ function build() { echo "Preparing $1 toolchain" - export TARGET_API=16 - if [ "$3" = "arm64" ]; then - # Minimum API 21 on ARM64 - export TARGET_API=21 - fi - if [ "$3" = "x86_64" ]; then - # Minimum API 21 on x86_64 - export TARGET_API=21 - fi + export TARGET_API=21 export PATH=$OLD_PATH export PLATFORM_PREFIX=$WORKSPACE/$2-toolchain @@ -127,7 +119,7 @@ function build() { } export SDK_ROOT=$WORKSPACE/android-sdk -export ANDROID_NDK=$SDK_ROOT/ndk/21.4.7075529 +export ANDROID_NDK=$SDK_ROOT/ndk/28.2.13676358 export MAKEFLAGS="-j${nproc:-2}" From 7a3b8cf510f2bc077e97d6344ade4867946903f2 Mon Sep 17 00:00:00 2001 From: Ghabry Date: Tue, 26 May 2026 21:22:26 +0200 Subject: [PATCH 3/3] Drop SDL2 --- LICENSE | 6 +++--- android/1_download_library.sh | 8 -------- android/2_build_toolchain.sh | 22 ---------------------- emscripten/1_download_library.sh | 4 ---- emscripten/2_build_toolchain.sh | 8 -------- emscripten/3_cleanup.sh | 2 -- ios/1_download_library.sh | 4 ---- ios/2_build_toolchain.sh | 1 - linux-static/1_download_library.sh | 4 ---- linux-static/2_build_toolchain.sh | 1 - macos/1_download_library.sh | 4 ---- macos/2_build_toolchain.sh | 1 - shared/common.sh | 4 ++-- shared/packages.ini | 6 ------ shared/packages.sh | 4 ---- tvos/1_download_library.sh | 4 ---- tvos/2_build_toolchain.sh | 1 - windows/build.cmd | 4 ++-- 18 files changed, 7 insertions(+), 81 deletions(-) diff --git a/LICENSE b/LICENSE index 44a0666a..a7beeda7 100644 --- a/LICENSE +++ b/LICENSE @@ -15,12 +15,12 @@ lhasa: ISC mpg123: LGPLv2.1+ nlohmann-json: MIT ogg: BSD -opus: BSD -opusfile: BSD +opus: BSD +opusfile: BSD pixman: MIT png: zlib samplerate: BSD -SDL2: zlib +SDL3: zlib sndfile: LGPLv2.1+ speexdsp: BSD vorbis: BSD diff --git a/android/1_download_library.sh b/android/1_download_library.sh index 7fd8c69a..c785ac65 100755 --- a/android/1_download_library.sh +++ b/android/1_download_library.sh @@ -162,14 +162,6 @@ download_and_extract $ICU_URL rm -f $ICUDATA_FILES download_and_extract $ICUDATA_URL -# SDL2 -rm -rf $SDL2_DIR -download_and_extract $SDL2_URL - -# SDL3 -rm -rf $SDL3_DIR -download_and_extract $SDL3_URL - # liblcf rm -rf liblcf download_liblcf diff --git a/android/2_build_toolchain.sh b/android/2_build_toolchain.sh index fb9b43de..09d69c6a 100755 --- a/android/2_build_toolchain.sh +++ b/android/2_build_toolchain.sh @@ -31,30 +31,9 @@ if [ ! -f .patches-applied ]; then patch -Np1 < ../pixman-cpufeatures.patch ) - # use android config - (cd $SDL2_DIR - mv include/SDL_config_android.h include/SDL_config.h - mkdir -p jni - ) - touch .patches-applied fi -# Install SDL2 -# FIXME: Remove this when SDL3 migration is done -function install_lib_sdl { - # $1: platform (armeabi-v7a aarch64 x86 x86_x64) - - pushd $SDL2_DIR - echo "APP_ABI := $1" >> "jni/Application.mk" - ndk-build NDK_PROJECT_PATH=. NDK_DEBUG=0 APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-$TARGET_API - mkdir -p $PLATFORM_PREFIX/lib - mkdir -p $PLATFORM_PREFIX/include/SDL2 - cp libs/$1/* $PLATFORM_PREFIX/lib/ - cp include/* $PLATFORM_PREFIX/include/SDL2/ - cd .. -} - function build() { # $1: Toolchain Name # $2: Toolchain architecture @@ -114,7 +93,6 @@ function build() { install_lib $LHASA_DIR $LHASA_ARGS install_lib_cmake $FMT_DIR $FMT_ARGS install_lib_icu_cross - install_lib_sdl "$2" install_lib_liblcf } diff --git a/emscripten/1_download_library.sh b/emscripten/1_download_library.sh index 7b2481f6..426c0864 100755 --- a/emscripten/1_download_library.sh +++ b/emscripten/1_download_library.sh @@ -142,10 +142,6 @@ download_and_extract $ICU_URL rm -f $ICUDATA_FILES download_and_extract $ICUDATA_URL -# SDL2 -rm -rf $SDL2_DIR -download_and_extract $SDL2_URL - # SDL3 rm -rf $SDL3_DIR download_and_extract $SDL3_URL diff --git a/emscripten/2_build_toolchain.sh b/emscripten/2_build_toolchain.sh index 173114be..f77eff5e 100755 --- a/emscripten/2_build_toolchain.sh +++ b/emscripten/2_build_toolchain.sh @@ -121,14 +121,6 @@ install_lib_cmake $NLOHMANNJSON_DIR $NLOHMANNJSON_ARGS install_lib_meson $INIH_DIR $INIH_ARGS #install_lib $LHASA_DIR $LHASA_ARGS install_lib_cmake $FMT_DIR $FMT_ARGS - -# emscripten TARGET_HOST does not work for all libraries but SDL2 requires it -export TARGET_HOST="asmjs-unknown-emscripten" -rm -f config.cache -install_lib $SDL2_DIR $SDL2_ARGS --disable-assembly --disable-threads --disable-cpuinfo -rm -f config.cache -unset TARGET_HOST - install_lib_cmake $SDL3_DIR $SDL3_ARGS install_lib_icu_cross diff --git a/emscripten/3_cleanup.sh b/emscripten/3_cleanup.sh index 24173e7a..b9803ec9 100755 --- a/emscripten/3_cleanup.sh +++ b/emscripten/3_cleanup.sh @@ -7,6 +7,4 @@ headermsg "Cleaning up library build folders and other stuff..." cleanup -rm -rf SDL2/ - echo " -> done" diff --git a/ios/1_download_library.sh b/ios/1_download_library.sh index 30293bbe..66672172 100755 --- a/ios/1_download_library.sh +++ b/ios/1_download_library.sh @@ -100,10 +100,6 @@ download_and_extract $ICUDATA_URL msg " [3] Downloading platform libraries" -# SDL2 -rm -rf $SDL2_DIR -download_and_extract $SDL2_URL - # SDL3 rm -rf $SDL3_DIR download_and_extract $SDL3_URL diff --git a/ios/2_build_toolchain.sh b/ios/2_build_toolchain.sh index b0e11eb6..cc4e700d 100755 --- a/ios/2_build_toolchain.sh +++ b/ios/2_build_toolchain.sh @@ -89,7 +89,6 @@ function build() { install_lib_icu_cross icu_force_data_install install_lib_liblcf - install_lib_cmake $SDL2_DIR $SDL2_ARGS install_lib_cmake $SDL3_DIR $SDL3_ARGS } diff --git a/linux-static/1_download_library.sh b/linux-static/1_download_library.sh index 2dee9bdd..c20d26e7 100755 --- a/linux-static/1_download_library.sh +++ b/linux-static/1_download_library.sh @@ -98,10 +98,6 @@ download_and_extract $ICU_URL rm -f $ICUDATA_FILES download_and_extract $ICUDATA_URL -# SDL2 -rm -rf $SDL2_DIR -download_and_extract $SDL2_URL - # SDL3 rm -rf $SDL3_DIR download_and_extract $SDL3_URL diff --git a/linux-static/2_build_toolchain.sh b/linux-static/2_build_toolchain.sh index 7854c007..bc4b8102 100755 --- a/linux-static/2_build_toolchain.sh +++ b/linux-static/2_build_toolchain.sh @@ -66,7 +66,6 @@ install_lib $LHASA_DIR $LHASA_ARGS install_lib_cmake $FMT_DIR $FMT_ARGS install_lib $ICU_DIR/source $ICU_ARGS install_lib_liblcf -install_lib $SDL2_DIR $SDL2_ARGS PULSEAUDIO_CFLAGS=-Ixxxdir PULSEAUDIO_LIBS=-lxxxlib install_lib_cmake $FREEIMAGE_DIR $FREEIMAGE_ARGS # Ensure that SDL3 finds the system libraries diff --git a/macos/1_download_library.sh b/macos/1_download_library.sh index 6b2b7852..794bd847 100755 --- a/macos/1_download_library.sh +++ b/macos/1_download_library.sh @@ -100,10 +100,6 @@ download_and_extract $ICUDATA_URL msg " [3] Downloading platform libraries" -# SDL2 -rm -rf $SDL2_DIR -download_and_extract $SDL2_URL - # SDL3 rm -rf $SDL3_DIR download_and_extract $SDL3_URL diff --git a/macos/2_build_toolchain.sh b/macos/2_build_toolchain.sh index 23858dac..c8d781ca 100755 --- a/macos/2_build_toolchain.sh +++ b/macos/2_build_toolchain.sh @@ -88,7 +88,6 @@ function build() { install_lib_cmake $FMT_DIR $FMT_ARGS install_lib_icu_cross icu_force_data_install - install_lib $SDL2_DIR $SDL2_ARGS --disable-assembly install_lib_cmake $SDL3_DIR $SDL3_ARGS install_lib_cmake $FREEIMAGE_DIR $FREEIMAGE_ARGS install_lib_liblcf diff --git a/shared/common.sh b/shared/common.sh index 1acb9d44..72d9f62c 100644 --- a/shared/common.sh +++ b/shared/common.sh @@ -67,7 +67,7 @@ function download_liblcf { # color check HAVE_COLORS=0 if [ -t 1 ] ; then - HAVE_COLORS=1 + HAVE_COLORS=1 fi function colormsg { @@ -404,7 +404,7 @@ function cleanup { rm -rf zlib-*/ libpng-*/ freetype-*/ harfbuzz-*/ pixman-*/ expat-*/ libogg-*/ \ libvorbis-*/ tremor-*/ mpg123-*/ libsndfile-*/ libxmp-lite-*/ speexdsp-*/ \ libsamplerate-*/ wildmidi-*/ opus-*/ opusfile-*/ icu/ icu-native/ icu-cross/ \ - SDL2-*/ SDL3-*/ fmt-*/ FluidLite-*/ fluidsynth-*/ json-*/ inih-*/ \ + SDL3-*/ fmt-*/ FluidLite-*/ fluidsynth-*/ json-*/ inih-*/ \ lhasa-*/ freeimage-* liblcf/ rm -f *.zip *.bz2 *.gz *.xz *.tgz icudt* .patches-applied config.cache meson-cross.txt rm -rf sbin/ share/ diff --git a/shared/packages.ini b/shared/packages.ini index c1dfb863..2437c8e1 100644 --- a/shared/packages.ini +++ b/shared/packages.ini @@ -165,12 +165,6 @@ url = https://ci.easyrpg.org/job/icudata/lastSuccessfulBuild/artifact/icudata${v files = "icudt*.dat" anitya_id = 379847 -[SDL2] -comment = Remove when SDL3 migration is done -version = 2.32.10 -url = "https://libsdl.org/release/SDL2-${version}.tar.gz" -anitya_id = 4779 - [SDL3] version = 3.4.4 url = "https://libsdl.org/release/SDL3-${version}.tar.gz" diff --git a/shared/packages.sh b/shared/packages.sh index 99fc822b..2755e6fd 100644 --- a/shared/packages.sh +++ b/shared/packages.sh @@ -105,10 +105,6 @@ ICU_ARGS="--enable-strict=no --disable-tests --disable-samples \ ICUDATA_URL=https://ci.easyrpg.org/job/icudata/lastSuccessfulBuild/artifact/icudata78_all.tar.gz ICUDATA_FILES="icudt*.dat" -# Remove when SDL3 migration is done -SDL2_URL="https://libsdl.org/release/SDL2-2.32.10.tar.gz" -SDL2_DIR="SDL2-2.32.10" - SDL3_URL="https://libsdl.org/release/SDL3-3.4.4.tar.gz" SDL3_ARGS="-DSDL_TEST_LIBRARY=OFF -DSDL_EXAMPLES=OFF" SDL3_DIR="SDL3-3.4.4" diff --git a/tvos/1_download_library.sh b/tvos/1_download_library.sh index 30293bbe..66672172 100755 --- a/tvos/1_download_library.sh +++ b/tvos/1_download_library.sh @@ -100,10 +100,6 @@ download_and_extract $ICUDATA_URL msg " [3] Downloading platform libraries" -# SDL2 -rm -rf $SDL2_DIR -download_and_extract $SDL2_URL - # SDL3 rm -rf $SDL3_DIR download_and_extract $SDL3_URL diff --git a/tvos/2_build_toolchain.sh b/tvos/2_build_toolchain.sh index 0e4f204a..c939d9a2 100755 --- a/tvos/2_build_toolchain.sh +++ b/tvos/2_build_toolchain.sh @@ -89,7 +89,6 @@ function build() { install_lib_icu_cross icu_force_data_install install_lib_liblcf - install_lib_cmake $SDL2_DIR $SDL2_ARGS install_lib_cmake $SDL3_DIR $SDL3_ARGS } diff --git a/windows/build.cmd b/windows/build.cmd index 8482a921..6659e6bd 100644 --- a/windows/build.cmd +++ b/windows/build.cmd @@ -10,7 +10,7 @@ vcpkg install --triplet x86-windows-static --recurse^ libvorbis[core] libsndfile[core] wildmidi[core] libxmp[core]^ speexdsp[core] mpg123[core] opusfile[core] fluidsynth[core]^ inih[cpp] lhasa-easyrpg[core]^ - sdl2[core] sdl3[core] icu-easyrpg[core] nlohmann-json[core] fmt[core] + sdl3[core] icu-easyrpg[core] nlohmann-json[core] fmt[core] :: Build 64-bit libraries vcpkg install --triplet x64-windows-static --recurse^ @@ -18,4 +18,4 @@ vcpkg install --triplet x64-windows-static --recurse^ libvorbis[core] libsndfile[core] wildmidi[core] libxmp[core]^ speexdsp[core] mpg123[core] opusfile[core] fluidsynth[core]^ inih[cpp] lhasa-easyrpg[core]^ - sdl2[core] sdl3[core] icu-easyrpg[core] nlohmann-json[core] fmt[core] + sdl3[core] icu-easyrpg[core] nlohmann-json[core] fmt[core]