]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - all
support a separate push URL
[xonotic/xonotic.git] / all
diff --git a/all b/all
index 27b5680e80351c6b84d3285c52073bde8cd34bbe..8f4d25b7818b24d48c97e0f8da941c4f834d44f5 100755 (executable)
--- a/all
+++ b/all
@@ -134,6 +134,18 @@ case "$base" in
                exit 1
                ;;
 esac
+pushbase=`git config remote.origin.pushurl || true`
+case "$pushbase" in
+       */xonotic.git)
+               pushbase=${pushbase%xonotic.git}
+               ;;
+       '')
+               ;;
+       *)
+               echo "The main repo is not xonotic.git, what have you done?"
+               exit 1
+               ;;
+esac
 
 repourl()
 {
@@ -156,6 +168,27 @@ repourl()
        fi
 }
 
+repopushurl()
+{
+       [ -n "$pushbase" ] || return 0
+       repo_t=`echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 2 | tr -d ' '`
+       if [ -n "$repo_t" ]; then
+               case "$repo_t" in
+                       *://*)
+                               ;;
+                       *)
+                               echo "$pushbase$repo_t"
+                               ;;
+               esac
+       else
+               if [ x"$1" = x"." ]; then
+                       echo "$pushbase""xonotic.git"
+               else
+                       echo "$pushbase${1##*/}.git"
+               fi
+       fi
+}
+
 repobranch()
 {
        repo_t=`echo "$repos_urls" | grep "^$1 " | cut -d '|' -f 3 | tr -d ' '`
@@ -302,12 +335,18 @@ case "$cmd" in
                fi
                for d in $repos; do
                        url=`repourl "$d"`
+                       pushurl=`repopushurl "$d"`
                        branch=`repobranch "$d"`
                        if [ -d "$d0/$d" ]; then
                                if $allow_pull; then
                                        enter "$d0/$d" verbose
                                        fix_git_config
                                        verbose git config remote.origin.url "$url"
+                                       if [ -n "$pushurl" ]; then
+                                               verbose git config --unset remote.origin.pushurl
+                                       else
+                                               verbose git config remote.origin.pushurl "$pushurl"
+                                       fi
                                        verbose git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
                                        r=`git symbolic-ref HEAD`
                                        r=${r#refs/heads/}
@@ -331,6 +370,11 @@ case "$cmd" in
                        else
                                verbose git clone "$url" "$d0/$d"
                                enter "$d0/$d" verbose
+                               if [ -n "$pushurl" ]; then
+                                       verbose git config --unset remote.origin.pushurl
+                               else
+                                       verbose git config remote.origin.pushurl "$pushurl"
+                               fi
                                fix_git_config
                                if [ "$branch" != "master" ]; then
                                        verbose git checkout --track -b "$branch" origin/"$branch"
@@ -520,11 +564,11 @@ case "$cmd" in
                done
                ;;
        compile)
+               if [ -z "$CC" ]; then
+                       export CC="gcc -DSUPPORTIPV6"
+               fi
                if [ -n "$WE_HATE_OUR_USERS" ]; then
                        TARGETS="sv-debug cl-debug"
-                       if [ -z "$CC" ]; then
-                               export CC=gcc
-                       fi
                elif [ x"`uname`" = x"Darwin" ]; then
                        case "`uname -r`" in
                                ?.*)
@@ -535,7 +579,7 @@ case "$cmd" in
                                        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"
+                       export CC="$CC -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
@@ -653,9 +697,7 @@ case "$cmd" in
                                exit 1
                        fi
                fi
-               set -- "darkplaces/darkplaces$client" -nexuiz -customgamename Xonotic -customgamedirname1 data -customgamedirname2 "" -customgamescreenshotname xonotic -customgameuserdirname xonotic -mygames "$@"
-               # change this to:
-               #set -- "darkplaces/darkplaces$client" -xonotic -mygames "$@"
+               set -- "darkplaces/darkplaces$client" -xonotic -mygames "$@"
 
                # if pulseaudio is running: USE IT
                if [ -z "$SDL_AUDIODRIVER" ] && ! [ -n "$WE_HATE_OUR_USERS" ] && ! [ x"`uname`" = x"Darwin" ]; then
@@ -676,7 +718,7 @@ case "$cmd" in
                        set -- catchsegv "$@"
                fi
                rm -f xonotic.core
-               "$@"
+               "$@" || true
                if [ -f xonotic.core ]; then
                        if yesno "The program has CRASHED. Do you want to examine the core dump?"; then
                                gdb "$binary" xonotic.core
@@ -1139,44 +1181,44 @@ case "$cmd" in
                ;;
        release-engine-win32)
                verbose "$SELF" release-compile win32 \
-                       'STRIP=: DP_MAKE_TARGET=mingw CC="i586-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" 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 -g -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-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" 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 -g -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' \
                        '' '' \
                        release 'darkplaces.exe:Xonotic/xonotic.exe darkplaces-sdl.exe:Xonotic/xonotic-sdl.exe darkplaces-dedicated.exe:Xonotic/xonotic-dedicated.exe'
                ;;
        release-engine-win64)
                verbose "$SELF" release-compile win64 \
-                       'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="amd64-mingw32msvc-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \
+                       'STRIP=: DP_MAKE_TARGET=mingw CC="amd64-mingw32msvc-gcc -g -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-gcc -g -Wl,--dynamicbase -Wl,--nxcompat -I.deps/include -L.deps/lib" WINDRES="x86_64-w64-mingw32-windres" SDL_CONFIG=".deps/bin/sdl-config" LIB_JPEG= CFLAGS_LIBJPEG= WIN64RELEASE=1 D3D=0' \
+                       'STRIP=: DP_MAKE_TARGET=mingw CC="x86_64-w64-mingw32-gcc -g -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=0' \
                        '' '' \
                        cl-release 'darkplaces.exe:Xonotic/xonotic-x64.exe'
                ;;
        release-engine-osx)
                # gcc on OSX is buggy, needs -fno-reorder-blocks for a release build to succeed
                verbose "$SELF" release-compile osx \
-                       'STRIP=: CC="gcc -g -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"' \
+                       'STRIP=: CC="gcc -g -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' \
                        'sv-release sdl-release' 'darkplaces-sdl:Xonotic/Xonotic-SDL.app/Contents/MacOS/xonotic-osx-sdl-bin darkplaces-dedicated:Xonotic/xonotic-osx-dedicated'
                verbose "$SELF" release-compile osx \
-                       'STRIP=: CC="gcc -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks"' \
+                       'STRIP=: CC="gcc -g -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.4 -I.deps/include -L.deps/lib -fno-reorder-blocks -DSUPPORTIPV6"' \
                        '' '' \
                        'cl-release' 'darkplaces-agl:Xonotic/Xonotic.app/Contents/MacOS/xonotic-osx-agl-bin'
                ;;
        release-engine-linux32)
                verbose "$SELF" release-compile linux32 \
-                       'STRIP=: CC="gcc -m32 -g -I.deps/include -L.deps/lib" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \
+                       'STRIP=: CC="gcc -m32 -g -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \
                        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)
                verbose "$SELF" release-compile linux64 \
-                       'STRIP=: CC="gcc -m64 -g -I.deps/include -L.deps/lib" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \
+                       'STRIP=: CC="gcc -m64 -g -I.deps/include -L.deps/lib -DSUPPORTIPV6" DP_MODPLUG_STATIC_LIBDIR=.deps/lib LIB_JPEG=.deps/lib/libjpeg.a' \
                        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'
                ;;