Skip to content

Commit e32f89b

Browse files
authored
Merge pull request #224 from Ghabry/android
Android: Update to NDK 28 which has a default alignment of 16k (Required since Nov 2025) and drop SDL2
2 parents 5526e79 + 7a3b8cf commit e32f89b

18 files changed

Lines changed: 12 additions & 94 deletions

LICENSE

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ lhasa: ISC
1515
mpg123: LGPLv2.1+
1616
nlohmann-json: MIT
1717
ogg: BSD
18-
opus: BSD
19-
opusfile: BSD
18+
opus: BSD
19+
opusfile: BSD
2020
pixman: MIT
2121
png: zlib
2222
samplerate: BSD
23-
SDL2: zlib
23+
SDL3: zlib
2424
sndfile: LGPLv2.1+
2525
speexdsp: BSD
2626
vorbis: BSD

android/1_download_library.sh

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ else
3838
exit 1
3939
fi
4040

41-
SDK_VERSION="9477386_latest"
41+
SDK_VERSION="14742923_latest"
4242
SDK_URL="https://dl.google.com/android/repository/commandlinetools-${SDK_PLATFORM}-${SDK_VERSION}.zip"
4343
curl -sSLOR "$SDK_URL"
4444
unzip commandlinetools-${SDK_PLATFORM}-${SDK_VERSION}.zip
@@ -68,7 +68,7 @@ echo "y" | ./cmdline-tools/latest/bin/sdkmanager --verbose "cmake;3.22.1"
6868

6969
msg " [3] Installing Android NDK"
7070

71-
echo "y" | ./cmdline-tools/latest/bin/sdkmanager --verbose "ndk;21.4.7075529"
71+
echo "y" | ./cmdline-tools/latest/bin/sdkmanager --verbose "ndk;28.2.13676358"
7272

7373
cd ..
7474

@@ -162,14 +162,6 @@ download_and_extract $ICU_URL
162162
rm -f $ICUDATA_FILES
163163
download_and_extract $ICUDATA_URL
164164

165-
# SDL2
166-
rm -rf $SDL2_DIR
167-
download_and_extract $SDL2_URL
168-
169-
# SDL3
170-
rm -rf $SDL3_DIR
171-
download_and_extract $SDL3_URL
172-
173165
# liblcf
174166
rm -rf liblcf
175167
download_liblcf

android/2_build_toolchain.sh

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -31,30 +31,9 @@ if [ ! -f .patches-applied ]; then
3131
patch -Np1 < ../pixman-cpufeatures.patch
3232
)
3333

34-
# use android config
35-
(cd $SDL2_DIR
36-
mv include/SDL_config_android.h include/SDL_config.h
37-
mkdir -p jni
38-
)
39-
4034
touch .patches-applied
4135
fi
4236

43-
# Install SDL2
44-
# FIXME: Remove this when SDL3 migration is done
45-
function install_lib_sdl {
46-
# $1: platform (armeabi-v7a aarch64 x86 x86_x64)
47-
48-
pushd $SDL2_DIR
49-
echo "APP_ABI := $1" >> "jni/Application.mk"
50-
ndk-build NDK_PROJECT_PATH=. NDK_DEBUG=0 APP_BUILD_SCRIPT=./Android.mk APP_PLATFORM=android-$TARGET_API
51-
mkdir -p $PLATFORM_PREFIX/lib
52-
mkdir -p $PLATFORM_PREFIX/include/SDL2
53-
cp libs/$1/* $PLATFORM_PREFIX/lib/
54-
cp include/* $PLATFORM_PREFIX/include/SDL2/
55-
cd ..
56-
}
57-
5837
function build() {
5938
# $1: Toolchain Name
6039
# $2: Toolchain architecture
@@ -66,15 +45,7 @@ function build() {
6645

6746
echo "Preparing $1 toolchain"
6847

69-
export TARGET_API=16
70-
if [ "$3" = "arm64" ]; then
71-
# Minimum API 21 on ARM64
72-
export TARGET_API=21
73-
fi
74-
if [ "$3" = "x86_64" ]; then
75-
# Minimum API 21 on x86_64
76-
export TARGET_API=21
77-
fi
48+
export TARGET_API=21
7849

7950
export PATH=$OLD_PATH
8051
export PLATFORM_PREFIX=$WORKSPACE/$2-toolchain
@@ -85,7 +56,7 @@ function build() {
8556
export NM=$NDK_PATH/llvm-nm
8657
export RANLIB=$NDK_PATH/llvm-ranlib
8758

88-
export CFLAGS="-no-integrated-as -g0 -O2 -fPIC $5"
59+
export CFLAGS="-g0 -O2 -fPIC $5"
8960
export CXXFLAGS="$CFLAGS"
9061
export CPPFLAGS="-I$PLATFORM_PREFIX/include -I$ANDROID_NDK/sources/android/cpufeatures"
9162
export LDFLAGS="-L$PLATFORM_PREFIX/lib"
@@ -122,12 +93,11 @@ function build() {
12293
install_lib $LHASA_DIR $LHASA_ARGS
12394
install_lib_cmake $FMT_DIR $FMT_ARGS
12495
install_lib_icu_cross
125-
install_lib_sdl "$2"
12696
install_lib_liblcf
12797
}
12898

12999
export SDK_ROOT=$WORKSPACE/android-sdk
130-
export ANDROID_NDK=$SDK_ROOT/ndk/21.4.7075529
100+
export ANDROID_NDK=$SDK_ROOT/ndk/28.2.13676358
131101

132102
export MAKEFLAGS="-j${nproc:-2}"
133103

emscripten/1_download_library.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,6 @@ download_and_extract $ICU_URL
142142
rm -f $ICUDATA_FILES
143143
download_and_extract $ICUDATA_URL
144144

145-
# SDL2
146-
rm -rf $SDL2_DIR
147-
download_and_extract $SDL2_URL
148-
149145
# SDL3
150146
rm -rf $SDL3_DIR
151147
download_and_extract $SDL3_URL

emscripten/2_build_toolchain.sh

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -121,14 +121,6 @@ install_lib_cmake $NLOHMANNJSON_DIR $NLOHMANNJSON_ARGS
121121
install_lib_meson $INIH_DIR $INIH_ARGS
122122
#install_lib $LHASA_DIR $LHASA_ARGS
123123
install_lib_cmake $FMT_DIR $FMT_ARGS
124-
125-
# emscripten TARGET_HOST does not work for all libraries but SDL2 requires it
126-
export TARGET_HOST="asmjs-unknown-emscripten"
127-
rm -f config.cache
128-
install_lib $SDL2_DIR $SDL2_ARGS --disable-assembly --disable-threads --disable-cpuinfo
129-
rm -f config.cache
130-
unset TARGET_HOST
131-
132124
install_lib_cmake $SDL3_DIR $SDL3_ARGS
133125

134126
install_lib_icu_cross

emscripten/3_cleanup.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,4 @@ headermsg "Cleaning up library build folders and other stuff..."
77

88
cleanup
99

10-
rm -rf SDL2/
11-
1210
echo " -> done"

ios/1_download_library.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -100,10 +100,6 @@ download_and_extract $ICUDATA_URL
100100

101101
msg " [3] Downloading platform libraries"
102102

103-
# SDL2
104-
rm -rf $SDL2_DIR
105-
download_and_extract $SDL2_URL
106-
107103
# SDL3
108104
rm -rf $SDL3_DIR
109105
download_and_extract $SDL3_URL

ios/2_build_toolchain.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ function build() {
8989
install_lib_icu_cross
9090
icu_force_data_install
9191
install_lib_liblcf
92-
install_lib_cmake $SDL2_DIR $SDL2_ARGS
9392
install_lib_cmake $SDL3_DIR $SDL3_ARGS
9493
}
9594

linux-static/1_download_library.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -98,10 +98,6 @@ download_and_extract $ICU_URL
9898
rm -f $ICUDATA_FILES
9999
download_and_extract $ICUDATA_URL
100100

101-
# SDL2
102-
rm -rf $SDL2_DIR
103-
download_and_extract $SDL2_URL
104-
105101
# SDL3
106102
rm -rf $SDL3_DIR
107103
download_and_extract $SDL3_URL

linux-static/2_build_toolchain.sh

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ install_lib $LHASA_DIR $LHASA_ARGS
6666
install_lib_cmake $FMT_DIR $FMT_ARGS
6767
install_lib $ICU_DIR/source $ICU_ARGS
6868
install_lib_liblcf
69-
install_lib $SDL2_DIR $SDL2_ARGS PULSEAUDIO_CFLAGS=-Ixxxdir PULSEAUDIO_LIBS=-lxxxlib
7069
install_lib_cmake $FREEIMAGE_DIR $FREEIMAGE_ARGS
7170

7271
# Ensure that SDL3 finds the system libraries

0 commit comments

Comments
 (0)