diff options
Diffstat (limited to 'contrib/gcc/fixinc.dgux')
-rwxr-xr-x | contrib/gcc/fixinc.dgux | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/contrib/gcc/fixinc.dgux b/contrib/gcc/fixinc.dgux deleted file mode 100755 index 422ba5f..0000000 --- a/contrib/gcc/fixinc.dgux +++ /dev/null @@ -1,185 +0,0 @@ -#!/bin/sh -# -# modified for dgux by hassey@dg-rtp.dg.com based on -# -# fixinc.svr4 written by Ron Guilmette (rfg@ncd.com). -# -# This file is part of GNU CC. -# -# GNU CC is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# GNU CC is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU CC; see the file COPYING. If not, write to -# the Free Software Foundation, 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. -# -# -# See README-fixinc for more information. - -# Directory containing the original header files. -INPUT=${2-${INPUT-/usr/include}} - -# Fail if no arg to specify a directory for the output. -if [ x$1 = x ] -then echo fixincludes: no output directory specified -exit 1 -fi - -# Directory in which to store the results. -LIB=${1?"fixincludes: output directory not specified"} - -# Make sure it exists. -if [ ! -d $LIB ]; then - mkdir $LIB || exit 1 -fi - -ORIG_DIR=`pwd` - -# Make LIB absolute if it is relative. -# Don't do this if not necessary, since may screw up automounters. -case $LIB in -/*) - ;; -*) - cd $LIB; LIB=`${PWDCMD-pwd}` - ;; -esac - -echo 'Building fixincludes in ' ${LIB} - -# Determine whether this filesystem has symbolic links. -if ln -s X $LIB/ShouldNotExist 2>/dev/null; then - rm -f $LIB/ShouldNotExist - LINKS=true -else - LINKS=false -fi - -echo 'Making directories:' -cd ${INPUT} -if $LINKS; then - files=`ls -LR | sed -n s/:$//p` -else - files=`find . -type d -print | sed '/^.$/d'` -fi -for file in $files; do - rm -rf $LIB/$file - if [ ! -d $LIB/$file ] - then mkdir $LIB/$file - fi -done - -# treetops gets an alternating list -# of old directories to copy -# and the new directories to copy to. -treetops="${INPUT} ${LIB}" - -if $LINKS; then - echo 'Making internal symbolic directory links' - for file in $files; do - dest=`ls -ld $file | sed -n 's/.*-> //p'` - if [ "$dest" ]; then - cwd=`pwd` - # In case $dest is relative, get to $file's dir first. - cd ${INPUT} - cd `echo ./$file | sed -n 's&[^/]*$&&p'` - # Check that the target directory exists. - # Redirections changed to avoid bug in sh on Ultrix. - (cd $dest) > /dev/null 2>&1 - if [ $? = 0 ]; then - cd $dest - # X gets the dir that the link actually leads to. - x=`pwd` - # If link leads back into ${INPUT}, - # make a similar link here. - if 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}. - 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. -# This line used to have $dest instead of $x. -# $dest seemed to be wrong for links found in subdirectories -# of ${INPUT}. Does this change break anything? - treetops="$treetops $x ${LIB}/$file" - fi - fi - cd $cwd - fi - done -fi - -# Completely replace <_int_varargs.h> with a file that defines -# va_list and gnuc_va_list - -file=_int_varargs.h -if [ -r ${INPUT}/$file ]; then - echo Replacing $file - cat > ${LIB}/$file << EOF -/* This file was generated by fixinc.dgux. */ -#ifndef __INT_VARARGS_H -#define __INT_VARARGS_H - -#if defined(__m88k__) && defined (__DGUX__) -#ifndef __GNUC_VA_LIST -#define __GNUC_VA_LIST -typedef struct -{ - int __va_arg; /* argument number */ - int *__va_stk; /* start of args passed on stack */ - int *__va_reg; /* start of args passed in regs */ -} __gnuc_va_list; -#endif /* not __GNUC_VA_LIST */ -#endif /* 88k && dgux */ - -#ifndef _VA_LIST_ -#define _VA_LIST_ -typedef __gnuc_va_list va_list; -#endif /* _VA_LIST_ */ - -#endif /* __INT_VARARGS_H */ - -EOF - chmod a+r ${LIB}/$file -fi - -echo 'Removing unneeded directories:' -cd $LIB -files=`find . -type d -print | sort -r` -for file in $files; do - rmdir $LIB/$file > /dev/null 2>&1 -done - -if $LINKS; then - echo 'Making internal symbolic non-directory links' - cd ${INPUT} - files=`find . -type l -print` - 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|"` - if [ -f $target ]; then - ln -s $dest ${LIB}/$file >/dev/null 2>&1 - fi - fi - done -fi - -cd ${ORIG_DIR} - -exit 0 - |