X-Git-Url: http://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=all;h=05324b5c78fa1d007ab733469c3d02b234de1daa;hp=c9de1c4641b4e697dda57493c06993692f7efcfc;hb=c6ea9d406d8541b88593ed69b46749d8ce350731;hpb=c68423b1ef3a36ade0650cdfd1b50e2f676988e9 diff --git a/all b/all index c9de1c46..05324b5c 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" } @@ -138,14 +137,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 +158,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 +169,6 @@ repobranch() repoflags() { echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 4 | tr -d ' ' - echo "$t" } repos=`for d in $repos; do @@ -201,6 +199,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 +321,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 +400,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,9 +426,17 @@ 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 @@ -451,24 +459,37 @@ case "$cmd" in cleanqc=true # version info ;; esac - if [ -n "$1" ]; then + 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="sdl-debug $TARGETS" - shift + TARGETS="$TARGETS sdl-debug" ;; glx|agl|wgl) - TARGETS="cl-debug $TARGETS" - shift + TARGETS="$TARGETS cl-debug" ;; dedicated) - TARGETS="sv-debug $TARGETS" - shift + TARGETS="$TARGETS sv-debug" + ;; + *) + BAD_TARGETS="$BAD_TARGETS $X" ;; esac done + if [ "$TARGETS" ]; then # at least a valid client + shift + 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 @@ -500,12 +521,18 @@ 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 ;; @@ -515,6 +542,7 @@ case "$cmd" in export PATH="$d0/misc/buildfiles/w32:$PATH" elif [ x"`uname`" = x"Darwin" ]; then export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS" + export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks" client=-sdl else client=-sdl @@ -537,7 +565,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 @@ -704,13 +732,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" @@ -734,6 +762,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