From 4677e728df9582d3de64f6a82ba0882e3d531d03 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Wed, 5 Nov 2008 12:05:14 +0000 Subject: [PATCH] Try to compute a correct VG base directory, regardless of how/where the script is invoked. See #162092. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8732 --- vg-in-place | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/vg-in-place b/vg-in-place index 0f58ed1199..23e85407be 100755 --- a/vg-in-place +++ b/vg-in-place @@ -1,14 +1,29 @@ #!/bin/sh -# This ensures it works when invoked from any directory. -d="`dirname $0`" -if [ "$d" = "." ]; then - d="$PWD" +# Figure out an absolute pathname to this file, based on +# $0 (the name of the file) and $PWD. + +dollarzero=$0 + +if [ "${dollarzero#/}" == "${dollarzero}" ]; +then + # Relative name + scriptname=$PWD/$dollarzero; +else + # Absolute name + scriptname=$dollarzero; fi +# echo "Name of this script: " $scriptname + +vgbasedir=`dirname $scriptname` + +# echo "VG base directory: " $vgbasedir + + # We set both VALGRIND_LIB and VALGRIND_LIB_INNER to handle normal and # 'inner' builds. -VALGRIND_LIB="$d/.in_place" \ - VALGRIND_LIB_INNER="$d/.in_place" \ - "$d/coregrind/valgrind" "$@" +VALGRIND_LIB="$vgbasedir/.in_place" \ + VALGRIND_LIB_INNER="$vgbasedir/.in_place" \ + "$vgbasedir/coregrind/valgrind" "$@" -- 2.47.3