#!/bin/sh # Library directory LIBDIR="lib" # As a first step to determine the absolute path of the directory the game # resides in, dereference symlinks to this script and convert relative to # absolute paths along the way. MYLOCATION="`readlink -f $0`" # The game directory is the directory the script resides in GAMEDIR="`dirname $MYLOCATION`" # Change to the game dir, and go! cd $GAMEDIR echo gamedir [$GAMEDIR] # export game library directory test -n "${LIBDIR}" && export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${GAMEDIR}/${LIBDIR}" # ensure ldconfig is found (was an issue on OpenSuSE 11.2) if [ "$LDCONFIG"'x' = 'x' ] # 'LDCONFIG' environment variable, if set, overrides the following detection then if [ `which ldconfig 2>/dev/null` ] then LDCONFIG=`which ldconfig 2>/dev/null` else if [ -x /sbin/ldconfig ] then LDCONFIG=/sbin/ldconfig # optionally add more custom locations using 'elseif' here else echo 'ERROR: Could not find the "ldconfig" command.' >&2 echo 'Try running "LDCONFIG=`which ldconfig` '"$0"' instead.' >&2 exit 1 fi fi fi # now deal with the openal library [libopenal.so.0] OS_TYPE=`uname -m` OPENAL_LINKEDLIBNAME="libopenal.so.0" OPENAL_LIBLOOKUP1=${OPENAL_LINKEDLIBNAME} OPENAL_LIBLOOKUP2="libopenal.so.1" DIRECTFB_LINKEDLIBNAME="libdirectfb-1.0.so.0" DIRECTFB_LIBLOOKUP1=${DIRECTFB_LINKEDLIBNAME} DIRECTFB_LIBLOOKUP2="libdirectfb-1.2.so.0" FUSION_LINKEDLIBNAME="libfusion-1.0.so.0" FUSION_LIBLOOKUP1=${DIRECTFB_LINKEDLIBNAME} FUSION_LIBLOOKUP2="libfusion-1.2.so.0" DIRECT_LINKEDLIBNAME="libdirect-1.0.so.0" DIRECT_LIBLOOKUP1=${DIRECT_LINKEDLIBNAME} DIRECT_LIBLOOKUP2="libdirect-1.2.so.0" if [ "$OS_TYPE" = "x86_64" ]; then OPENAL_LIBLOOKUP1="${OPENAL_LIBLOOKUP1} (libc6)" OPENAL_LIBLOOKUP2="${OPENAL_LIBLOOKUP2} (libc6)" DIRECTFB_LIBLOOKUP1="${DIRECTFB_LIBLOOKUP1} (libc6)" DIRECTFB_LIBLOOKUP2="${DIRECTFB_LIBLOOKUP2} (libc6)" FUSION_LIBLOOKUP1="${FUSION_LIBLOOKUP1} (libc6)" FUSION_LIBLOOKUP2="${FUSION_LIBLOOKUP2} (libc6)" DIRECT_LIBLOOKUP1="${DIRECT_LIBLOOKUP1} (libc6)" DIRECT_LIBLOOKUP2="${DIRECT_LIBLOOKUP2} (libc6)" fi hasopenal=`$LDCONFIG -p | grep -m 1 "$OPENAL_LIBLOOKUP1" | cut "-d>" -f2 | cut "-d " -f2` #echo "openal search = [$hasopenal]" if [ -n "$hasopenal" ]; then echo "default openal library was found in [$hasopenal]" else echo "default openal library is missing, attempting to find and link to a newer version if available..." hasopenal=`$LDCONFIG -p | grep -m 1 "$OPENAL_LIBLOOKUP2" | cut "-d>" -f2 | cut "-d " -f2` if [ -n "$hasopenal" ]; then echo "new openal library link = $hasopenal" ln -f -s $hasopenal $GAMEDIR/$LIBDIR/${OPENAL_LINKEDLIBNAME} fi fi hasdirectfb=`$LDCONFIG -p | grep -m 1 "$DIRECTFB_LIBLOOKUP1" | cut "-d>" -f2 | cut "-d " -f2` #echo "directfb search = [$hasdirectfb]" if [ -n "$hasdirectfb" ]; then echo "default directfb library was found in [$hasdirectfb]" else echo "default directfb library is missing, attempting to find and link to a different location if available..." hasdirectfb=`$LDCONFIG -p | grep -m 1 "$DIRECTFB_LIBLOOKUP2" | cut "-d>" -f2 | cut "-d " -f2` if [ -n "$hasdirectfb" ]; then echo "new directfb library link = $hasdirectfb" ln -f -s $hasdirectfb $GAMEDIR/$LIBDIR/${DIRECTFB_LINKEDLIBNAME} fi fi hasfusion=`$LDCONFIG -p | grep -m 1 "$FUSION_LIBLOOKUP1" | cut "-d>" -f2 | cut "-d " -f2` #echo "fusion search = [$hasfusion]" if [ -n "$hasfusion" ]; then echo "default fusion library was found in [$hasfusion]" else echo "default fusion library is missing, attempting to find and link to a different location if available..." hasfusion=`$LDCONFIG -p | grep -m 1 "$FUSION_LIBLOOKUP2" | cut "-d>" -f2 | cut "-d " -f2` if [ -n "$hasfusion" ]; then echo "new fusion library link = $hasfusion" ln -f -s $hasfusion $GAMEDIR/$LIBDIR/${FUSION_LINKEDLIBNAME} fi fi hasdirect=`$LDCONFIG -p | grep -m 1 "$DIRECT_LIBLOOKUP1" | cut "-d>" -f2 | cut "-d " -f2` #echo "direct search = [$hasdirect]" if [ -n "$hasdirect" ]; then echo "default direct library was found in [$hasdirect]" else echo "default direct library is missing, attempting to find and link to a different location if available..." hasdirect=`$LDCONFIG -p | grep -m 1 "$DIRECT_LIBLOOKUP2" | cut "-d>" -f2 | cut "-d " -f2` if [ -n "$hasdirect" ]; then echo "new direct library link = $hasdirect" ln -f -s $hasdirect $GAMEDIR/$LIBDIR/${DIRECT_LINKEDLIBNAME} fi fi ./bin/glest.bin $@ 2>&1 | tee -a glest.log # ./bin/glest.bin $@ 2>&1 | tee -a /tmp/`date +"%F_%k-%M-%S"`.glest.log 2>&1