]> de.git.xonotic.org Git - xonotic/xonotic.git/blobdiff - misc/tools/all/xonotic.subr
Restore the GLX binary on Linux systems
[xonotic/xonotic.git] / misc / tools / all / xonotic.subr
index 570305f8e23c3d0c00cd98aefa2e2b7fe9b8ec08..b9ddd8a316b8793a68100919087d700153592b90 100644 (file)
@@ -26,7 +26,7 @@ case "$cmd" in
                cleandp=false
                cleanqcc=false
                cleanqc=false
-               compiled0=false
+               compiled0=
                debug=debug
                if [ -z "$CC" ]; then
                        export CC="gcc"
@@ -38,6 +38,10 @@ case "$cmd" in
                                        compiled0=true
                                        shift
                                        ;;
+                               -1)
+                                       compiled0=false
+                                       shift
+                                       ;;
                                -c)
                                        cleand0=true
                                        cleandp=true
@@ -82,6 +86,8 @@ case "$cmd" in
                if [ x"`uname`" = x"Darwin" ]; then
                        TARGETS="sv-$debug sdl-$debug"
                        export CC="$CC -fno-reorder-blocks"
+               elif [ -n "$WE_HATE_OUR_USERS" ]; then
+                       TARGETS="sv-$debug sdl-$debug"
                else
                        TARGETS="sv-$debug cl-$debug sdl-$debug"
                fi
@@ -100,7 +106,7 @@ case "$cmd" in
                                        sdl)
                                                TARGETS="$TARGETS sdl-$debug"
                                                ;;
-                                       glx|wgl)
+                                       glx)
                                                TARGETS="$TARGETS cl-$debug"
                                                ;;
                                        dedicated)
@@ -135,7 +141,14 @@ case "$cmd" in
 
                if [ -n "$WE_HATE_OUR_USERS" ]; then
                        # win32: use SDL2
-                       MAKEFLAGS="$MAKEFLAGS SDL_CONFIG=$d0/misc/builddeps/win32/sdl/bin/sdl2-config"
+                       case `uname -m` in
+                               x86_64)
+                                       MAKEFLAGS="$MAKEFLAGS SDL_CONFIG=$d0/misc/builddeps/win64/sdl/bin/sdl2-config"
+                                       ;;
+                               *)
+                                       MAKEFLAGS="$MAKEFLAGS SDL_CONFIG=$d0/misc/builddeps/win32/sdl/bin/sdl2-config"
+                                       ;;
+                       esac
 
                        # win32: don't rely on jpeg includes
                        MAKEFLAGS="$MAKEFLAGS LIB_JPEG= CFLAGS_LIBJPEG="
@@ -155,7 +168,7 @@ case "$cmd" in
                                MAKEFLAGS="$MAKEFLAGS CFLAGS_SSE= CFLAGS_SSE2="
                                ;;
                esac
-               
+
                if ! verbose $CC misc/tools/conftest.c -o conftest; then
                        msg ""
                        msg "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
@@ -183,28 +196,32 @@ case "$cmd" in
                rm -f conftest
 
                verbose cd "$d0/d0_blind_id"
-               if ! $compiled0; then
+               if [ -z "$compiled0" ]; then
+                       # In doubt, compile.
+                       compiled0=true
+
                        # compilation of crypto library failed
                        # use binaries then, if we can...
                        mkdir -p .libs
                        if [ -n "$WE_HATE_OUR_USERS" ]; then
-                               verbose cp "$d0/misc/buildfiles/win32/libd0_blind_id"-* .libs/
-                               verbose cp "$d0/misc/buildfiles/win32/libd0_rijndael"-* .libs/
-                               verbose cp "$d0/misc/buildfiles/win32/libgmp"-* .libs/
+                               case `uname -m` in
+                                       x86_64)
+                                               verbose cp "$d0/misc/buildfiles/win64/libd0_blind_id"-* .libs/
+                                               verbose cp "$d0/misc/buildfiles/win64/libd0_rijndael"-* .libs/
+                                               verbose cp "$d0/misc/buildfiles/win64/libgmp"-* .libs/
+                                               compiled0=false
+                                               ;;
+                                       *)
+                                               verbose cp "$d0/misc/buildfiles/win32/libd0_blind_id"-* .libs/
+                                               verbose cp "$d0/misc/buildfiles/win32/libd0_rijndael"-* .libs/
+                                               verbose cp "$d0/misc/buildfiles/win32/libgmp"-* .libs/
+                                               compiled0=false
+                                               ;;
+                               esac
                        else
                                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"
@@ -214,18 +231,20 @@ case "$cmd" in
                                                                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=false
                                                                ;;
                                                        *)
-                                                               compiled0=true
+                                                               msg "Always need to compile libd0_blind_id on Linux `uname -m`."
                                                                ;;
                                                esac
                                                ;;
                                        Darwin)
                                                verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_blind_id".* .libs/
                                                verbose cp "$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS/libd0_rijndael".* .libs/
+                                               compiled0=false
                                                ;;
                                        *)
-                                               compiled0=true
+                                               msg "Always need to compile libd0_blind_id on `uname`."
                                                ;;
                                esac
                        fi
@@ -283,32 +302,38 @@ case "$cmd" in
                ;;
        run)
                if [ -n "$WE_HATE_OUR_USERS" ]; then
-                       client=
-                       export PATH="$d0/misc/buildfiles/win32:$d0/d0_blind_id/.libs:$PATH"
+                       case `uname -m` in
+                               x86_64)
+                                       export PATH="$d0/misc/buildfiles/win64:$d0/d0_blind_id/.libs:$PATH"
+                                       ;;
+                               *)
+                                       export PATH="$d0/misc/buildfiles/win32:$d0/d0_blind_id/.libs:$PATH"
+                                       ;;
+                       esac
                elif [ x"`uname`" = x"Darwin" ]; then
                        export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic.app/Contents/MacOS:$d0/d0_blind_id/.libs"
                        export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic.app/Contents/Frameworks"
-                       client=-sdl
                else
                        export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
-                       client=-sdl
                fi
+
+               client=-sdl
+               USE_RLWRAP=no
                case "$1" in
                        dedicated)
                                client=-$1
+                               USE_RLWRAP=
                                shift
                                ;;
-                       sdl|glx)
-                               USE_RLWRAP=no
-                               client=-$1
+                       sdl)
                                shift
                                ;;
-                       wgl)
-                               USE_RLWRAP=no
-                               client=
+                       glx)
+                               client=-$1
                                shift
                                ;;
                esac
+
                if ! [ -x "darkplaces/darkplaces$client" ]; then
                        if [ -x "darkplaces/darkplaces$client.exe" ]; then
                                client=$client.exe
@@ -359,9 +384,9 @@ case "$cmd" in
                fi
                ;;
        help)
-               $ECHO "  $SELF compile [-c] [-qc] [-r|-p] [-0] [sdl|glx|wgl|dedicated]"
+               $ECHO "  $SELF compile [-c] [-qc] [-r|-p] [-0] [-1] [sdl|glx|dedicated]"
                $ECHO "  $SELF update-maps"
-               $ECHO "  $SELF run [sdl|glx|wgl|dedicated] options..."
+               $ECHO "  $SELF run [sdl|glx|dedicated] options..."
                $ECHO "  $SELF compile-map mapname1 mapname2... (e.g. \"./all compile-map dance drain fuse\")"
                handled=false
                ;;