aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>1994-09-20 16:22:36 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>1994-09-20 16:22:36 +0000
commit3221f176136402b4df91492f2234ce203cba6e76 (patch)
tree7517d98805d69b554f70e7d51e17ed93979929ee /gcc
parent84555e5df4b9af4be38ac9c9b037abecde70821c (diff)
downloadgcc-3221f176136402b4df91492f2234ce203cba6e76.zip
gcc-3221f176136402b4df91492f2234ce203cba6e76.tar.gz
gcc-3221f176136402b4df91492f2234ce203cba6e76.tar.bz2
Handle a symlink to root/* from a subdirectory of a symlink to root/*
From-SVN: r8097
Diffstat (limited to 'gcc')
-rwxr-xr-xgcc/fixincludes7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fixincludes b/gcc/fixincludes
index 2e33da51..eba13af 100755
--- a/gcc/fixincludes
+++ b/gcc/fixincludes
@@ -198,9 +198,12 @@ if $LINKS; then
;;
esac
done
+ # Get the path from ${LIB} to $file, accounting for symlinks.
+ parent=`echo "$file" | sed -e 's@/[^/]*$@@'`
+ libabs=`cd ${LIB}; ${PWDCMD}`
+ file2=`cd ${LIB}; cd $parent; ${PWDCMD} | sed -e "s@^${libabs}@@"`
# DOTS is the relative path from ${LIB}/$file's dir back to ${LIB}.
- dots=`echo "$file" |
- sed -e 's@^./@@' -e 's@/./@/@g' -e 's@[^/][^/]*@..@g' -e 's@..$@@'`
+ dots=`echo "$file2" | sed -e 's@/[^/]*@../@g'`
rm -fr ${LIB}/$file > /dev/null 2>&1
ln -s ${dots}root$x ${LIB}/$file > /dev/null 2>&1
treetops="$treetops $x ${LIB}/root$x"