zipflags=-9
find "$@" -exec touch -d "2001-01-01 01:01:01 +0000" {} \+ # ugly hack to make the pk3 files rsync-friendly
ziplist=`mktemp`
- find "$@" -xtype f \( -executable -or -type l \) -print > "$ziplist"
+ find "$@" -xtype f \( -executable -or -type l \) -print | sed 's,\([./][^./]*$\),\1 \1,' | sort -k2 | cut -d\ -f1 > "$ziplist"
7za a -tzip $sevenzipflags -x@"$ziplist" "$archive" "$@" || true
zip $zipflags -y -@<"$ziplist" "$archive" || true
rm -f "$ziplist"
# - 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
verbose date +%Y%m%d > Xonotic/stamp.txt
verbose date +%Y%m%d > Xonotic/pk3stamp.txt
fi
- release_git_extract_dir "." "Xonotic" Docs misc server xonotic-linux-glx.sh xonotic-linux-sdl.sh xonotic-linux-dedicated.sh misc/buildfiles key_0.d0pk COPYING GPL-2 GPL-3
+ 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
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" .
(
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
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
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" LIB_JPEG= CFLAGS_LIBJPEG= 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" LIB_JPEG= CFLAGS_LIBJPEG= 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' \
+ 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' \
- all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.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' \
+ 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' \
- all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.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' \
+ 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)
;;
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
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
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 ''
;;
fi
# build the archives
verbose mkzip Xonotic-$stamp-enginesource.zip \
+ Xonotic/Makefile \
Xonotic/source/darkplaces/ \
Xonotic/COPYING Xonotic/GPL-2 Xonotic/GPL-3
verbose cp Xonotic-$stamp-enginesource.zip Xonotic-$stamp-engine.zip
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 \
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
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