X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=e1c7780e41246e9d7d673bf6aec82842ecbe6433;hp=8c6d0b610f4a99c85548d8e144e71fa533e2b781;hb=8640529781a776fc2784c1b66de270d2d2375e8e;hpb=c1b23d70ee8a6e469308af172be73b002dd3f033;ds=sidebyside diff --git a/all b/all index 8c6d0b61..e1c7780e 100755 --- a/all +++ b/all @@ -25,7 +25,6 @@ case "$0" in case "`uname`" in MINGW*|Win*) # Windows hates users. So this script has to copy itself elsewhere first... - tname= cp "$SELF" ../all.xonotic.sh export WE_HATE_OUR_USERS=1 exec ../all.xonotic.sh "$@" @@ -105,7 +104,7 @@ yesno() enter() { - $2 cd "$1" + $2 cd "$1" || exit 1 check_mergeconflict "$1" } @@ -120,6 +119,7 @@ darkplaces | fteqcc | git://github.com/Blub/qclib.git | master | div0-gittools | git://git.icculus.org/divverent/div0-gittools.git | master | netradiant | | master | +d0_blind_id | http://github.com/divVerent/d0_blind_id.git | master | " # todo: in darkplaces, change repobranch to div0-stable @@ -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 @@ -201,6 +200,8 @@ case "$cmd" in verbose git config remote.origin.url "$url" verbose git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" + verbose git config remote.origin.autocrlf input + r=`git symbolic-ref HEAD` r=${r#refs/heads/} if git config branch.$r.remote >/dev/null 2>&1; then @@ -321,7 +322,7 @@ case "$cmd" in branches) for d in $repos; do cd "$d0/$d" # am in a pipe, shouldn't use enter - git branch -a -v -v | cut -c 3- | sed "s,^,$d ," + git branch -a -v -v | cut -c 3- | sed "s/^(no branch)/(no_branch)/" | sed "s,^,$d ," cd "$d0" done | { branches_list= @@ -400,7 +401,7 @@ case "$cmd" in fi rem=`git config "branch.$r.remote" || echo origin` bra=`git config "branch.$r.merge" || echo "$r"` - upstream="$rem/$bra" + upstream="$rem/${bra#refs/heads/}" if ! git rev-parse "$upstream" >/dev/null 2>&1; then upstream="origin/`repobranch "$d"`" fi @@ -426,45 +427,74 @@ 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 - # AGL is broken in Snow Leopard, so let's default to SDL if it is available. - TARGETS="sv-debug sdl-debug" + elif [ x"`uname`" = x"Darwin" ]; then + case "`uname -r`" in + ?.*) + TARGETS="sv-debug cl-debug sdl-debug" + ;; + *) + # AGL cannot be compiled on systems with a kernel > 10.x (Snow Leopard) + TARGETS="sv-debug sdl-debug" + ;; + esac + export CC="gcc -I$PWD/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks/SDL.framework/Headers -F$PWD/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks" else TARGETS="sv-debug cl-debug sdl-debug" fi case "$1" in -c) + cleand0=true cleandp=true cleanqcc=true cleanqc=true shift ;; -n) + cleand0=false cleandp=false cleanqcc=false cleanqc=false shift ;; *) + cleand0=false cleandp=false cleanqcc=false cleanqc=true # version info ;; esac - case "$1" in - sdl) - TARGETS="sdl-debug" - shift - ;; - glx|agl|wgl) - TARGETS="cl-debug" - shift - ;; - dedicated) - TARGETS="sv-debug" + if [ $# -gt 0 ] && [ x"$1" = x"" ]; then + # if we give the command make the arg "", it will surely fail (invalid filename), + # so better handle it as an empty client option + BAD_TARGETS=" " + shift + elif [ -n "$1" ]; then + BAD_TARGETS= + TARGETS_SAVE=$TARGETS + TARGETS= + for X in $1; do + case "$X" in + sdl) + TARGETS="$TARGETS sdl-debug" + ;; + glx|agl|wgl) + TARGETS="$TARGETS cl-debug" + ;; + dedicated) + TARGETS="$TARGETS sv-debug" + ;; + *) + BAD_TARGETS="$BAD_TARGETS $X" + ;; + esac + done + if [ -n "$TARGETS" ]; then # at least a valid client shift - ;; - esac + else # no valid client, let's assume this option is not meant to be a client then + TARGETS=$TARGETS_SAVE + BAD_TARGETS= + fi + fi if [ -z "$MAKEFLAGS" ]; then if [ -f /proc/cpuinfo ]; then ncpus=$((`grep -c '^processor :' /proc/cpuinfo`+0)) @@ -482,6 +512,16 @@ case "$cmd" in fi fi + enter "$d0/d0_blind_id" verbose + if ! [ -f Makefile ]; then + verbose sh autogen.sh + verbose ./configure + fi + if $cleand0; then + verbose make $MAKEFLAGS clean + fi + verbose make $MAKEFLAGS + enter "$d0/fteqcc" verbose if $cleanqcc; then verbose make $MAKEFLAGS clean @@ -495,23 +535,31 @@ case "$cmd" in verbose make FTEQCC="$d0/fteqcc/fteqcc.bin" "$@" $MAKEFLAGS enter "$d0/darkplaces" verbose + if [ x"$BAD_TARGETS" = x" " ]; then + echo "Warning: invalid empty client, default clients will be used." + fi if $cleandp; then verbose make $MAKEFLAGS clean fi for T in $TARGETS; do verbose make $MAKEFLAGS "$@" "$T" done + for T in $BAD_TARGETS; do + echo "Warning: discarded invalid client $T." + done verbose "$SELF" update-maps ;; run) if [ -n "$WE_HATE_OUR_USERS" ]; then client= - export PATH="$d0/misc/buildfiles/w32:$PATH" + export PATH="$d0/misc/buildfiles/win64:$d0/misc/buildfiles/win32:$d0/d0_blind_id/.libs:$PATH" elif [ x"`uname`" = x"Darwin" ]; then - export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS" + export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS:$d0/d0_blind_id/.libs" + export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks" client=-sdl else + export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs" client=-sdl fi case "$1" in @@ -532,7 +580,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 @@ -699,13 +747,13 @@ case "$cmd" in git push origin :"${ref#refs/remotes/origin/}" reportecho4 "--> branch deleted" fi - elif [ -n "$note" ]; then + elif [ -z "$branch" ] && [ -n "$note" ]; then 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 "$realbase" org=`git rev-parse HEAD` - if ! git merge "$ref" 2>&1 | tee "$t" && ! { git ls-files -u | grep ' 1 ' >/dev/null; }; then + if ! git merge --no-ff "$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" @@ -717,7 +765,7 @@ case "$cmd" in reportecho4 "--> compile failed" elif ! yesno "Still merge \"$ref\" into `git symbolic-ref HEAD` of $d? Maybe you want to test first."; then git reset --hard "$org" - git notes edit "$ref" + GIT_NOTES_REF=refs/notes/admin-merge git notes edit "$ref" note=`GIT_NOTES_REF=refs/notes/admin-merge git notes show "$ref" 2>/dev/null || true` if [ x"$note" = x"del" ]; then git push origin :"${ref#refs/remotes/origin/}" @@ -729,6 +777,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 @@ -811,37 +860,37 @@ case "$cmd" in "$SELF" release-compile-run "xonotic-build-$suffix" /tmp/Darkplaces.build."$suffix" "$darkplaces_maketargets" "$makeflags" "fteqcc" "$darkplaces_files" ;; release-engine-win32) - rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/w32/* Xonotic/ + rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/win32/* Xonotic/ "$SELF" release-compile win32 \ - '"DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dxheaders" WINDRES="i586-mingw32msvc-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/dp.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/ + rsync --exclude=.git -vaSHPAX Xonotic/misc/buildfiles/win64/* Xonotic/ "$SELF" release-compile win32 \ - '"DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dxheaders" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="$HOME/sdl-win32/SDL-1.2.13/bin/sdl-config"' \ - win 'fteqcc.exe:Xonotic/fteqcc/fteqcc.exe' \ + '"DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -Wl,--dynamicbase -Wl,--nxcompat -g -DSUPPORTDIRECTX -DUSE_WSPIAPI_H -I$HOME/dp.win64/include -L$HOME/dp.win64/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG="$HOME/dp.win64/bin/sdl-config"' \ + win 'fteqcc.exe:Xonotic/fteqcc/fteqcc-64.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 -m32 -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=$HOME/darkplaces-deps/lib DP_LINK_TO_LIBJPEG=1 LDFLAGS_LIBJPEG="$HOME/darkplaces-deps/lib/libjpeg.a" CFLAGS_LIBJPEG="-I$HOME/darkplaces-deps/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' + debug 'darkplaces-glx:Xonotic/xonotic-linux-linux32-glx darkplaces-sdl:Xonotic/xonotic-linux32-sdl darkplaces-dedicated:Xonotic/xonotic-linux32-dedicated' ;; release-engine-linux64) "$SELF" release-compile linux64 \ - 'CC="gcc -m64 -g -Wl,--hash-style=sysv" DP_MODPLUG_STATIC_LIBDIR=$HOME/darkplaces-deps/lib DP_LINK_TO_LIBJPEG=1 LDFLAGS_LIBJPEG="$HOME/darkplaces-deps/lib/libjpeg.a" CFLAGS_LIBJPEG="-I$HOME/darkplaces-deps/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' + debug 'darkplaces-glx:Xonotic/xonotic-linux-linux64-glx darkplaces-sdl:Xonotic/xonotic-linux64-sdl darkplaces-dedicated:Xonotic/xonotic-linux64-dedicated' ;; release-engine) "$SELF" release-engine-win32 &