aboutsummaryrefslogtreecommitdiff
path: root/misc/setup/ioquake3.sh
diff options
context:
space:
mode:
Diffstat (limited to 'misc/setup/ioquake3.sh')
-rw-r--r--misc/setup/ioquake3.sh50
1 files changed, 50 insertions, 0 deletions
diff --git a/misc/setup/ioquake3.sh b/misc/setup/ioquake3.sh
new file mode 100644
index 0000000..fbef567
--- /dev/null
+++ b/misc/setup/ioquake3.sh
@@ -0,0 +1,50 @@
+#!/bin/sh
+
+readlink() {
+ local path=$1 ll
+
+ if [ -L "$path" ]; then
+ ll="$(LC_ALL=C ls -l "$path" 2> /dev/null)" &&
+ echo "${ll##* -> }"
+ else
+ return 1
+ fi
+}
+
+script=$0
+count=0
+while [ -L "$script" ]
+do
+ script=$(readlink "$script")
+ count=`expr $count + 1`
+ if [ $count -gt 100 ]
+ then
+ echo "Too many symbolic links"
+ exit 1
+ fi
+done
+cd "`dirname $script`"
+
+
+lib=lib
+test -e lib64 && lib=lib64
+
+if test "x$LD_LIBRARY_PATH" = x; then
+ LD_LIBRARY_PATH="`pwd`/$lib"
+else
+ LD_LIBRARY_PATH="`pwd`/$lib:$LD_LIBRARY_PATH"
+fi
+export LD_LIBRARY_PATH
+
+archs=`uname -m`
+case "$archs" in
+ i?86) archs=i386 ;;
+ x86_64) archs="x86_64 i386" ;;
+ ppc64) archs="ppc64 ppc" ;;
+esac
+
+for arch in $archs; do
+ test -x ./ioquake3.$arch || continue
+ exec ./ioquake3.$arch "$@"
+done
+echo "could not execute ioquake3" >&2