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"
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 fteqcc source source/darkplaces source/fteqcc 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
)
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" .
(
makeflags=$2
fteqcc_maketargets=$3
fteqcc_files=$4
- darkplaces_maketargets=$5
- darkplaces_files=$6
+ gmqcc_maketargets=$5
+ gmqcc_files=$6
+ darkplaces_maketargets=$7
+ darkplaces_files=$8
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' \
+ 'STRIP=: DP_MAKE_TARGET=mingw 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 'gmqcc:Xonotic/gmqcc/gmqcc.exe' \
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' \
- '' '' \
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 CC="x86_64-w64-mingw32-gcc -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' \
+ gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc-x64.exe' \
+ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.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"' \
+ gmqcc 'gmqcc:Xonotic/gmqcc/gmqcc.osx' \
all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.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' \
+ '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' \
all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.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' \
+ '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' \
all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux64' \
release 'darkplaces-glx:Xonotic/xonotic-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux64-dedicated'
;;
;;
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 env GIT_DIR="$d0/data/xonotic-data.pk3dir/.git" make -C Xonotic/source QCC="$d0/Xonotic/fteqcc/fteqcc.linux32" XON_BUILDSYSTEM=1 clean all
verbose rm -f Xonotic/source/qcsrc/*/fteqcc.log
;;
release-buildpk3-transform-raw)
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 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