]> git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/xonotic.subr
Add missing dependency for sdl compilation under mingw32
[xonotic/xonotic.git] / misc / tools / all / xonotic.subr
index 729a18ac8aabfd25dd72e3a0020a5590d03c0688..f24a051229f249b9e4c2c9ecfa38fb0de2d2bd04 100644 (file)
@@ -3,6 +3,24 @@ case "$cmd" in
        update-maps)
                misc/tools/xonotic-map-compiler-autobuild download
                ;;
+       compile-map)
+               if [ $# -eq 0 ] ; then
+                       msg "Usage: ./all compile-map mapname1 mapname2 mapname3"
+                       msg "For example: ./all compile-map dance xoylent"
+               fi
+               if ! [ -f "netradiant/install/q3map2" ] ; then
+                       msg "q3map2 needed! Building netradiant..."
+                       make -C netradiant BUILD=native install/q3map2
+               fi
+               for mapfile in "$@"; do
+                       mapfile="data/xonotic-maps.pk3dir/maps/$mapfile.map"
+                       if [ ! -f "$mapfile" ] ; then
+                               msg "ERROR, $mapfile not found!"
+                       else
+                               verbose measure_time misc/tools/xonotic-map-compiler-optionsfile "$mapfile"
+                       fi
+               done
+               ;;
        compile)
                cleand0=false
                cleandp=false
@@ -86,19 +104,22 @@ case "$cmd" in
                        for X in $1; do
                                case "$X" in
                                        sdl)
-                                               TARGETS="$TARGETS sdl-debug"
+                                               TARGETS="$TARGETS sdl-$debug"
+                                               if [ -n "$WE_HATE_OUR_USERS" ]; then
+                                                       export PATH="$PATH:$d0/misc/builddeps/win32/sdl/bin"
+                                               fi
                                                ;;
                                        agl)
-                                               TARGETS="$TARGETS cl-debug"
+                                               TARGETS="$TARGETS cl-$debug"
                                                if $snowleopardhack; then
                                                        export CC="$CC -arch i386"
                                                fi
                                                ;;
                                        glx|wgl)
-                                               TARGETS="$TARGETS cl-debug"
+                                               TARGETS="$TARGETS cl-$debug"
                                                ;;
                                        dedicated)
-                                               TARGETS="$TARGETS sv-debug"
+                                               TARGETS="$TARGETS sv-$debug"
                                                ;;
                                        *)
                                                BAD_TARGETS="$BAD_TARGETS $X"
@@ -118,10 +139,23 @@ case "$cmd" in
                                MAKEFLAGS=-j$ncpus
                        fi
                        if [ -n "$WE_HATE_OUR_USERS" ]; then
-                               MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw LIB_JPEG= CFLAGS_LIBJPEG="
+                               MAKEFLAGS="$MAKEFLAGS DP_MAKE_TARGET=mingw"
                        fi
                fi
 
+               # win32: don't rely on jpeg includes
+               if [ -n "$WE_HATE_OUR_USERS" ]; then
+                       MAKEFLAGS="$MAKEFLAGS LIB_JPEG= CFLAGS_LIBJPEG="
+               fi
+
+               # workaround ARM issue in DP's makefile.inc
+               case `uname -m` in
+                       x86_64|*86)
+                               ;;
+                       *)
+                               MAKEFLAGS="$MAKEFLAGS CFLAGS_SSE= CFLAGS_SSE2="
+                               ;;
+               esac
                
                if ! verbose $CC misc/tools/conftest.c -o conftest; then
                        msg ""
@@ -163,16 +197,24 @@ case "$cmd" in
                                        Linux)
                                                case `uname -m` in
                                                        x86_64)
-                                                               #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_blind_id".* .libs/
-                                                               #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libd0_rijndael".* .libs/
-                                                               #verbose cp "$d0/misc/builddeps/dp.linux64/lib/libgmp".* .libs/
-                                                               MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/ DP_GMP_STATIC_LIBDIR=../misc/builddeps/dp.linux64/lib/"
+                                                               # 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)
-                                                               #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_blind_id".* .libs/
-                                                               #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libd0_rijndael".* .libs/
-                                                               #verbose cp "$d0/misc/builddeps/dp.linux32/lib/libgmp".* .libs/
-                                                               MAKEFLAGS="$MAKEFLAGS DP_CRYPTO_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/ DP_CRYPTO_RIJNDAEL_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/ DP_GMP_STATIC_LIBDIR=../misc/builddeps/dp.linux32/lib/"
+                                                               # No cp commands, we want to use static linking instead.
+                                                               export CC="$CC -I../../../../misc/builddeps/linux32/d0_blind_id/include"
+                                                               export CC="$CC -L../../../../misc/builddeps/linux32/d0_blind_id/lib"
+                                                               export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux32/d0_blind_id/lib"
+                                                               export CC="$CC -I../../../../misc/builddeps/linux32/gmp/include"
+                                                               export CC="$CC -L../../../../misc/builddeps/linux32/gmp/lib"
+                                                               export CC="$CC -Wl,-rpath,../../../../misc/builddeps/linux32/gmp/lib"
+                                                               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"
                                                                ;;
                                                        *)
                                                                compiled0=true
@@ -202,37 +244,21 @@ case "$cmd" in
                        verbose make $MAKEFLAGS
                fi
 
-               if [ x"$USE_GMQCC" = x"yes" ]; then
-                       verbose cd "$d0/gmqcc"
-                       if $cleanqcc; then
-                               verbose make $MAKEFLAGS clean
-                       fi
-                       if [ -n "$WE_HATE_OUR_USERS" ]; then
-                               verbose make $MAKEFLAGS gmqcc.exe
-                       else
-                               verbose make $MAKEFLAGS gmqcc
-                       fi
-
-                       verbose cd "$d0/data/xonotic-data.pk3dir"
-                       if $cleanqc; then
-                               verbose make QCC="../../../../gmqcc/qmqcc" "$@" $MAKEFLAGS clean
-                       fi
-                       verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS
+               verbose cd "$d0/gmqcc"
+               if $cleanqcc; then
+                       verbose make $MAKEFLAGS clean
+               fi
+               if [ -n "$WE_HATE_OUR_USERS" ]; then
+                       verbose make $MAKEFLAGS gmqcc.exe
                else
-                       verbose cd "$d0/fteqcc"
-                       if $cleanqcc; then
-                               verbose make $MAKEFLAGS clean
-                       fi
-                       verbose make $MAKEFLAGS
+                       verbose make $MAKEFLAGS gmqcc
+               fi
 
-                       verbose cd "$d0/data/xonotic-data.pk3dir"
-                       if $cleanqc; then
-                               verbose make QCC="../../../../fteqcc/fteqcc.bin" FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
-                               #verbose make QCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS clean
-                       fi
-                       verbose make QCC="../../../../fteqcc/fteqcc.bin" FTEQCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
-                       #verbose make QCC="../../../../fteqcc/fteqcc.bin" "$@" $MAKEFLAGS
+               verbose cd "$d0/data/xonotic-data.pk3dir"
+               if $cleanqc; then
+                       verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS clean
                fi
+               verbose make QCC="../../../../gmqcc/gmqcc" "$@" $MAKEFLAGS
                # 4 levels up: data, xonotic-data, qcsrc, server
 
                verbose cd "$d0/darkplaces"
@@ -310,10 +336,10 @@ case "$cmd" in
                        set -- catchsegv "$@"
                fi
                if [ x"$USE_RLWRAP" != x"no" ] && which rlwrap >/dev/null 2>&1; then
-                       set -- rlwrap -A -g '^quit' -q "\"" -r -S ']' -w 100 "$@"
+                       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
@@ -332,6 +358,7 @@ case "$cmd" in
                $ECHO "  $SELF compile [-c] [-r|-p] [-0] [sdl|glx|wgl|agl|dedicated]"
                $ECHO "  $SELF update-maps"
                $ECHO "  $SELF run [sdl|glx|wgl|agl|dedicated] options..."
+               $ECHO "  $SELF compile-map mapname1 mapname2... (e.g. \"./all compile-map dance drain fuse\")"
                handled=false
                ;;
        *)