OSDN Git Service

* rtl.h (addr_diff_vec_flags): New typedef.
[pf3gnuchains/gcc-fork.git] / gcc / fixinc.svr4
index 0a9c6f9..46e07ce 100755 (executable)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # Install modified versions of certain ANSI-incompatible
 # native System V Release 4 system include files.
-# Copyright (C) 1994, 1996 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc.
 # Contributed by Ron Guilmette (rfg@monkeys.com).
 #
 # This file is part of GNU CC.
@@ -73,7 +73,7 @@ fi
 echo 'Making directories:'
 cd ${INPUT}
 if $LINKS; then
-  files=`ls -LR | sed -n s/:$//p`
+  files=`find . -follow -type d -print 2>/dev/null | sed '/^.$/d'`
 else
   files=`find . -type d -print | sed '/^.$/d'`
 fi
@@ -98,6 +98,7 @@ if $LINKS; then
       # In case $dest is relative, get to $file's dir first.
       cd ${INPUT}
       cd `echo ./$file | sed -n 's&[^/]*$&&p'`
+      rwd=`pwd`
       # Check that the target directory exists.
       # Redirections changed to avoid bug in sh on Ultrix.
       (cd $dest) > /dev/null 2>&1
@@ -107,7 +108,11 @@ if $LINKS; then
        x=`pwd`
        # If link leads back into ${INPUT},
        # make a similar link here.
-       if expr $x : "${INPUT}/.*" > /dev/null; then
+        if expr "$dest" : '[^/][^/]*' >/dev/null && [ ! -h $dest ]; then
+          echo $file '->'  $dest': Making link'
+          rm -fr ${LIB}/$file > /dev/null 2>&1
+          ln -s $dest ${LIB}/$file > /dev/null 2>&1
+       elif expr $x : "${INPUT}/.*" > /dev/null; then
          # Y gets the actual target dir name, relative to ${INPUT}.
          y=`echo $x | sed -n "s&${INPUT}/&&p"`
          # DOTS is the relative path from ${LIB}/$file's dir back to ${LIB}.
@@ -116,6 +121,15 @@ if $LINKS; then
          echo $file '->' $dots$y ': Making link'
          rm -fr ${LIB}/$file > /dev/null 2>&1
          ln -s $dots$y ${LIB}/$file > /dev/null 2>&1
+       elif expr $x : "${rwd}/.*" > /dev/null; then
+         # Y gets the actual target dir name, relative to the directory where the link is.
+         y=`echo $x | sed -n "s&${rwd}/&&p"`
+         # 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@..$@@'`
+         echo $file '->' $dots$y ': Making link'
+         rm -fr ${LIB}/$file > /dev/null 2>&1
+         ln -s $dots$y ${LIB}/$file > /dev/null 2>&1
        else
          # If the link is to outside ${INPUT},
          # treat this directory as if it actually contained the files.
@@ -189,6 +203,7 @@ while [ $# != 0 ]; do
          s/__STDC__[   ][      ]*!=[   ][      ]*0/defined (__STRICT_ANSI__)/g
          s/__STDC__[   ][      ]*!=[   ][      ]*1/!defined (__STRICT_ANSI__)/g
          s/__STDC__ - 0 == 0/!defined (__STRICT_ANSI__)/g
+         s/__STDC__ - 0 == 1/defined (__STRICT_ANSI__)/g
          /^typedef[    ][      ]*[unsigned     ]*long[         ][      ]*[u_]*longlong_t;/s/long/long long/
        ' $2/$file > $2/$file.sed
        mv $2/$file.sed $2/$file
@@ -1526,7 +1541,7 @@ if $LINKS; then
   for file in $files; do
     dest=`ls -ld $file | sed -n 's/.*-> //p'`
     if expr "$dest" : '[^/].*' > /dev/null; then    
-      target=${LIB}/`echo file | sed "s|[^/]*\$|$dest|"`
+      target=${LIB}/`echo $file | sed "s|[^/]*\$|$dest|"`
       if [ -f $target ]; then
         ln -s $dest ${LIB}/$file >/dev/null 2>&1
       fi