summaryrefslogtreecommitdiff
path: root/bin/qtcreator
diff options
context:
space:
mode:
Diffstat (limited to 'bin/qtcreator')
-rwxr-xr-xbin/qtcreator37
1 files changed, 34 insertions, 3 deletions
diff --git a/bin/qtcreator b/bin/qtcreator
index c142ea825a..b5f4f945d5 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+"$@"}