diff --git a/wrappers/clang-target-wrapper.sh b/wrappers/clang-target-wrapper.sh index dfa36e4..dff8c4e 100755 --- a/wrappers/clang-target-wrapper.sh +++ b/wrappers/clang-target-wrapper.sh @@ -14,7 +14,17 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -DIR="$(cd "$(dirname $(readlink -f "$0"))" && pwd)" +get_dir() { + target="$1" + while [ -L "$target" ]; do + cd "$(dirname "$target")" + target="$(readlink "$(basename "$target")")" + done + cd "$(dirname "$target")" + pwd +} + +DIR="$(get_dir "$0")" BASENAME="$(basename "$0")" TARGET="${BASENAME%-*}" EXE="${BASENAME##*-}" diff --git a/wrappers/ld-wrapper.sh b/wrappers/ld-wrapper.sh index eb9d3ff..c2549d1 100755 --- a/wrappers/ld-wrapper.sh +++ b/wrappers/ld-wrapper.sh @@ -14,7 +14,17 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -DIR="$(cd "$(dirname $(readlink -f "$0"))" && pwd)" +get_dir() { + target="$1" + while [ -L "$target" ]; do + cd "$(dirname "$target")" + target="$(readlink "$(basename "$target")")" + done + cd "$(dirname "$target")" + pwd +} + +DIR="$(get_dir "$0")" export PATH="$DIR":"$PATH" BASENAME="$(basename "$0")" diff --git a/wrappers/objdump-wrapper.sh b/wrappers/objdump-wrapper.sh index 1b09c34..d864f9c 100755 --- a/wrappers/objdump-wrapper.sh +++ b/wrappers/objdump-wrapper.sh @@ -14,7 +14,17 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -DIR="$(cd "$(dirname $(readlink -f "$0"))" && pwd)" +get_dir() { + target="$1" + while [ -L "$target" ]; do + cd "$(dirname "$target")" + target="$(readlink "$(basename "$target")")" + done + cd "$(dirname "$target")" + pwd +} + +DIR="$(get_dir "$0")" export PATH="$DIR":"$PATH" if [ "$1" = "-f" ]; then