linux launcher:

* play with LD_LIBRARY_PATH variable to allow to ship 3rd party library with pcsx2 binary build
* Add a basic check to catch missing depencencies of plugins


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5323 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gregory.hainaut 2012-06-21 19:39:26 +00:00
parent 3af930c555
commit 040e6c509b
1 changed files with 39 additions and 2 deletions

View File

@ -15,9 +15,12 @@
# If not, see <http://www.gnu.org/licenses/>.
# This script is a small wrapper to the PCSX2 exectuable. The purpose is to
# launch PCSX2 from the same repository every times.
# 1/ launch PCSX2 from the same repository every times.
# Rationale: There is no guarantee on the directory when PCSX2 is launched from a shortcut.
# This behavior trigger the first time wizards everytime...
# 2/ Change LD_LIBRARY_PATH to uses 3rdparty library
# Rationale: It is nearly impossible to have the same library version on all systems. So the
# easiest solution it to ship library used during the build.
current_script=$0
@ -32,6 +35,33 @@ PWD_old=$PWD
# Go to the script directory
cd `dirname $current_script`
# Allow to ship .so library with the build to avoid version issue
if [ -e 3rdPartyLibs ]
then
if [ -z $LD_LIBRARY_PATH ]
then
OLD_LD_LIBRARY_PATH=""
export LD_LIBRARY_PATH="./3rdPartyLibs"
else
OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH="./3rdPartyLibs:$LD_LIBRARY_PATH"
fi
fi
# Test plugin depencencies
if [ -x `which ldd` ]
then
for plugin in `find plugins -iname "lib*.so"`
do
if [ `ldd $plugin | grep -c found` != 0 ]
then
echo "ERROR the plugin ($plugin) miss some dependencies"
echo " `ldd $plugin | grep found`"
echo ""
fi
done
fi
# Launch PCSX2
if [ -x pcsx2 ]
then
@ -43,5 +73,12 @@ else
exit 1
fi
# Go back to the old directory
# Be a good citizen. Restore the shell context
cd $PWD_old
if [ -z $OLD_LD_LIBRARY_PATH ]
then
unset LD_LIBRARY_PATH
else
export LD_LIBRARY_PATH="$OLD_LD_LIBRARY_PATH"
fi