]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/xonotic.subr
Stop using libd0_blind_id binaries on Linux x86_64 for ./all compile.
[xonotic/xonotic.git] / misc / tools / all / xonotic.subr
index 3aa15837fcee39af4d5baeff43e78d056d7a249a..1bd94099929a9a13d4773b69d364e266d23f157c 100644 (file)
@@ -119,6 +119,10 @@ case "$cmd" in
                        fi
                fi
 
+               if [ -z "$MAKE" ]; then
+                       MAKE=make
+               fi
+
                if [ -z "$MAKEFLAGS" ]; then
                        ncpus=`getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null || echo 1`
                        if [ $ncpus -gt 1 ]; then
@@ -191,16 +195,6 @@ case "$cmd" in
                                case "`uname`" in
                                        Linux)
                                                case `uname -m` in
-                                                       x86_64)
-                                                               # No cp commands, we want to use static linking instead.
-                                                               export CC="$CC -I../../../../misc/builddeps/linux64/d0_blind_id/include"
-                                                               export CC="$CC -L../../../../misc/builddeps/linux64/d0_blind_id/lib"
-                                                               export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux64/d0_blind_id/lib"
-                                                               export CC="$CC -I../../../../misc/builddeps/linux64/gmp/include"
-                                                               export CC="$CC -L../../../../misc/builddeps/linux64/gmp/lib"
-                                                               export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux64/gmp/lib"
-                                                               MAKEFLAGS="$MAKEFLAGS DP_LINK_CRYPTO=shared DP_LINK_CRYPTO_RIJNDAEL=shared LIB_CRYPTO=../../../../misc/builddeps/linux64/d0_blind_id/lib/libd0_blind_id.a LIB_CRYPTO+=../../../../misc/builddeps/linux64/gmp/lib/libgmp.a LIB_CRYPTO_RIJNDAEL=../../../../misc/builddeps/linux64/d0_blind_id/lib/libd0_rijndael.a"
-                                                               ;;
                                                        *86)
                                                                # No cp commands, we want to use static linking instead.
                                                                export CC="$CC -I../../../../misc/builddeps/linux32/d0_blind_id/include"
@@ -212,6 +206,7 @@ case "$cmd" in
                                                                MAKEFLAGS="$MAKEFLAGS DP_LINK_CRYPTO=shared DP_LINK_CRYPTO_RIJNDAEL=shared LIB_CRYPTO=../../../../misc/builddeps/linux32/d0_blind_id/lib/libd0_blind_id.a LIB_CRYPTO+=../../../../misc/builddeps/linux32/gmp/lib/libgmp.a LIB_CRYPTO_RIJNDAEL=../../../../misc/builddeps/linux32/d0_blind_id/lib/libd0_rijndael.a"
                                                                ;;
                                                        *)
+                                                               msg "Always need to compile libd0_blind_id on Linux `uname -m`."
                                                                compiled0=true
                                                                ;;
                                                esac
@@ -221,6 +216,7 @@ case "$cmd" in
                                                verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_rijndael".* .libs/
                                                ;;
                                        *)
+                                               msg "Always need to compile libd0_blind_id on `uname`."
                                                compiled0=true
                                                ;;
                                esac
@@ -229,31 +225,36 @@ case "$cmd" in
                if $compiled0; then
                        if $cleand0; then
                                if [ -f Makefile ]; then
-                                       verbose make $MAKEFLAGS distclean
+                                       verbose $MAKE $MAKEFLAGS distclean
                                fi
                        fi
                        if ! [ -f Makefile ]; then
                                verbose sh autogen.sh
                                verbose ./configure
                        fi
-                       verbose make $MAKEFLAGS
+                       verbose $MAKE $MAKEFLAGS
                fi
 
                verbose cd "$d0/gmqcc"
                if $cleanqcc; then
-                       verbose make $MAKEFLAGS clean
+                       verbose $MAKE $MAKEFLAGS clean
                fi
                if [ -n "$WE_HATE_OUR_USERS" ]; then
-                       verbose make $MAKEFLAGS gmqcc.exe
+                       verbose $MAKE $MAKEFLAGS gmqcc.exe
                else
-                       verbose make $MAKEFLAGS gmqcc
+                       verbose $MAKE $MAKEFLAGS gmqcc
                fi
 
+               if [ -n "$MSYSTEM" ]; then
+                       DATAMAKE=mingw32-make
+               else
+                       DATAMAKE=$MAKE
+               fi
                verbose cd "$d0/data/xonotic-data.pk3dir"
                if $cleanqc; then
-                       verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS clean
+                       verbose ${DATAMAKE} QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS clean
                fi
-               verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS
+               verbose ${DATAMAKE} QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS
                # 4 levels up: data, xonotic-data, qcsrc, server
 
                verbose cd "$d0/darkplaces"
@@ -261,10 +262,10 @@ case "$cmd" in
                        $ECHO "Warning: invalid empty client, default clients will be used."
                fi
                if $cleandp; then
-                       verbose make $MAKEFLAGS clean
+                       verbose $MAKE $MAKEFLAGS clean
                fi
                for T in $TARGETS; do
-                       verbose make $MAKEFLAGS STRIP=: "$@" "$T"
+                       verbose $MAKE $MAKEFLAGS STRIP=: "$@" "$T"
                done
                for T in $BAD_TARGETS; do
                        $ECHO "Warning: discarded invalid client $T."
@@ -281,7 +282,7 @@ case "$cmd" in
                        export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic.app/Contents/Frameworks"
                        client=-sdl
                else
-                       export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs"
+                       export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
                        client=-sdl
                fi
                case "$1" in
@@ -356,6 +357,15 @@ case "$cmd" in
                $ECHO "  $SELF compile-map mapname1 mapname2... (e.g. \"./all compile-map dance drain fuse\")"
                handled=false
                ;;
+       serverbench)
+               # TODO(rpolzer): Why does :anticheat: output differ? Total game time differs? Why?
+               verbose "$SELF" run "$@" -noconfig -nohome +exec serverbench.cfg |\
+                       tee /dev/stderr |\
+                       grep '^:' |\
+                       grep -v '^:gamestart:' |\
+                       grep -v '^:anticheat:' |\
+                       md5sum
+               ;;
        *)
                handled=false
                ;;