(install): Use full pathnames for linker script. This is to work
[kopensolaris-gnu/glibc.git] / rellns-sh
index 61f18c4..890f4ee 100755 (executable)
--- a/rellns-sh
+++ b/rellns-sh
@@ -1,6 +1,6 @@
 #! /bin/sh
 # rellns-sh - Simplified ln program to generate relative symbolic link.
-# Copyright (C) 1996 Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
 # Written by Ulrich Drepper <drepper@cygnus.com>, October 1996
 #
 # This program is free software; you can redistribute it and/or modify
@@ -22,39 +22,31 @@ if test $# -ne 2; then
   exit 1
 fi
 
-# We only handle the case where SOURCE is the name of an existing file
-if test ! -f $1; then
-  echo "rellns: $1 must name an existing file" >&2
-  exit 1
-fi
-
-case $1 in
-/*)
-  # Make both paths absolute.
-  to=`echo $1 | sed 's%^/%%'`
-
-  if test -d $2; then
-    from=`echo $2 | sed 's%/*$%%'`
+# Make both paths absolute.
+if test -d $1; then
+  to=`cd $1 && /bin/pwd`
+else
+  temp=`echo $1 | sed 's%/*[^/]*$%%'`
+  if test -z "$temp"; then
+    to=`/bin/pwd`
   else
-    from=`echo $2 | sed 's%/*[^/]*$%%'`
+    to=`cd $temp && /bin/pwd`
   fi
+  to="$to/`echo $1 | sed 's%.*/\([^/][^/]*\)$%\1%'`"
+fi
+to=`echo $to | sed 's%^/%%'`
 
-  case "$from" in
-  /*) from=`echo $from | sed 's%^/*%%'` ;;
-  ?*) from=`cd $from && pwd | sed 's%^/%%'` ;;
-  *) from=`pwd | sed 's%^/%%'` ;;
-  esac
-  ;;
-*)
-  to=$1
+if test -d $2; then
+  from=`echo $2 | sed 's%/*$%%'`
+else
+  from=`echo $2 | sed 's%/*[^/]*$%%'`
+fi
 
-  if test -d $2; then
-    from=`echo $2 | sed 's%/*$%%'`
-  else
-    from=`echo $2 | sed 's%/*[^/]*$%%'`
-  fi
-  ;;
-esac
+if test -z "$from"; then
+  from=`/bin/pwd | sed 's%^/%%'`
+else
+  from=`cd $from && /bin/pwd | sed 's%^/%%'`
+fi
 
 while test -n "$to" && test -n "$from"; do
   preto=`echo $to | sed 's%^\([^/]*\)/.*%\1%'`