diff --git a/bin/qtcreator b/bin/qtcreator index c142ea825a6ca1a41a9a8e777bfa571c45ac5061..b5f4f945d51629ed61838c017fbf3d77b829b0fa 100755 --- a/bin/qtcreator +++ b/bin/qtcreator @@ -1,5 +1,36 @@ #!/bin/sh -bindir=$(dirname "$(readlink -nf $0)") -libdir=$(cd "${bindir}/../lib" ; pwd) -LD_LIBRARY_PATH="${libdir}/qtcreator:${LD_LIBRARY_PATH}" exec "${bindir}/qtcreator.bin" ${1+"$@"} +function makeAbsolute() { + case "$1" in + /*) + # already absolute, return it + echo "$1" + ;; + *) + # relative, prepend $2 made absolute + echo `makeAbsolute "$2" "$PWD"`/"$1" | sed 's,/\.$,,' + ;; + esac +} + +if test -L "$0"; then + # Try readlink(1) + readlink=`type readlink 2>/dev/null` || readlink= + if test -n "$readlink"; then + # We have readlink(1), so we can use it + me=`readlink -nf "$0"` + else + # No readlink(1), so let's try ls -l + me=`ls -l "$0" | sed 's/^.*-> //'` + base=`dirname "$0"` + me=`makeAbsolute "$me" "$base"` + fi +else + me="$0" +fi + +bindir=`dirname "$me"` +libdir=`cd "${bindir}/../lib" ; pwd` +LD_LIBRARY_PATH="${libdir}/qtcreator:${LD_LIBRARY_PATH}" +export LD_LIBRARY_PATH +exec "${bindir}/qtcreator.bin" ${1+"$@"}