X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fxonotic.git;a=blobdiff_plain;f=misc%2Ftools%2Fall%2Fxonotic.subr;h=e1462c8bf9a4091a10f3ef008344c493e455c6b5;hp=19298c8a4463e9c49081e6489b52bf32db927a02;hb=5c85d81e949435dcd8f683bfbcedb765d00c95d0;hpb=e9a0caea55be2963eb28453d7a0786f26441786d diff --git a/misc/tools/all/xonotic.subr b/misc/tools/all/xonotic.subr index 19298c8a..e1462c8b 100644 --- a/misc/tools/all/xonotic.subr +++ b/misc/tools/all/xonotic.subr @@ -17,7 +17,7 @@ case "$cmd" in if [ ! -f "$mapfile" ] ; then msg "ERROR, $mapfile not found!" else - time misc/tools/xonotic-map-compiler-optionsfile "$mapfile" + verbose measure_time misc/tools/xonotic-map-compiler-optionsfile "$mapfile" fi done ;; @@ -28,7 +28,6 @@ case "$cmd" in cleanqc=false compiled0=false debug=debug - snowleopardhack=false if [ -z "$CC" ]; then export CC="gcc" fi @@ -46,6 +45,10 @@ case "$cmd" in cleanqc=true shift ;; + -qc) + cleanqc=true + shift + ;; -r|-p) case "$1" in -p) @@ -75,23 +78,14 @@ case "$cmd" in ;; esac done - if [ -n "$WE_HATE_OUR_USERS" ]; then - TARGETS="sv-$debug cl-$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) - snowleopardhack=true - TARGETS="sv-$debug sdl-$debug" - ;; - esac - export CC="$CC -fno-reorder-blocks -I$PWD/misc/buildfiles/osx/Xonotic.app/Contents/Frameworks/SDL.framework/Headers -F$PWD/misc/buildfiles/osx/Xonotic.app/Contents/Frameworks" + + if [ x"`uname`" = x"Darwin" ]; then + TARGETS="sv-$debug sdl-$debug" + export CC="$CC -fno-reorder-blocks" else TARGETS="sv-$debug cl-$debug sdl-$debug" fi + 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 @@ -106,12 +100,6 @@ case "$cmd" in sdl) TARGETS="$TARGETS sdl-$debug" ;; - agl) - TARGETS="$TARGETS cl-$debug" - if $snowleopardhack; then - export CC="$CC -arch i386" - fi - ;; glx|wgl) TARGETS="$TARGETS cl-$debug" ;; @@ -130,6 +118,7 @@ case "$cmd" in BAD_TARGETS= fi 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 @@ -140,11 +129,20 @@ case "$cmd" in fi fi - # win32: don't rely on jpeg includes if [ -n "$WE_HATE_OUR_USERS" ]; then + # win32: use SDL2 + MAKEFLAGS="$MAKEFLAGS SDL_CONFIG=$d0/misc/builddeps/win32/sdl/bin/sdl2-config" + + # win32: don't rely on jpeg includes MAKEFLAGS="$MAKEFLAGS LIB_JPEG= CFLAGS_LIBJPEG=" fi + if [ x"`uname`" = x"Darwin" ]; then + # osx: use SDL2 + f=$d0/misc/buildfiles/osx/Xonotic.app/Contents/Frameworks + MAKEFLAGS="$MAKEFLAGS SDLCONFIG_MACOSXCFLAGS=-I$f/SDL2.framework/Headers SDLCONFIG_MACOSXLIBS=-F$f SDLCONFIG_MACOSXLIBS+=-framework SDLCONFIG_MACOSXLIBS+=SDL2 SDLCONFIG_MACOSXLIBS+=-framework SDLCONFIG_MACOSXLIBS+=Cocoa SDLCONFIG_MACOSXLIBS+=-I$f/SDL2.framework/Headers SDLCONFIG_MACOSXSTATICLIBS=-F$f SDLCONFIG_MACOSXSTATICLIBS+=-framework SDLCONFIG_MACOSXSTATICLIBS+=SDL2 SDLCONFIG_MACOSXSTATICLIBS+=-framework SDLCONFIG_MACOSXSTATICLIBS+=Cocoa SDLCONFIG_MACOSXSTATICLIBS+=-I$f/SDL2.framework/Headers" + fi + # workaround ARM issue in DP's makefile.inc case `uname -m` in x86_64|*86) @@ -251,11 +249,16 @@ case "$cmd" in 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" @@ -291,7 +294,7 @@ case "$cmd" in client=-$1 shift ;; - sdl|glx|agl) + sdl|glx) USE_RLWRAP=no client=-$1 shift @@ -336,7 +339,7 @@ case "$cmd" in set -- rlwrap -A -g '^quit' -q "\"" -s 10000 -S ']' -w 100 "$@" fi rm -f xonotic.core - "$@" || true + verbose measure_time "$@" || 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 @@ -352,12 +355,21 @@ case "$cmd" in fi ;; help) - $ECHO " $SELF compile [-c] [-r|-p] [-0] [sdl|glx|wgl|agl|dedicated]" + $ECHO " $SELF compile [-c] [-qc] [-r|-p] [-0] [sdl|glx|wgl|dedicated]" $ECHO " $SELF update-maps" - $ECHO " $SELF run [sdl|glx|wgl|agl|dedicated] options..." + $ECHO " $SELF run [sdl|glx|wgl|dedicated] options..." $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 ;;