aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@apple.com>2004-11-05 04:49:19 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2004-11-05 04:49:19 +0000
commit53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8 (patch)
tree9c0488dfa9919d3ba6f1c976082a924834f13942 /gcc
parent9a3990559f9f8d09ce6fae8ef38e93c2e2b8abca (diff)
downloadgcc-53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8.zip
gcc-53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8.tar.gz
gcc-53c7ffe7dd1c281bc4d8b0eb1f2d59e4dd37c8a8.tar.bz2
Index: ChangeLog
2004-11-04 Geoffrey Keating <geoffk@apple.com> * Makefile.def: Build fixincludes for the host, too. * Makefile.in: Regenerate. * configure.in (host_tools): Add fixincludes. * configure: Regenerate. Index: fixincludes/ChangeLog 2004-11-04 Geoffrey Keating <geoffk@apple.com> * configure.ac: Add code to determine noncanonical_target, local_prefix, gcc_version; process mkheaders.in to make mkheaders. * configure: Regenerate. * fixinc.in: Move here from gcc/; fix many cross-hosting bugs. * mkfixinc.sh: Move here from gcc/; update for changes to fixinc.in. * mkheaders.in: Move here from gcc/; remove some unnecessary macros; update for changes to fixinc.in. * Makefile.in: Add many new macros. (install): New target. (mkheaders): New target. (fixinc.sh): New target. (all): Add mkheaders and fixinc.sh. * README-fixinc: Move here from gcc/. Index: gcc/ChangeLog 2004-11-04 Geoffrey Keating <geoffk@apple.com> * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory. (install-mkheaders): Install the version built for the host, not for the build machine. * configure.ac: Always run fixincludes. (all_outputs): Remove mkheaders. * configure: Regenerate. * fixinc.in: Move to fixincludes/. * mkfixinc.sh: Likewise. * mkheaders.in: Likewise. * README-fixinc: Likewise. From-SVN: r90117
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog13
-rw-r--r--gcc/Makefile.in80
-rw-r--r--gcc/README-fixinc14
-rwxr-xr-xgcc/configure10
-rw-r--r--gcc/configure.ac10
-rwxr-xr-xgcc/fixinc.in506
-rwxr-xr-xgcc/mkfixinc.sh44
-rw-r--r--gcc/mkheaders.in105
8 files changed, 41 insertions, 741 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7a384a3..a3cb64e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+2004-11-04 Geoffrey Keating <geoffk@apple.com>
+
+ * Makefile.in (distclean): Don't delete nonexistent fixinc/ directory.
+ (install-mkheaders): Install the version built for the
+ host, not for the build machine.
+ * configure.ac: Always run fixincludes.
+ (all_outputs): Remove mkheaders.
+ * configure: Regenerate.
+ * fixinc.in: Move to fixincludes/.
+ * mkfixinc.sh: Likewise.
+ * mkheaders.in: Likewise.
+ * README-fixinc: Likewise.
+
2004-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
PR target/18263
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 125dee4..1c4fcc7 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -1080,9 +1080,6 @@ gccbug: $(srcdir)/gccbug.in
mklibgcc: $(srcdir)/mklibgcc.in
CONFIG_FILES=mklibgcc CONFIG_HEADERS= ./config.status
-mkheaders: $(srcdir)/mkheaders.in
- CONFIG_FILES=mkheaders CONFIG_HEADERS= ./config.status
-
# cstamp-h.in controls rebuilding of config.in.
# It is named cstamp-h.in and not stamp-h.in so the mostlyclean rule doesn't
# delete it. A stamp file is needed as autoheader won't update the file if
@@ -2783,31 +2780,24 @@ stmp-int-hdrs: $(STMP_FIXINC) $(USER_H) xlimits.h
chmod a+r include/limits.h
# Install the README
rm -f include/README
- cp $(srcdir)/README-fixinc include/README
+ cp $(srcdir)/../fixincludes/README-fixinc include/README
chmod a+r include/README
$(STAMP) $@
-# fixinc.sh depends on this, not on specs directly.
-# The idea is to make sure specs gets built, but not rerun fixinc.sh
-# after each stage just because specs' mtime has changed.
-# It also depends on cc1 since fixinc.sh uses it.
-specs.ready: specs cc1$(exeext)
- -if [ -f specs.ready ] ; then \
- true; \
- else \
- $(STAMP) specs.ready; \
- fi
-
-fixinc.sh: mkfixinc.sh fixinc.in
- build_subdir="$(build_subdir)" srcdir="$(srcdir)" \
- $(SHELL) $(srcdir)/mkfixinc.sh $(build) $(target)
-
.PHONY: install-gcc-tooldir
install-gcc-tooldir:
$(mkinstalldirs) $(DESTDIR)$(gcc_tooldir)
+macro_list : $(GCC_PASSES)
+ echo | $(GCC_FOR_TARGET) -E -dM - | \
+ sed -n 's/^#define \([^_][a-zA-Z0-9_]*\).*/\1/p ; \
+ s/^#define \(_[^_A-Z][a-zA-Z0-9_]*\).*/\1/p' | \
+ sort -u > $@
+
# Build fixed copies of system files.
-stmp-fixinc: fixinc.sh gsyslimits.h specs.ready
+stmp-fixinc: gsyslimits.h macro_list \
+ ../$(build_subdir)/fixincludes/fixincl \
+ ../$(build_subdir)/fixincludes/fixinc.sh
@if test ! -d ${SYSTEM_HEADER_DIR}; then \
echo The directory that should contain system headers does not exist: >&2 ; \
echo " ${SYSTEM_HEADER_DIR}" >&2 ; \
@@ -2817,24 +2807,20 @@ stmp-fixinc: fixinc.sh gsyslimits.h specs.ready
rm -rf include; mkdir include
-chmod a+rx include
(TARGET_MACHINE='$(target)'; srcdir=`cd $(srcdir); ${PWD_COMMAND}`; \
- SHELL='$(SHELL)' ;\
- export TARGET_MACHINE srcdir SHELL ; \
- $(SHELL) ./fixinc.sh `${PWD_COMMAND}`/include $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS); \
- rm -f include/syslimits.h; \
+ SHELL='$(SHELL)'; MACRO_LIST=`${PWD_COMMAND}`/macro_list ; \
+ export TARGET_MACHINE srcdir SHELL MACRO_LIST && \
+ cd ../$(build_subdir)/fixincludes && \
+ $(SHELL) ./fixinc.sh ../../gcc/include \
+ $(SYSTEM_HEADER_DIR) $(OTHER_FIXINCLUDES_DIRS) )
+ rm -f include/syslimits.h
if [ -f include/limits.h ]; then \
mv include/limits.h include/syslimits.h; \
else \
cp $(srcdir)/gsyslimits.h include/syslimits.h; \
- fi; \
- chmod a+r include/syslimits.h)
+ fi
+ chmod a+r include/syslimits.h
$(STAMP) stmp-fixinc
-# We can't run fixinc (it's being built for a different host), but we still
-# need to install it so that the user can run it when the compiler is
-# installed.
-stmp-install-fixinc: fixinc.sh gsyslimits.h
- $(STAMP) $@
-
# Files related to the fixproto script.
# gen-protos and fix-header are compiled with CC_FOR_BUILD, but they are only
# used in native and host-x-target builds, so it's safe to link them with
@@ -3065,10 +3051,8 @@ mostlyclean: lang.mostlyclean
-rm -f specs $(SPECS) SYSCALLS.c.X SYSCALLS.c
-rm -f collect collect2 mips-tfile mips-tdump
# Delete files generated for fixproto
- -rm -rf fix-header$(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
+ -rm -rf $(build_exeext) xsys-protos.h deduced.h tmp-deduced.h \
gen-protos$(build_exeext) fixproto.list fixtmp.* fixhdr.ready
-# Delete files generated for fixincl
- -rm -rf fixinc.sh specs.ready
# Delete unwanted output files from TeX.
-rm -f *.toc *.log *.vr *.fn *.cp *.tp *.ky *.pg
-rm -f */*.toc */*.log */*.vr */*.fn */*.cp */*.tp */*.ky */*.pg
@@ -3126,12 +3110,11 @@ distclean: clean lang.distclean
-cd testsuite && rm -f *.out *.gcov *$(coverageexts)
-rm -rf ${QMTEST_DIR} stamp-qmtest
-rm -f cxxmain.c
- -rm -f mklibgcc mkheaders gccbug .gdbinit configargs.h
+ -rm -f mklibgcc gccbug .gdbinit configargs.h
-rm -f gcov.pod
- -rm -f fixinc/Makefile
# Delete po/*.gmo only if we are not building in the source directory.
-if [ ! -f po/exgettext ]; then rm -f po/*.gmo; fi
- -rmdir ada cp f java objc fixinc intl po testsuite 2>/dev/null
+ -rmdir ada cp f java objc intl po testsuite 2>/dev/null
# Get rid of every file that's generated from some other file, except for `configure'.
# Most of these files ARE PRESENT in the GCC distribution.
@@ -3361,28 +3344,18 @@ install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
itoolsdir = $(libexecsubdir)/install-tools
itoolsdatadir = $(libsubdir)/install-tools
-# Don't install the headers. Instead, install appropriate scripts
-# and supporting files for fixincludes to be run later.
+# Install supporting files for fixincludes to be run later.
install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
- mkheaders xlimits.h
- -rm -rf $(DESTDIR)$(itoolsdir) $(DESTDIR)$(itoolsdatadir)
- $(mkinstalldirs) $(DESTDIR)$(itoolsdatadir)/include
- $(mkinstalldirs) $(DESTDIR)$(itoolsdir)
+ macro_list xlimits.h
for file in $(USER_H); do \
realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
$(INSTALL_DATA) $$file \
$(DESTDIR)$(itoolsdatadir)/include/$$realfile ; \
done
$(INSTALL_DATA) xlimits.h $(DESTDIR)$(itoolsdatadir)/include/limits.h
- if [ x$(STMP_FIXINC) != x ] ; then \
- $(INSTALL_DATA) $(srcdir)/README-fixinc \
- $(DESTDIR)$(itoolsdatadir)/include/README ; \
- $(INSTALL_SCRIPT) fixinc.sh $(DESTDIR)$(itoolsdir)/fixinc.sh ; \
- $(INSTALL_PROGRAM) ../$(build_subdir)/fixincludes/fixincl$(build_exeext) \
- $(DESTDIR)$(itoolsdir)/fixincl ; \
- $(INSTALL_DATA) $(srcdir)/gsyslimits.h \
- $(DESTDIR)$(itoolsdatadir)/gsyslimits.h ; \
- else :; fi
+ $(INSTALL_DATA) $(srcdir)/gsyslimits.h \
+ $(DESTDIR)$(itoolsdatadir)/gsyslimits.h
+ $(INSTALL_DATA) macro_list $(DESTDIR)$(itoolsdatadir)/macro_list
if [ x$(STMP_FIXPROTO) != x ] ; then \
$(INSTALL_SCRIPT) $(mkinstalldirs) \
$(DESTDIR)$(itoolsdir)/mkinstalldirs ; \
@@ -3390,7 +3363,6 @@ install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
$(INSTALL_PROGRAM) build/fix-header$(build_exeext) \
$(DESTDIR)$(itoolsdir)/fix-header$(build_exeext) ; \
else :; fi
- $(INSTALL_SCRIPT) mkheaders $(DESTDIR)$(itoolsdir)/mkheaders
echo 'SYSTEM_HEADER_DIR="'"$(SYSTEM_HEADER_DIR)"'"' \
> $(DESTDIR)$(itoolsdatadir)/mkheaders.conf
echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
diff --git a/gcc/README-fixinc b/gcc/README-fixinc
deleted file mode 100644
index 7086a77..0000000
--- a/gcc/README-fixinc
+++ /dev/null
@@ -1,14 +0,0 @@
-This README file is copied into the directory for GCC-only header files
-when fixincludes is run by the makefile for GCC.
-
-Many of the files in this directory were automatically edited from the
-standard system header files by the fixincludes process. They are
-system-specific, and will not work on any other kind of system. They
-are also not part of GCC. The reason we have to do this is because
-GCC requires ANSI C headers and many vendors supply ANSI-incompatible
-headers.
-
-Because this is an automated process, sometimes headers get "fixed"
-that do not, strictly speaking, need a fix. As long as nothing is broken
-by the process, it is just an unfortunate collateral inconvenience.
-We would like to rectify it, if it is not "too inconvenient".
diff --git a/gcc/configure b/gcc/configure
index 2b71fedf..8d1683a 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -12683,20 +12683,12 @@ then
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
if test "x$TARGET_SYSTEM_ROOT" = x; then
- STMP_FIXINC=stmp-install-fixinc
if "x$STMP_FIXPROTO" != x ; then
STMP_FIXPROTO=stmp-install-fixproto
fi
fi
fi
-# When bootstrapping from the toplevel, only run fixincludes during stage1
-if test -d ../prev-gcc
-then
- STMP_FIXINC=stmp-install-fixinc
- cp -R ../prev-gcc/include include
-fi
-
# Expand extra_headers to include complete path.
# This substitutes for lots of t-* files.
extra_headers_list=
@@ -14992,7 +14984,7 @@ all_languages=
all_boot_languages=
all_compilers=
all_stagestuff=
-all_outputs='Makefile gccbug mklibgcc mkheaders libada-mk'
+all_outputs='Makefile gccbug mklibgcc libada-mk'
# List of language makefile fragments.
all_lang_makefrags=
# List of language subdirectory makefiles. Deprecated.
diff --git a/gcc/configure.ac b/gcc/configure.ac
index e5be4ee..e137985 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1684,20 +1684,12 @@ then
BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)'
if test "x$TARGET_SYSTEM_ROOT" = x; then
- STMP_FIXINC=stmp-install-fixinc
if [ "x$STMP_FIXPROTO" != x ] ; then
STMP_FIXPROTO=stmp-install-fixproto
fi
fi
fi
-# When bootstrapping from the toplevel, only run fixincludes during stage1
-if test -d ../prev-gcc
-then
- STMP_FIXINC=stmp-install-fixinc
- cp -R ../prev-gcc/include include
-fi
-
# Expand extra_headers to include complete path.
# This substitutes for lots of t-* files.
extra_headers_list=
@@ -3034,7 +3026,7 @@ all_languages=
all_boot_languages=
all_compilers=
all_stagestuff=
-all_outputs='Makefile gccbug mklibgcc mkheaders libada-mk'
+all_outputs='Makefile gccbug mklibgcc libada-mk'
# List of language makefile fragments.
all_lang_makefrags=
# List of language subdirectory makefiles. Deprecated.
diff --git a/gcc/fixinc.in b/gcc/fixinc.in
deleted file mode 100755
index 8e0a270..0000000
--- a/gcc/fixinc.in
+++ /dev/null
@@ -1,506 +0,0 @@
-#!/bin/sh
-#
-# Install modified versions of certain ANSI-incompatible system header
-# files which are fixed to work correctly with ANSI C and placed in a
-# directory that GCC will search.
-#
-# See README-fixinc for more information.
-#
-# fixincludes copyright (c) 1998, 1999, 2000, 2002
-# The Free Software Foundation, Inc.
-#
-# fixincludes is free software.
-#
-# You may 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.
-#
-# fixincludes 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 fixincludes. See the file "COPYING". If not,
-# write to: The Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-#
-# # # # # # # # # # # # # # # # # # # # #
-
-# Usage: fixinc.sh output-dir input-dir
-#
-# Directory in which to store the results.
-# 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
-
-LIB=${1}
-shift
-
-# Make sure it exists.
-if [ ! -d $LIB ]; then
- mkdir $LIB || {
- echo fixincludes: output dir '`'$LIB"' cannot be created"
- exit 1
- }
-else
- ( cd $LIB && touch DONE && rm DONE ) || {
- echo fixincludes: output dir '`'$LIB"' is an invalid directory"
- exit 1
- }
-fi
-
-if test -z "$VERBOSE"
-then
- VERBOSE=2
- export VERBOSE
-else
- case "$VERBOSE" in
- [0-9] ) : ;;
- * ) VERBOSE=3 ;;
- esac
-fi
-
-# Define what target system we're fixing.
-#
-if test -r ./Makefile; then
- target_canonical="`sed -n -e 's,^target[ ]*=[ ]*\(.*\)$,\1,p' < Makefile`"
-fi
-
-# If not from the Makefile, then try config.guess
-#
-if test -z "${target_canonical}" ; then
- if test -x ./config.guess ; then
- target_canonical="`config.guess`" ; fi
- test -z "${target_canonical}" && target_canonical=unknown
-fi
-export target_canonical
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-# Define PWDCMD as a command to use to get the working dir
-# in the form that we want.
-PWDCMD=${PWDCMD-pwd}
-
-case "`$PWDCMD`" in
-//*)
- # On an Apollo, discard everything before `/usr'.
- PWDCMD="eval pwd | sed -e 's,.*/usr/,/usr/,'"
- ;;
-esac
-
-# Original directory.
-ORIGDIR=`${PWDCMD}`
-export ORIGDIR
-FIXINCL="@FIXINCL@"
-if [ ! -x $FIXINCL ] ; then
- echo "Cannot find working fixincl" >&2
- exit 1
-fi
-export FIXINCL
-
-# Make LIB absolute only if needed to avoid problems with the amd.
-case $LIB in
-/*)
- ;;
-*)
- cd $LIB; LIB=`${PWDCMD}`
- ;;
-esac
-
-if test $VERBOSE -gt 0
-then echo Fixing headers into ${LIB} for ${target_canonical} target ; fi
-
-# Determine whether this system has symbolic links.
-if test -n "$DJDIR"; then
- LINKS=false
-elif ln -s X $LIB/ShouldNotExist 2>/dev/null; then
- rm -f $LIB/ShouldNotExist
- LINKS=true
-elif ln -s X /tmp/ShouldNotExist 2>/dev/null; then
- rm -f /tmp/ShouldNotExist
- LINKS=true
-else
- LINKS=false
-fi
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-# Extract from the gcc -dM and from the specs file all the predefined
-# macros that are not in the C89 reserved namespace (the reserved
-# namespace is all identifiers beginnning with two underscores or one
-# underscore followed by a capital letter). The specs file is in
-# ${ORIGDIR}, as is cc1. A regular expression to find any of those
-# macros in a header file is written to MN_NAME_PAT.
-#
-# Note dependency on ASCII. \012 = newline.
-# tr ' ' '\n' is, alas, not portable.
-
-echo | ${ORIGDIR}/cc1 -quiet -dM -E - |
- sed -n 's/^#define \([a-zA-Z][a-zA-Z0-9_]*\).*/\1/p' > mn.T
-tr -s '\040\011' '\012\012' < ${ORIGDIR}/specs |
- sed -n 's/^.*-D\([a-zA-Z_][a-zA-Z0-9_]*\).*/\1/p' >> mn.T
-
-if sort -u mn.T | grep -v '^_[_A-Z]' > mn.U
-then
- if test $VERBOSE -gt 0
- then echo "Forbidden identifiers: `tr '\012' ' ' <mn.U`" ; fi
- sed 's/^/\\\\</; s/$/\\\\>/; $!s/$/|/' < mn.U | tr -d '\012' > mn.V
- MN_NAME_PAT="`cat mn.V`"
- export MN_NAME_PAT
-else
- if test $VERBOSE -gt 0
- then echo "No forbidden identifiers defined by this target" ; fi
-fi
-rm -f mn.[TUV]
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-# Search each input directory for broken header files.
-# This loop ends near the end of the file.
-#
-if test $# -eq 0
-then
- INPUTLIST="/usr/include"
-else
- INPUTLIST="$@"
-fi
-
-for INPUT in ${INPUTLIST} ; do
-
-cd ${ORIGDIR}
-
-# Make sure a directory exists before changing into it,
-# otherwise Solaris2 will fail-exit the script.
-#
-if [ ! -d ${INPUT} ]; then
- continue
-fi
-cd ${INPUT}
-
-INPUT=`${PWDCMD}`
-export INPUT
-
-#
-# # # # # # # # # # # # # # # # # # # # #
-#
-if test $VERBOSE -gt 1
-then echo Finding directories and links to directories ; fi
-
-# Find all directories and all symlinks that point to directories.
-# Put the list in $all_dirs.
-# Each time we find a symlink, add it to newdirs
-# so that we do another find within the dir the link points to.
-# Note that $all_dirs may have duplicates in it;
-# later parts of this file are supposed to ignore them.
-dirs="."
-levels=2
-all_dirs=""
-search_dirs=""
-
-while [ -n "$dirs" ] && [ $levels -gt 0 ]
-do
- levels=`expr $levels - 1`
- newdirs=
- for d in $dirs
- do
- if test $VERBOSE -gt 1
- then echo " Searching $INPUT/$d" ; fi
-
- # Find all directories under $d, relative to $d, excluding $d itself.
- # (The /. is needed after $d in case $d is a symlink.)
- all_dirs="$all_dirs `find $d/. -type d -print | \
- sed -e '/\/\.$/d' -e 's@/./@/@g'`"
- # Find all links to directories.
- # Using `-exec test -d' in find fails on some systems,
- # and trying to run test via sh fails on others,
- # so this is the simplest alternative left.
- # First find all the links, then test each one.
- theselinks=
- $LINKS && \
- theselinks=`find $d/. -type l -print | sed -e 's@/./@/@g'`
- for d1 in $theselinks --dummy--
- do
- # If the link points to a directory,
- # add that dir to $newdirs
- if [ -d $d1 ]
- then
- all_dirs="$all_dirs $d1"
- if [ "`ls -ld $d1 | sed -n 's/.*-> //p'`" != "." ]
- then
- newdirs="$newdirs $d1"
- search_dirs="$search_dirs $d1"
- fi
- fi
- done
- done
-
- dirs="$newdirs"
-done
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-dirs=
-if test $VERBOSE -gt 2
-then echo "All directories (including links to directories):"
- echo $all_dirs
-fi
-
-for file in $all_dirs; do
- rm -rf $LIB/$file
- if [ ! -d $LIB/$file ]
- then mkdir $LIB/$file
- fi
-done
-mkdir $LIB/root
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-# treetops gets an alternating list
-# of old directories to copy
-# and the new directories to copy to.
-treetops=". ${LIB}"
-
-if $LINKS; then
- if test $VERBOSE -gt 1
- then echo 'Making symbolic directory links' ; fi
- cwd=`${PWDCMD}`
-
- for sym_link in $search_dirs; do
- cd ${INPUT}
- dest=`ls -ld ${sym_link} | sed -n 's/.*-> //p'`
-
- # In case $dest is relative, get to ${sym_link}'s dir first.
- #
- cd ./`echo ${sym_link} | sed 's;/[^/]*$;;'`
-
- # 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
-
- # full_dest_dir gets the dir that the link actually leads to.
- #
- full_dest_dir=`${PWDCMD}`
-
- # Canonicalize ${INPUT} now to minimize the time an
- # automounter has to change the result of ${PWDCMD}.
- #
- cinput=`cd ${INPUT}; ${PWDCMD}`
-
- # If a link points to ., make a similar link to .
- #
- if [ ${full_dest_dir} = ${cinput} ]; then
- if test $VERBOSE -gt 2
- then echo ${sym_link} '->' . ': Making self link' ; fi
- rm -fr ${LIB}/${sym_link} > /dev/null 2>&1
- ln -s . ${LIB}/${sym_link} > /dev/null 2>&1
-
- # If link leads back into ${INPUT},
- # make a similar link here.
- #
- elif expr ${full_dest_dir} : "${cinput}/.*" > /dev/null; then
- # Y gets the actual target dir name, relative to ${INPUT}.
- y=`echo ${full_dest_dir} | sed -n "s&${cinput}/&&p"`
- # DOTS is the relative path from ${LIB}/${sym_link} back to ${LIB}.
- dots=`echo "${sym_link}" |
- sed -e 's@^./@@' -e 's@/./@/@g' -e 's@[^/][^/]*@..@g' -e 's@..$@@'`
- if test $VERBOSE -gt 2
- then echo ${sym_link} '->' $dots$y ': Making local link' ; fi
- rm -fr ${LIB}/${sym_link} > /dev/null 2>&1
- ln -s $dots$y ${LIB}/${sym_link} > /dev/null 2>&1
-
- else
- # If the link is to a dir $target outside ${INPUT},
- # repoint the link at ${INPUT}/root$target
- # and process $target into ${INPUT}/root$target
- # treat this directory as if it actually contained the files.
- #
- if test $VERBOSE -gt 2
- then echo ${sym_link} '->' root${full_dest_dir} ': Making rooted link'
- fi
- if [ -d $LIB/root${full_dest_dir} ]
- then true
- else
- dirname=root${full_dest_dir}/
- dirmade=.
- cd $LIB
- while [ x$dirname != x ]; do
- component=`echo $dirname | sed -e 's|/.*$||'`
- mkdir $component >/dev/null 2>&1
- cd $component
- dirmade=$dirmade/$component
- dirname=`echo $dirname | sed -e 's|[^/]*/||'`
- done
- fi
-
- # Duplicate directory structure created in ${LIB}/${sym_link} in new
- # root area.
- #
- for file2 in $all_dirs; do
- case $file2 in
- ${sym_link}/*)
- dupdir=${LIB}/root${full_dest_dir}/`echo $file2 |
- sed -n "s|^${sym_link}/||p"`
- if test $VERBOSE -gt 2
- then echo "Duplicating ${sym_link}'s ${dupdir}" ; fi
- if [ -d ${dupdir} ]
- then true
- else
- mkdir ${dupdir}
- fi
- ;;
- *)
- ;;
- esac
- done
-
- # Get the path from ${LIB} to ${sym_link}, accounting for symlinks.
- #
- parent=`echo "${sym_link}" | sed -e 's@/[^/]*$@@'`
- libabs=`cd ${LIB}; ${PWDCMD}`
- file2=`cd ${LIB}; cd $parent; ${PWDCMD} | sed -e "s@^${libabs}@@"`
-
- # DOTS is the relative path from ${LIB}/${sym_link} back to ${LIB}.
- #
- dots=`echo "$file2" | sed -e 's@/[^/]*@../@g'`
- rm -fr ${LIB}/${sym_link} > /dev/null 2>&1
- ln -s ${dots}root${full_dest_dir} ${LIB}/${sym_link} > /dev/null 2>&1
- treetops="$treetops ${sym_link} ${LIB}/root${full_dest_dir}"
- fi
- fi
- done
-fi
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-required=
-set x $treetops
-shift
-while [ $# != 0 ]; do
- # $1 is an old directory to copy, and $2 is the new directory to copy to.
- #
- SRCDIR=`cd ${INPUT} ; cd $1 ; ${PWDCMD}`
- export SRCDIR
-
- FIND_BASE=$1
- export FIND_BASE
- shift
-
- DESTDIR=`cd $1;${PWDCMD}`
- export DESTDIR
- shift
-
- # The same dir can appear more than once in treetops.
- # There's no need to scan it more than once.
- #
- if [ -f ${DESTDIR}/DONE ]
- then continue ; fi
-
- touch ${DESTDIR}/DONE
- if test $VERBOSE -gt 1
- then echo Fixing directory ${SRCDIR} into ${DESTDIR} ; fi
-
- # Check files which are symlinks as well as those which are files.
- #
- cd ${INPUT}
- required="$required `if $LINKS; then
- find ${FIND_BASE}/. -name '*.h' \( -type f -o -type l \) -print
- else
- find ${FIND_BASE}/. -name '*.h' -type f -print
- fi | \
- sed -e 's;/\./;/;g' -e 's;//*;/;g' | \
- ${FIXINCL}`"
-done
-
-## Make sure that any include files referenced using double quotes
-## exist in the fixed directory. This comes last since otherwise
-## we might end up deleting some of these files "because they don't
-## need any change."
-set x `echo $required`
-shift
-while [ $# != 0 ]; do
- newreq=
- while [ $# != 0 ]; do
- # $1 is the directory to copy from,
- # $2 is the unfixed file,
- # $3 is the fixed file name.
- #
- cd ${INPUT}
- cd $1
- if [ -f $2 ] ; then
- if [ -r $2 ] && [ ! -r $3 ]; then
- cp $2 $3 >/dev/null 2>&1 || echo "Can't copy $2" >&2
- chmod +w $3 2>/dev/null
- chmod a+r $3 2>/dev/null
- if test $VERBOSE -gt 2
- then echo Copied $2 ; fi
- for include in `egrep '^[ ]*#[ ]*include[ ]*"[^/]' $3 |
- sed -e 's/^[ ]*#[ ]*include[ ]*"\([^"]*\)".*$/\1/'`
- do
- dir=`echo $2 | sed -e s'|/[^/]*$||'`
- dir2=`echo $3 | sed -e s'|/[^/]*$||'`
- newreq="$newreq $1 $dir/$include $dir2/$include"
- done
- fi
- fi
- shift; shift; shift
- done
- set x $newreq
- shift
-done
-
-if test $VERBOSE -gt 2
-then echo 'Cleaning up DONE files.' ; fi
-cd $LIB
-# Look for files case-insensitively, for the benefit of
-# DOS/Windows filesystems.
-find . -name '[Dd][Oo][Nn][Ee]' -exec rm -f '{}' ';'
-
-if test $VERBOSE -gt 1
-then echo 'Cleaning up unneeded directories:' ; fi
-cd $LIB
-all_dirs=`find . -type d \! -name '.' -print | sort -r`
-for file in $all_dirs; do
- if rmdir $LIB/$file > /dev/null
- then
- test $VERBOSE -gt 3 && echo " removed $file"
- fi
-done 2> /dev/null
-
-# On systems which don't support symlinks, `find' may barf
-# if called with "-type l" predicate. So only use that if
-# we know we should look for symlinks.
-if $LINKS; then
- test $VERBOSE -gt 2 && echo "Removing unused symlinks"
-
- all_dirs=`find . -type l -print`
- for file in $all_dirs
- do
- if test ! -d $file
- then
- rm -f $file
- test $VERBOSE -gt 3 && echo " removed $file"
- rmdir `dirname $file` > /dev/null && \
- test $VERBOSE -gt 3 && \
- echo " removed `dirname $file`"
- fi
- done 2> /dev/null
-fi
-
-if test $VERBOSE -gt 0
-then echo fixincludes is done ; fi
-
-# # # # # # # # # # # # # # # # # # # # #
-#
-# End of for INPUT directories
-#
-done
-#
-# # # # # # # # # # # # # # # # # # # # #
diff --git a/gcc/mkfixinc.sh b/gcc/mkfixinc.sh
deleted file mode 100755
index 509aa35..0000000
--- a/gcc/mkfixinc.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#! /bin/sh
-
-if [ $# -ne 2 ]
-then
- echo "Usage: $0 <build-mach-triplet> <target-mach-triplet>"
- exit 1
-fi
-
-build=$1
-machine=$2
-target=fixinc.sh
-
-# Check for special fix rules for particular targets
-case $machine in
- alpha*-dec-*vms* | \
- arm-semi-aof | \
- hppa1.1-*-osf* | \
- hppa1.1-*-bsd* | \
- i370-*-openedition | \
- i?86-moss-msdos* | \
- i?86-*-moss* | \
- i?86-*-pe | \
- i?86-*-cygwin* | \
- i?86-*-mingw32* | \
- i?86-*-uwin* | \
- i?86-*-interix* | \
- powerpc-*-eabiaix* | \
- powerpc-*-eabisim* | \
- powerpc-*-eabi* | \
- powerpc-*-rtems* | \
- powerpcle-*-eabisim* | \
- powerpcle-*-eabi* )
- # IF there is no include fixing,
- # THEN create a no-op fixer and exit
- (echo "#! /bin/sh" ; echo "exit 0" ) > ${target}
- ;;
-
- *)
- ../${build_subdir}/fixincludes/fixincl -v < /dev/null
- sed "s,@FIXINCL@,\${ORIGDIR}/../${build_subdir}/fixincludes/fixincl,g" \
- ${srcdir}/fixinc.in > ${target}
- ;;
-esac
-chmod 755 ${target}
diff --git a/gcc/mkheaders.in b/gcc/mkheaders.in
deleted file mode 100644
index 74376c3..0000000
--- a/gcc/mkheaders.in
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/sh
-
-# Copyright (C) 2002 Free Software Foundation, Inc.
-
-#This file is part of GCC.
-
-#GCC 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.
-
-#GCC 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 GCC; see the file COPYING. If not, write to the Free
-#Software Foundation, 59 Temple Place - Suite 330, Boston, MA
-#02111-1307, USA.
-
-# Basic information
-target=@target@
-target_noncanonical=@target_noncanonical@
-version=@gcc_version@
-
-VERBOSE=0
-while [ x$1 = x-v ] ; do
- shift
- VERBOSE=`expr $VERBOSE + 1`
-done
-export VERBOSE
-
-if [ x$1 = x--help ] ; then
- echo "Usage: mkheaders [options] [prefix]"
- echo "Options:"
- echo " -v Print more output (may be repeated for even more output)"
- echo " --help This help"
- echo " --version Print version information"
- exit 0
-fi
-
-if [ x$1 = x--version ] ; then
- echo "mkheaders (GCC) version $version"
- echo "Copyright 2002 Free Software Foundation, Inc."
- echo "This program is free software; you may redistribute it under the"
- echo "terms of the GNU General Public License. This program has"
- echo "absolutely no warranty."
- exit 0
-fi
-
-# Common prefix for installation directories.
-if [ x$1 != x ] ; then
- prefix=$1
-else
- prefix=@prefix@
-fi
-# Directory in which to put localized header files. On the systems with
-# gcc as the native cc, `local_prefix' may not be `prefix' which is
-# `/usr'.
-# NOTE: local_prefix *should not* default from prefix.
-local_prefix=@local_prefix@
-# Directory in which to put host dependent programs and libraries
-exec_prefix=@exec_prefix@
-# Directory in which to put the directories used by the compiler.
-libdir=@libdir@
-libexecdir=@libexecdir@
-# Directory in which the compiler finds libraries, etc.
-libsubdir=${libdir}/gcc/${target_noncanonical}/${version}
-# Directory in which the compiler finds executables
-libexecsubdir=${libexecdir}/gcc/${target_noncanonical}/${version}
-# Since gcc_tooldir does not exist at build-time, use -B${build_tooldir}/bin/
-build_tooldir=${exec_prefix}/${target_noncanonical}
-# Directory to search for site-specific includes.
-local_includedir=${local_prefix}/include
-includedir=${prefix}/include
-
-itoolsdir=${libexecsubdir}/install-tools
-itoolsdatadir=${libsubdir}/install-tools
-incdir=${libsubdir}/include
-
-. ${itoolsdatadir}/mkheaders.conf
-
-cd ${itoolsdir}
-rm -rf ${incdir}/*
-
-if [ x${STMP_FIXINC} != x ] ; then
- TARGET_MACHINE="${target}" target_canonical="${target}" \
- ${SHELL} ./fixinc.sh ${incdir} \
- ${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
- rm -f ${incdir}/syslimits.h
- if [ -f ${incdir}/limits.h ]; then
- mv ${incdir}/limits.h ${incdir}/syslimits.h
- else
- cp ${itoolsdatadir}/gsyslimits.h ${incdir}/syslimits.h
- fi
-fi
-
-cp ${itoolsdatadir}/include/* ${incdir}
-
-if [ x${STMP_FIXPROTO} != x ] ; then
- mkinstalldirs="${SHELL} ${itoolsdir}/mkinstalldirs"
- export FIXPROTO_DEFINES mkinstalldirs
- ${SHELL} fixproto ${incdir} ${incdir} ${SYSTEM_HEADER_DIR} || exit 1
-fi