]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/buildsrc/dlls.sh
autobuild SDL2 for Windows
[xonotic/xonotic.git] / misc / buildsrc / dlls.sh
index c5c8ff7285529a8f04c23aafdb0518d914dd4930..1a46c419997b943ac09bb4a2cd45b6e0a8928042 100755 (executable)
@@ -63,7 +63,7 @@ fetch_source () {
                return 1
        else
                echo "Getting source for $1..."
-               apt source "$1"
+               apt-get source -t=stable "$1"
                get_this_src "$1"
                return 0
        fi
@@ -101,12 +101,13 @@ build_zlib () {
              -G"Unix Makefiles" "$this_src"
        make
        make install
-}      
+}
 
 build_gmp () {
        fetch_source gmp || true
 
        mkcd "$work_dir/gmp"
+       autoreconf -i "$this_src"
        "$this_src/configure" --prefix="$pkg_dir" \
                              --host="$CHOST" \
                              --with-pic \
@@ -260,6 +261,22 @@ build_curl () {
        make install
 }
 
+build_libsdl2 ()
+{
+       fetch_source libsdl2 || true
+
+       # this subdir will be made available to DP's linker
+       mkdir -p "$pkg_dir/sdl"
+
+       mkcd "$work_dir/libsdl2"
+       cmake -DCMAKE_TOOLCHAIN_FILE="$toolchain_file" \
+             -DCMAKE_SYSTEM_PROCESSOR="$ARCH" \
+             -DCMAKE_INSTALL_PREFIX="$pkg_dir/sdl" \
+             -G"Unix Makefiles" "$this_src"
+       make
+       make install
+}
+
 build_all () {
        build_zlib
        build_gmp
@@ -271,6 +288,7 @@ build_all () {
        build_libpng16
        build_libjpeg
        build_curl
+       build_libsdl2
 }
 
 install () {
@@ -289,10 +307,11 @@ install () {
        cp -v "$pkg_dir/bin/libpng16.dll" "$out_dir"
        cp -v "$pkg_dir/bin/libjpeg-62.dll" "$out_dir/libjpeg.dll"
        cp -v "$pkg_dir/bin/libcurl.dll" "$out_dir/libcurl-4.dll"
+#      cp -v "$pkg_dir/sdl/bin/SDL2.dll" "$out_dir"
 
        # Required for win32 builds
        if [ "$ARCH" = "i686" ]; then
-               cp -v "/usr/lib/gcc/i686-w64-mingw32/10-win32/libgcc_s_dw2-1.dll" "$out_dir"
+               cp -v /usr/lib/gcc/i686-w64-mingw32/[0-9][0-9]-win32/libgcc_s_dw2-1.dll "$out_dir"
        fi
 
        cd "$out_dir"
@@ -319,6 +338,7 @@ list () {
        echo libpng16
        echo libjpeg
        echo curl
+       echo libsdl2
 }
 
 usage () {
@@ -357,6 +377,7 @@ case $step in
        libpng16)      prepare && build_libpng16 ;;
        libjpeg)       prepare && build_libjpeg ;;
        curl)          prepare && build_curl ;;
+       libsdl2)       prepare && build_libsdl2 ;;
        build_all)     prepare && build_all ;;
        install)       prepare && install ;;
        all)           prepare && build_all && install ;;