Use cmake for SDL, add more X11 dependencies

This commit is contained in:
BtbN 2021-12-09 00:48:19 +01:00
parent 3efcb24f50
commit 5aa01f37e3
8 changed files with 268 additions and 31 deletions

View file

@ -1,40 +1,33 @@
#!/bin/bash
SDL_SRC="https://libsdl.org/release/SDL2-2.0.18.tar.gz"
SDL_REPO="https://github.com/libsdl-org/SDL.git"
SDL_COMMIT="615f7b4453864d9475e8b20faa78ec67be357f1e"
ffbuild_enabled() {
return 0
}
ffbuild_dockerbuild() {
mkdir sdl
git-mini-clone "$SDL_REPO" "$SDL_COMMIT" sdl
cd sdl
wget "$SDL_SRC" -O SDL.tar.gz
tar xaf SDL.tar.gz
rm SDL.tar.gz
cd SDL*
mkdir build && cd build
./autogen.sh
cmake -GNinja -DCMAKE_TOOLCHAIN_FILE="$FFBUILD_CMAKE_TOOLCHAIN" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$FFBUILD_PREFIX" \
-DSDL_SHARED=OFF -DSDL_STATIC=ON -DSDL_STATIC_PIC=ON -DSDL_X11_SHARED=OFF \
-DHAVE_XGENERICEVENT=TRUE -DSDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM=1 \
..
local myconf=(
--prefix="$FFBUILD_PREFIX"
--disable-shared
--enable-static
)
exit 1
if [[ $TARGET == win* || $TARGET == linux* ]]; then
myconf+=(
--host="$FFBUILD_TOOLCHAIN"
)
else
echo "Unknown target"
return -1
ninja -j$(nproc)
ninja install
if [[ $TARGET == linux* ]]; then
sed -ri -e 's/ \-l\/.+?\.a//g' \
"$FFBUILD_PREFIX"/lib/pkgconfig/sdl2.pc
echo 'Requires: xxf86vm xscrnsaver xrandr xfixes xi xinerama xcursor' >> "$FFBUILD_PREFIX"/lib/pkgconfig/sdl2.pc
fi
./configure "${myconf[@]}"
make -j$(nproc)
make install
}
ffbuild_configure() {
@ -44,11 +37,3 @@ ffbuild_configure() {
ffbuild_unconfigure() {
echo --disable-sdl2
}
ffbuild_cflags() {
return 0
}
ffbuild_ldflags() {
return 0
}