X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=1c4838550a006c6fcc57d7be3071b08cd5ea946a;hp=35bc418f84ad71d273b968a6e5a63d1de5794edc;hb=bcb9893f3163b29ef856fd4340e0a3ec13c20b9f;hpb=a8107a6553508c297ccdd8f0f701cf2b541370ce diff --git a/all b/all index 35bc418f..1c483855 100755 --- a/all +++ b/all @@ -138,14 +138,14 @@ esac repourl() { - t=`echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 2 | tr -d ' '` - if [ -n "$t" ]; then - case "$t" in + repo_t=`echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 2 | tr -d ' '` + if [ -n "$repo_t" ]; then + case "$repo_t" in *://*) - echo "$t" + echo "$repo_t" ;; *) - echo "$base$t" + echo "$base$repo_t" ;; esac else @@ -159,9 +159,9 @@ repourl() repobranch() { - t=`echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 3 | tr -d ' '` - if [ -n "$t" ]; then - echo "$t" + repo_t=`echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 3 | tr -d ' '` + if [ -n "$repo_t" ]; then + echo "$repo_t" else echo "master" fi @@ -170,7 +170,6 @@ repobranch() repoflags() { echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 4 | tr -d ' ' - echo "$t" } repos=`for d in $repos; do @@ -426,7 +425,7 @@ case "$cmd" in if [ -z "$CC" ]; then export CC=gcc fi - elif [ x"`uname`" = x"Darwin" ] && ( [ -d /Library/Frameworks/SDL.framework ] || [ -d $(HOME)/Library/Frameworks/SDL.framework ] ); then + elif [ x"`uname`" = x"Darwin" ] && { [ -d /Library/Frameworks/SDL.framework ] || [ -d "$HOME/Library/Frameworks/SDL.framework" ]; }; then # AGL is broken in Snow Leopard, so let's default to SDL if it is available. TARGETS="sv-debug sdl-debug" else @@ -434,27 +433,40 @@ case "$cmd" in fi case "$1" in -c) - clean=true + cleandp=true + cleanqcc=true + cleanqc=true shift ;; - *) - clean=false - ;; - esac - case "$1" in - sdl) - TARGETS="sdl-debug" + -n) + cleandp=false + cleanqcc=false + cleanqc=false shift ;; - glx|agl|wgl) - TARGETS="cl-debug" - shift - ;; - dedicated) - TARGETS="sv-debug" - shift + *) + cleandp=false + cleanqcc=false + cleanqc=true # version info ;; esac + if [ -n "$1" ]; then + TARGETS= + for X in $1; do + case "$X" in + sdl) + TARGETS="sdl-debug $TARGETS" + ;; + glx|agl|wgl) + TARGETS="cl-debug $TARGETS" + ;; + dedicated) + TARGETS="sv-debug $TARGETS" + ;; + esac + done + shift + fi if [ -z "$MAKEFLAGS" ]; then if [ -f /proc/cpuinfo ]; then ncpus=$((`grep -c '^processor :' /proc/cpuinfo`+0)) @@ -471,28 +483,28 @@ case "$cmd" in MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw" fi fi + enter "$d0/fteqcc" verbose - if $clean; then + if $cleanqcc; then verbose make $MAKEFLAGS clean fi verbose make $MAKEFLAGS + enter "$d0/data/xonotic-data.pk3dir" verbose - if $clean; then - verbose make $MAKEFLAGS clean + if $cleanqc; then + verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean fi - verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS + enter "$d0/darkplaces" verbose - if $clean; then + if $cleandp; then verbose make $MAKEFLAGS clean fi for T in $TARGETS; do verbose make $MAKEFLAGS "$@" "$T" done + verbose "$SELF" update-maps - ;; - makebuild) - ;; run) if [ -n "$WE_HATE_OUR_USERS" ]; then @@ -522,7 +534,7 @@ case "$cmd" in exit 1 fi fi - set -- "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic "$@" + set -- "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic -mygames "$@" # if pulseaudio is running: USE IT if [ -z "$SDL_AUDIODRIVER" ] && ! [ -n "$WE_HATE_OUR_USERS" ] && ! [ x"`uname`" = x"Darwin" ]; then @@ -648,7 +660,7 @@ case "$cmd" in continue ;; */*) - ;; + ;; *) continue ;; @@ -658,9 +670,23 @@ case "$cmd" in continue fi fi + case "$base" in + master) + realbase=$base + ;; + *) + l0=`git rev-list "$base".."$ref" | wc -l` + l1=`git rev-list master.."$ref" | wc -l` + if [ $l0 -gt $l1 ]; then + realbase=master + else + realbase=$base + fi + ;; + esac reportecho " Branch $ref:" note=`GIT_NOTES_REF=refs/notes/admin-merge git notes show "$ref" 2>/dev/null || true` - logdata=`git log --color "$base".."$ref"` + logdata=`git log --color "$realbase".."$ref"` if [ -z "$logdata" ]; then reportecho4 "--> not merging, no changes vs master" if yesno "Branch \"$ref\" probably should get deleted. Do it?" ''; then @@ -668,7 +694,7 @@ case "$cmd" in reportecho4 "--> branch deleted" fi else - diffdata=`git diff --color --find-copies-harder --ignore-space-change "$base"..."$ref"` + diffdata=`git diff --color --find-copies-harder --ignore-space-change "$realbase"..."$ref"` if [ -z "$diffdata" ]; then reportecho4 "--> not merging, no changes vs master, branch contains redundant history" if yesno "Branch \"$ref\" probably should get deleted. Do it?" '{ echo "$logdata"; } | less -r'; then @@ -679,14 +705,14 @@ case "$cmd" in reportdo4 echo "$note" reportecho4 "--> not merging, already had this one rejected before" elif yesno "Branch \"$ref\" may want to get merged. Do it?" '{ echo "$logdata"; echo "$diffdata"; } | less -r'; then - git checkout "$base" + git checkout "$realbase" org=`git rev-parse HEAD` if ! git merge "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1 ' >/dev/null; }; then git reset --hard "$org" GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Merge failed:$LF`cat "$t"`" "$ref" reportdo4 cat "$t" reportecho4 "--> merge failed" - elif ! "$SELF" compile 2>&1 | tee "$t"; then + elif ! "$SELF" compile -n 2>&1 | tee "$t"; then git reset --hard "$org" GIT_NOTES_REF=refs/notes/admin-merge git notes edit -m "Compile failed:$LF`cat "$t"`" "$ref" reportdo4 cat "$t" @@ -705,6 +731,7 @@ case "$cmd" in reportecho4 "--> test failed, postponed" fi else + echo "MERGING" case ",`repoflags "$d"`," in *,svn,*) # we do quite a mess here... luckily we know $org @@ -789,34 +816,43 @@ case "$cmd" in release-engine-win32) rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/w32/* Xonotic/ "$SELF" release-compile win32 \ - '"DP_MAKE_TARGET=mingw CC="$HOME/mingw32/bin/i386-mingw32-gcc -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dxheaders" WINDRES="$HOME/mingw32/bin/i386-mingw32-windres" SDL_CONFIG="$HOME/sdl-win32/SDL-1.2.13/bin/sdl-config"' \ + '"DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dp.win32/include -L$HOME/db.win32/lib" WINDRES="i586-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win32/bin/sdl-config"' \ win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \ debug 'darkplaces.exe:xonotic.exe darkplaces-sdl.exe:xonotic-sdl.exe darkplaces-dedicated.exe:xonotic-dedicated.exe' ;; + release-engine-win64) + rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/w32/* Xonotic/ + "$SELF" release-compile win32 \ + '"DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dp.win64/include -L$HOME/db.win64/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win64/bin/sdl-config"' \ + win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \ + debug 'darkplaces.exe:xonotic-64.exe darkplaces-sdl.exe:xonotic-sdl-64.exe darkplaces-dedicated.exe:xonotic-dedicated-64.exe' + ;; release-engine-osx) rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/osx/* Xonotic/ "$SELF" release-compile osx \ - 'CC="gcc -g -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"' \ + 'CC="gcc -g -arch i386 -arch ppc -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 -I$HOME/dp.osx/include -L$HOME/dp.osx/lib"' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.osx' \ sdl-debug 'darkplaces-sdl:Xonotic/Xonotic-SDL.app/Contents/MacOS/xonotic-osx-sdl-bin' ;; release-engine-linux32) "$SELF" release-compile linux32 \ - 'CC="gcc -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=$HOME/modplug-i386/lib DP_LINK_TO_LIBJPEG=1 LDFLAGS_LIBJPEG="$HOME/jpeg7/lib/libjpeg.a" CFLAGS_LIBJPEG="-I$HOME/jpeg7/include"' \ + 'CC="gcc -m32 -g -Wl,--hash-style=sysv -I$HOME/dp.linux32/include -L$HOME/dp.linux32/lib" DP_MODPLUG_STATIC_LIBDIR=$HOME/dp.linux32/lib DP_LINK_TO_LIBJPEG=1' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux32' \ debug 'darkplaces-glx:Xonotic/xonotic-linux-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux-linux32-dedicated' ;; release-engine-linux64) "$SELF" release-compile linux64 \ - 'CC="gcc -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=$HOME/modplug-x86_64/lib DP_LINK_TO_LIBJPEG=1 LDFLAGS_LIBJPEG="$HOME/jpeg7/lib/libjpeg.a" CFLAGS_LIBJPEG="-I$HOME/jpeg7/include"' \ + 'CC="gcc -m64 -g -Wl,--hash-style=sysv -I$HOME/dp.linux64/include -L$HOME/dp.linux64/lib" DP_MODPLUG_STATIC_LIBDIR=$HOME/dp.linux64/lib DP_LINK_TO_LIBJPEG=1' \ all 'fteqcc.bin:Xonotic/fteqcc/fteqcc.linux64' \ debug 'darkplaces-glx:Xonotic/xonotic-linux-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux-linux64-dedicated' ;; release-engine) - "$SELF" release-engine-win32 - "$SELF" release-engine-osx - "$SELF" release-engine-linux32 - "$SELF" release-engine-linux64 + "$SELF" release-engine-win32 & + "$SELF" release-engine-win64 & + "$SELF" release-engine-osx & + "$SELF" release-engine-linux32 & + "$SELF" release-engine-linux64 & + wait ;; release-maps) "$SELF" update-maps @@ -831,6 +867,9 @@ case "$cmd" in release-finish) # version numnber and stuff like that ;; + release-qc) + verbose make -C Xonotic/data/xonotic-data.pk3dir FTEQCC="$d0/Xonotic/fteqcc/fteqcc.linux32" FTEQCCFLAGS_WATERMARK= + ;; release-buildpk3-transform-raw) dir=$1 ;; @@ -898,6 +937,7 @@ case "$cmd" in "$SELF" release-prepare "$SELF" release-maps "$SELF" release-finish + "$SELF" release-qc "$SELF" release-pack "$SELF" release-engine ;; @@ -910,7 +950,7 @@ case "$cmd" in echo " $SELF branch [] " echo " $SELF branch " echo " $SELF checkout [] " - echo " $SELF compile [-c] [] " + echo " $SELF compile [-c|-n] [] " echo " $SELF run [] " echo " $SELF each " ;;