mirror of
https://github.com/glest/glest-source.git
synced 2025-02-24 19:52:25 +01:00
183 lines
6.1 KiB
Bash
Executable File
183 lines
6.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
findMissingSO () {
|
|
|
|
LDCONFIG="$1"
|
|
SO_LINKEDLIBNAME="$2"
|
|
SO_LIBLOOKUP1="$3"
|
|
SO_LIBLOOKUP2="$4"
|
|
|
|
hasSO=`$LDCONFIG -p | grep -m 1 "$SO_LIBLOOKUP1" | cut "-d>" -f2 | cut "-d " -f2`
|
|
if [ -n "$hasSO" ]; then
|
|
echo 'default library ['"$SO_LINKEDLIBNAME"'] was found in ['"$hasSO"']' >&2
|
|
else
|
|
echo 'default library ['"$SO_LINKEDLIBNAME"'] is missing, attempting to find and link to a newer version if available...' >&2
|
|
hasSO=`$LDCONFIG -p | grep -m 1 "$SO_LIBLOOKUP2" | cut "-d>" -f2 | cut "-d " -f2`
|
|
if [ -n "$hasSO" ]; then
|
|
echo 'new library link ['"$hasSO"'] pointed to from ['"$SO_LINKEDLIBNAME"']' >&2
|
|
ln -f -s $hasSO $SO_LINKEDLIBNAME
|
|
fi
|
|
fi
|
|
|
|
return 0
|
|
}
|
|
|
|
# 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"']' >&2
|
|
|
|
# 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)
|
|
echo 'Looking for LDCONFIG ['"$LDCONFIG"']...' >&2
|
|
|
|
if [ "$LDCONFIG"'_' = '_' ]; then # 'LDCONFIG' environment variable, if set, overrides the following detection
|
|
echo 'LDCONFIG environment variable is not set...' >&2
|
|
if [ `which ldconfig 2>/dev/null` ]; then
|
|
LDCONFIG=`which ldconfig 2>/dev/null`
|
|
echo 'Found LDCONFIG using which ['"$LDCONFIG"']...' >&2
|
|
else
|
|
if [ -x /sbin/ldconfig ]; then
|
|
LDCONFIG=/sbin/ldconfig
|
|
echo 'Found LDCONFIG in /sbin ['"$LDCONFIG"']...' >&2
|
|
# optionally add more custom locations using 'elseif' here
|
|
else
|
|
echo 'ERROR: Could not find the "ldconfig" command.' >&2
|
|
echo 'Please re-run using: "LDCONFIG=/path/to/ldconfig '"$0" >&2
|
|
exit 1
|
|
fi
|
|
fi
|
|
else
|
|
echo 'Found LDCONFIG environment variable ['"$LDCONFIG"']...' >&2
|
|
fi
|
|
|
|
|
|
# now deal with the openal library [libopenal.so.0]
|
|
OS_TYPE=`uname -m`
|
|
|
|
# OpenSuSE (11.3) and Fedora needs its own openAL
|
|
#if [ -f /etc/SuSE-release -a -f lib/libopenal* ]; then
|
|
if [ -f /etc/SuSE-release ] || [ -f /etc/fedora-release ] ; then
|
|
|
|
if [ -f /etc/SuSE-release ] ; then
|
|
echo 'Detected Open Suse...' >&2
|
|
fi
|
|
|
|
if [ -f /etc/fedora-release ] ; then
|
|
echo 'Detected Fedora...' >&2
|
|
fi
|
|
|
|
#rm -f lib/libopenal*
|
|
# libcurl*, libgnu*, libicu*, liblua*, libxerces*
|
|
#mv `ls -1 | grep -v '\.abc$' | grep -v '\.xyz$' | xargs`
|
|
|
|
if [ ! -d lib_bkp ]; then
|
|
mkdir lib_bkp
|
|
mv lib/* lib_bkp/
|
|
cp lib_bkp/libcurl* lib/
|
|
cp lib_bkp/libgnu* lib/
|
|
cp lib_bkp/libicu* lib/
|
|
cp lib_bkp/liblua* lib/
|
|
cp lib_bkp/libxerces* lib/
|
|
fi
|
|
fi
|
|
|
|
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-'
|
|
|
|
FUSION_LINKEDLIBNAME='libfusion-1.0.so.0'
|
|
FUSION_LIBLOOKUP1=${DIRECTFB_LINKEDLIBNAME}
|
|
FUSION_LIBLOOKUP2='libfusion-'
|
|
|
|
DIRECT_LINKEDLIBNAME='libdirect-1.0.so.0'
|
|
DIRECT_LIBLOOKUP1=${DIRECT_LINKEDLIBNAME}
|
|
DIRECT_LIBLOOKUP2='libdirect-'
|
|
|
|
JPG_LINKEDLIBNAME='libjpeg.so.62'
|
|
JPG_LIBLOOKUP1=${JPG_LINKEDLIBNAME}
|
|
JPG_LIBLOOKUP2='libjpeg.so'
|
|
|
|
PNG_LINKEDLIBNAME='libpng12.so.0'
|
|
PNG_LIBLOOKUP1=${PNG_LINKEDLIBNAME}
|
|
PNG_LIBLOOKUP2='libpng'
|
|
|
|
CURL_LINKEDLIBNAME='libcurl-gnutls.so.4'
|
|
CURL_LIBLOOKUP1=${CURL_LINKEDLIBNAME}
|
|
CURL_LIBLOOKUP2='libcurl.so.4'
|
|
|
|
XERCES_LINKEDLIBNAME='libxerces-c.so.28'
|
|
XERCES_LIBLOOKUP1=${XERCES_LINKEDLIBNAME}
|
|
XERCES_LIBLOOKUP2='libxerces-c'
|
|
|
|
ICUDATA_LINKEDLIBNAME='libicudata.so.40'
|
|
ICUDATA_LIBLOOKUP1=${ICUDATA_LINKEDLIBNAME}
|
|
ICUDATA_LIBLOOKUP2='libicudata.so.'
|
|
|
|
ICUUC_LINKEDLIBNAME='libicuuc.so.40'
|
|
ICUUC_LIBLOOKUP1=${ICUUC_LINKEDLIBNAME}
|
|
ICUUC_LIBLOOKUP2='libicuuc.so.'
|
|
|
|
if [ "$OS_TYPE"'_' = 'x86_64_' ]; then
|
|
DIRECTFB_LINKEDLIBNAME='libdirectfb-1.2.so.0'
|
|
DIRECTFB_LIBLOOKUP1=${DIRECTFB_LINKEDLIBNAME}
|
|
DIRECTFB_LIBLOOKUP2='libdirectfb-'
|
|
|
|
FUSION_LINKEDLIBNAME='libfusion-1.2.so.0'
|
|
FUSION_LIBLOOKUP1=${DIRECTFB_LINKEDLIBNAME}
|
|
FUSION_LIBLOOKUP2='libfusion-'
|
|
|
|
DIRECT_LINKEDLIBNAME='libdirect-1.2.so.0'
|
|
DIRECT_LIBLOOKUP1=${DIRECT_LINKEDLIBNAME}
|
|
DIRECT_LIBLOOKUP2='libdirect-'
|
|
fi
|
|
|
|
#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
|
|
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${OPENAL_LINKEDLIBNAME}" "$OPENAL_LIBLOOKUP1" "$OPENAL_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${DIRECTFB_LINKEDLIBNAME}" "$DIRECTFB_LIBLOOKUP1" "$DIRECTFB_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${FUSION_LINKEDLIBNAME}" "$FUSION_LIBLOOKUP1" "$FUSION_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${DIRECT_LINKEDLIBNAME}" "$DIRECT_LIBLOOKUP1" "$DIRECT_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${JPG_LINKEDLIBNAME}" "$JPG_LIBLOOKUP1" "$JPG_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${PNG_LINKEDLIBNAME}" "$PNG_LIBLOOKUP1" "$PNG_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${CURL_LINKEDLIBNAME}" "$CURL_LIBLOOKUP1" "$CURL_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${XERCES_LINKEDLIBNAME}" "$XERCES_LIBLOOKUP1" "$XERCES_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${ICUDATA_LINKEDLIBNAME}" "$ICUDATA_LIBLOOKUP1" "$ICUDATA_LIBLOOKUP2"
|
|
findMissingSO "$LDCONFIG" "$GAMEDIR/$LIBDIR/${ICUUC_LINKEDLIBNAME}" "$ICUUC_LIBLOOKUP1" "$ICUUC_LIBLOOKUP2"
|
|
|
|
#if [ -d techs/megapack/factions/norsemen/upgrades/training_field ]; then
|
|
# removed as of 3.3.5.1 beta1
|
|
# rm -r techs/megapack/factions/norsemen/upgrades/training_field
|
|
#fi
|
|
|
|
./megaglest $@
|
|
# ./megaglest $@ 2>&1 | tee -a /tmp/`date +"%F_%k-%M-%S"`.glest.log 2>&1
|