]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/release.subr
stop using libjpeg as shared on linux
[xonotic/xonotic.git] / misc / tools / all / release.subr
index e97bddb2595e270435d9dad2b9ae864b4f8f5dd8..eb402c2a3b6bd458830f454c6e2a7a3d432bb2d4 100644 (file)
@@ -134,7 +134,7 @@ case "$cmd" in
                                #   - xonotic-build-linux64 (with gcc on x86_64)
                                #   - xonotic-build-win32 (with i586-mingw32msvc-g++)
                                #   - xonotic-build-win64 (with amd64-mingw32msvc-g++
-                               #     and x86_64-w64-mingw32-g++)
+                               #     and amd64-mingw32msvc-g++)
                                #   - xonotic-build-osx (with Xcode and SDL.framework)
                                # - AMD Compressonator installed in WINE
                                # - ResEdit installed in WINE
@@ -173,7 +173,7 @@ case "$cmd" in
                release_git_extract_dir "." "Xonotic" Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh xonotic-linux-dedicated.sh Makefile misc/buildfiles key_0.d0pk COPYING GPL-2 GPL-3
                (
                        verbose cd Xonotic
-                       verbose mkdir data fteqcc source source/darkplaces source/fteqcc source/d0_blind_id mapping
+                       verbose mkdir data gmqcc source source/darkplaces source/gmqcc source/d0_blind_id mapping
                        verbose rm -rf misc/builddeps
                        verbose mv misc/buildfiles/win32 bin32 || true
                        verbose mv bin32/SDL.dll . || true
@@ -183,7 +183,7 @@ case "$cmd" in
                        verbose rm -rf misc/pki
                )
                release_git_extract_dir "darkplaces" "Xonotic/source/darkplaces" .
-               release_git_extract_dir "fteqcc" "Xonotic/source/fteqcc" .
+               release_git_extract_dir "gmqcc" "Xonotic/source/gmqcc" .
                release_git_extract_dir "data/xonotic-data.pk3dir" "Xonotic/source" qcsrc Makefile
                release_git_extract_dir "d0_blind_id" "Xonotic/source/d0_blind_id" .
                (
@@ -191,7 +191,7 @@ case "$cmd" in
                        verbose sh autogen.sh
                )
                rm -f Xonotic/key_15.d0pk
-               {
+               (
                        verbose cd Xonotic/mapping
                        verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120301.tar.bz2
                        verbose wget http://www.icculus.org/netradiant/files/netradiant-1.5.0-20120301-win32-7z.exe
@@ -200,7 +200,8 @@ case "$cmd" in
                                rm -f "$X"
                        done
                        # TODO possibly include other tools?
-               }
+               )
+               ./all each git rev-parse HEAD > Xonotic/misc/git-revisions.txt
                ;;
        release-compile-run)
                release_common
@@ -252,56 +253,48 @@ case "$cmd" in
                release_common
                suffix=$1
                makeflags=$2
-               fteqcc_maketargets=$3
-               fteqcc_files=$4
+               gmqcc_maketargets=$3
+               gmqcc_files=$4
                darkplaces_maketargets=$5
                darkplaces_files=$6
                host=xonotic-build-$suffix
-               verbose "$SELF" release-compile-run "$host" /tmp/fteqcc.build."$suffix" "$fteqcc_maketargets" "$makeflags" "Xonotic/source/fteqcc" "$d0/misc/builddeps/dp.$suffix" "$fteqcc_files"
+               verbose "$SELF" release-compile-run "$host" /tmp/gmqcc.build."$suffix" "$gmqcc_maketargets" "$makeflags" "Xonotic/source/gmqcc" "$d0/misc/builddeps/dp.$suffix" "$gmqcc_files"
                verbose "$SELF" release-compile-run "$host" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "Xonotic/source/darkplaces" "$d0/misc/builddeps/dp.$suffix" "$darkplaces_files"
                ;;
        release-engine-win32)
                release_common
                verbose "$SELF" release-compile win32 \
-                       'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -march=i686 -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DUSE_WSPIAPI_H -DSUPPORTIPV6" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=0' \
-                       win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \
-                       '' ''
-               verbose "$SELF" release-compile win32 \
-                       'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-g++ -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DUSE_WSPIAPI_H -DSUPPORTIPV6" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN32RELEASE=1 D3D=1' \
-                       '' '' \
+                       'STRIP=: DP_MAKE_TARGET=mingw UNAME=MINGW32 CC="i586-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I../../../.deps/include -L../../../.deps/lib -DUSE_WSPIAPI_H -DSUPPORTIPV6" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG="../../../.deps/bin/sdl-config" DP_LINK_ZLIB=dlopen DP_LINK_JPEG=dlopen DP_LINK_ODE=dlopen DP_LINK_CRYPTO=dlopen DP_LINK_CRYPTO_RIJNDAEL=dlopen WIN32RELEASE=1 D3D=1' \
+                       gmqcc.exe 'gmqcc.exe:Xonotic/gmqcc/gmqcc.exe' \
                        release 'darkplaces.exe:Xonotic/xonotic.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated.exe'
                ;;
        release-engine-win64)
                release_common
                verbose "$SELF" release-compile win64 \
-                       'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DSUPPORTIPV6" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \
-                       win 'fteqcc.exe:Xonotic/fteqcc/fteqcc-x64.exe' \
-                       'sv-release sdl-release' 'darkplaces-sdl.exe:Xonotic/xonotic-x64-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-x64-dedicated.exe'
-               verbose "$SELF" release-compile win64 \
-                       'STRIP=: DP_MAKE_TARGET=mingw CC="x86_64-w64-mingw32-g++ -g1 -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib -DSUPPORTIPV6" WINDRES="x86_64-w64-mingw32-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=1' \
-                       '' '' \
-                       cl-release 'darkplaces.exe:Xonotic/xonotic-x64.exe'
+                       'STRIP=: DP_MAKE_TARGET=mingw UNAME=MINGW32 CC="amd64-mingw32msvc-gcc -g1 -Wl,--dynamicbase -Wl,--nxcompat -I../../../.deps/include -L../../../.deps/lib -DSUPPORTIPV6" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="../../../.deps/bin/sdl-config" DP_LINK_ZLIB=dlopen DP_LINK_JPEG=dlopen DP_LINK_ODE=dlopen DP_LINK_CRYPTO=dlopen DP_LINK_CRYPTO_RIJNDAEL=dlopen WIN64RELEASE=1 D3D=1' \
+                       gmqcc.exe 'gmqcc.exe:Xonotic/gmqcc/gmqcc-x64.exe' \
+                       release 'darkplaces.exe:Xonotic/xonotic-x64.exe darkplaces-sdl.exe:Xonotic/xonotic-x64-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-x64-dedicated.exe'
                ;;
        release-engine-osx)
                release_common
                # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed
                verbose "$SELF" release-compile osx \
-                       'STRIP=: CC="gcc -g1 -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks -DSUPPORTIPV6"' \
-                       all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.osx' \
+                       'STRIP=: CC="gcc -g1 -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I../../../.deps/include -L../../../.deps/lib -fno-reorder-blocks -DSUPPORTIPV6" DP_LINK_ZLIB=shared DP_LINK_JPEG=dlopen DP_LINK_ODE=dlopen DP_LINK_CRYPTO=dlopen DP_LINK_CRYPTO_RIJNDAEL=dlopen' \
+                       gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.osx' \
                        'sv-release sdl-release' 'darkplaces-sdl:Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-sdl-bin darkplaces-dedicated:Xonotic/xonotic-osx-dedicated'
                ;;
        release-engine-linux32)
                release_common
                verbose "$SELF" release-compile linux32 \
-                       'STRIP=: CC="gcc -m32 -march=i686 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib DP_GMP_STATIC_LIBDIR=.deps/lib' \
-                       all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux32' \
+                       'STRIP=: CC="gcc -m32 -march=i686 -g1 -I../../../.deps/include -L../../../.deps/lib -DSUPPORTIPV6" LIB_JPEG=../../../.deps/lib/libjpeg.a LIB_CRYPTO="../../../.deps/lib/libd0_blind_id.a ../../../.deps/lib/libgmp.a" DP_LINK_ZLIB=shared DP_LINK_JPEG=dlopen DP_LINK_ODE=dlopen DP_LINK_CRYPTO=shared DP_LINK_CRYPTO_RIJNDAEL=dlopen' \
+                       gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.linux32' \
                        release 'darkplaces-glx:Xonotic/xonotic-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux32-dedicated'
                ;;
        release-engine-linux64)
                release_common
                verbose "$SELF" release-compile linux64 \
-                       'STRIP=: CC="gcc -m64 -g1 -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a DP_CRYPTO_STATIC_LIBDIR=.deps/lib DP_GMP_STATIC_LIBDIR=.deps/lib' \
-                       all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux64' \
+                       'STRIP=: CC="gcc -m64 -g1 -I../../../.deps/include -L../../../.deps/lib -DSUPPORTIPV6" LIB_JPEG=../../../.deps/lib/libjpeg.a LIB_CRYPTO="../../../.deps/lib/libd0_blind_id.a ../../../.deps/lib/libgmp.a" DP_LINK_ZLIB=shared DP_LINK_JPEG=dlopen DP_LINK_ODE=dlopen DP_LINK_CRYPTO=shared DP_LINK_CRYPTO_RIJNDAEL=dlopen' \
+                       gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.linux64' \
                        release 'darkplaces-glx:Xonotic/xonotic-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux64-dedicated'
                ;;
        release-engine)
@@ -324,8 +317,7 @@ case "$cmd" in
                ;;
        release-qc)
                release_common
-               verbose env GIT_DIR="$d0/data/xonotic-data.pk3dir/.git" make -C Xonotic/source FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
-               verbose rm -f Xonotic/source/qcsrc/*/fteqcc.log
+               verbose env GIT_DIR="$d0/data/xonotic-data.pk3dir/.git" make -C Xonotic/source QCC="$d0/Xonotic/gmqcc/gmqcc.linux64" XON_BUILDSYSTEM=1 clean all
                ;;
        release-buildpk3-transform-raw)
                release_common
@@ -377,6 +369,19 @@ case "$cmd" in
                verbose export del_src=true
                find . -type f -print0 | verbose xargs -0 "$d0"/misc/tools/cached-converter.sh
                ;;
+       release-buildpk3-transform-webp)
+               release_common
+               dir=$1
+               verbose cd "$dir"
+               # texture: convert to jpeg and dds
+               verbose export do_jpeg=false
+               verbose export do_webp=true
+               verbose export do_dds=false
+               verbose export do_ogg=false
+               verbose export ogg_ogg=false
+               verbose export del_src=true
+               find . -type f -print0 | verbose xargs -0 "$d0"/misc/tools/cached-converter.sh
+               ;;
        release-buildpk3-transform-lowdds)
                release_common
                dir=$1
@@ -525,8 +530,8 @@ case "$cmd" in
                release_common
                verbose "$SELF" release-buildpk3s data/font-nimbussansl.pk3dir  raw ''
                verbose "$SELF" release-buildpk3s data/font-xolonium.pk3dir     raw ''
-               verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir             low '-low' normaldds ''
-               verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir             low '-low' normaldds '' mapping '-mapping'
+               verbose "$SELF" release-buildpk3s data/xonotic-data.pk3dir             low '-low' normaldds ''                    webp '-high'
+               verbose "$SELF" release-buildpk3s data/xonotic-maps.pk3dir             low '-low' normaldds '' mapping '-mapping' webp '-high'
                verbose "$SELF" release-buildpk3s data/xonotic-music.pk3dir     raw '' low '-low'
                verbose "$SELF" release-buildpk3s data/xonotic-nexcompat.pk3dir                   normaldds ''
                ;;
@@ -571,11 +576,11 @@ case "$cmd" in
                verbose cp Xonotic-$stamp-engine.zip Xonotic-$stamp-common.zip
                verbose mkzip Xonotic-$stamp-common.zip \
                        Xonotic/source/d0_blind_id/ \
-                       Xonotic/source/fteqcc/ \
+                       Xonotic/source/gmqcc/ \
                        Xonotic/source/qcsrc/ \
                        Xonotic/Docs \
                        Xonotic/misc \
-                       Xonotic/fteqcc \
+                       Xonotic/gmqcc \
                        Xonotic/server \
                        Xonotic/key_0.d0pk \
                        Xonotic/data/font-nimbussansl-$pk3stamp.pk3 \
@@ -583,7 +588,7 @@ case "$cmd" in
                verbose cp Xonotic-$stamp-enginesource.zip Xonotic-$stamp-source.zip
                verbose mkzip Xonotic-$stamp-source.zip \
                        Xonotic/source/d0_blind_id/ \
-                       Xonotic/source/fteqcc/ \
+                       Xonotic/source/gmqcc/ \
                        Xonotic/source/qcsrc/ \
                        Xonotic/misc/logos
                verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp.zip
@@ -592,15 +597,23 @@ case "$cmd" in
                        Xonotic/data/xonotic-$pk3stamp-maps.pk3 \
                        Xonotic/data/xonotic-$pk3stamp-music.pk3 \
                        Xonotic/data/xonotic-$pk3stamp-nexcompat.pk3
-               verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-low.zip
+               verbose cp Xonotic-$stamp-common.zip Xonotic-$stamp-low.zip
                verbose mkzip0 Xonotic-$stamp-low.zip \
                        Xonotic/data/xonotic-$pk3stamp-data-low.pk3 \
                        Xonotic/data/xonotic-$pk3stamp-maps-low.pk3 \
                        Xonotic/data/xonotic-$pk3stamp-music-low.pk3
+               verbose mv Xonotic-$stamp-common.zip Xonotic-$stamp-high.zip
+               verbose mkzip0 Xonotic-$stamp-high.zip \
+                       Xonotic/data/xonotic-$pk3stamp-data-high.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-maps-high.pk3 \
+                       Xonotic/data/xonotic-$pk3stamp-music.pk3
                verbose mkzip Xonotic-$stamp-mappingsupport.zip \
                        Xonotic/mapping
                verbose mkzip0 Xonotic-$stamp-mappingsupport.zip \
                        Xonotic/data/xonotic-$pk3stamp-maps-mapping.pk3
+               verbose mkzip gmqcc-$stamp.zip \
+                       Xonotic/gmqcc \
+                       Xonotic/source/gmqcc
                ;;
        release)
                release_common