2002-05-26 Geoffrey Keating <geoffk@redhat.com>
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 May 2002 04:24:54 +0000 (04:24 +0000)
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 27 May 2002 04:24:54 +0000 (04:24 +0000)
commit336ff1b36700d989ed5f51e04c308d36a3cce514
tree924433a1992eec51d0277440a6426d3252a066cd
parent4af90ac0ff568bd756c4ff02969728d78428222a
2002-05-26  Geoffrey Keating  <geoffk@redhat.com>

* Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
(mkheaders): New rule.
(install-mkheaders): New rule.
* configure.in (all_outputs): Add mkheaders.
* configure: Regenerate.
* mkheaders.in: New file.

Index: gcc/Makefile.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Makefile.in,v
retrieving revision 1.880
diff -p -u -p -r1.880 Makefile.in
--- gcc/Makefile.in 25 May 2002 22:01:40 -0000 1.880
+++ gcc/Makefile.in 27 May 2002 04:14:19 -0000
@@ -434,7 +434,7 @@ FLOAT_H=@float_h_file@
 LIBCONVERT =

 # Control whether header files are installed.
-INSTALL_HEADERS=install-headers
+INSTALL_HEADERS=install-headers install-mkheaders

 # Control whether Info documentation is built and installed.
 BUILD_INFO = @BUILD_INFO@
@@ -878,6 +878,9 @@ 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
@@ -2839,6 +2842,47 @@ install-headers-cpio: stmp-int-hdrs $(ST
 # Install the include directory using cp.
 install-headers-cp: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
  cp -p -r include $(libsubdir)
+
+itoolsdir = $(libsubdir)/install-tools
+# Don't install the headers.  Instead, install appropriate scripts
+# and supporting files for fixincludes to be run later.
+install-mkheaders: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir \
+    mkheaders xlimits.h
+ -rm -rf $(itoolsdir)
+ $(SHELL) $(srcdir)/mkinstalldirs $(itoolsdir)/include
+ for file in $(USER_H); do \
+   realfile=`echo $$file | sed -e 's|.*/\([^/]*\)$$|\1|'`; \
+   $(INSTALL_DATA) $$file \
+     $(itoolsdir)/include/$$realfile ; \
+ done
+ if [ x$(FLOAT_H) != xMakefile.in ]; then \
+   $(INSTALL_DATA) $(srcdir)/config/$(FLOAT_H) \
+      $(itoolsdir)/include/float.h ; \
+ else :; fi
+ $(INSTALL_DATA) xlimits.h $(itoolsdir)/include/limits.h
+ if [ x$(STMP_FIXINC) != x ] ; then \
+   $(INSTALL_DATA) $(srcdir)/README-fixinc \
+     $(itoolsdir)/include/README ; \
+   $(INSTALL_PROGRAM) fixinc.sh $(itoolsdir)/fixinc.sh ; \
+   $(INSTALL_PROGRAM) fixinc/fixincl $(itoolsdir)/fixincl ; \
+   $(INSTALL_DATA) $(srcdir)/gsyslimits.h $(itoolsdir)/gsyslimits.h ; \
+ else :; fi
+ if [ x$(STMP_FIXPROTO) != x ] ; then \
+   $(INSTALL_PROGRAM) $(srcdir)/mkinstalldirs \
+ $(itoolsdir)/mkinstalldirs ; \
+   $(INSTALL_PROGRAM) $(srcdir)/fixproto $(itoolsdir)/fixproto ; \
+   $(INSTALL_PROGRAM) fix-header$(build_exeext) \
+ $(itoolsdir)/fix-header$(build_exeext) ; \
+ else :; fi
+ $(INSTALL_PROGRAM) mkheaders $(itoolsdir)/mkheaders
+ echo 'SYSTEM_HEADER_DIR="$(SYSTEM_HEADER_DIR)"' \
+ > $(itoolsdir)/mkheaders.conf
+ echo 'OTHER_FIXINCLUDES_DIRS="$(OTHER_FIXINCLUDES_DIRS)"' \
+ >> $(itoolsdir)/mkheaders.conf
+ echo 'FIXPROTO_DEFINES="$(FIXPROTO_DEFINES)"' \
+ >> $(itoolsdir)/mkheaders.conf
+ echo 'STMP_FIXPROTO="$(STMP_FIXPROTO)"' >> $(itoolsdir)/mkheaders.conf
+ echo 'STMP_FIXINC="$(STMP_FIXINC)"' >> $(itoolsdir)/mkheaders.conf

 # Use this target to install the program `collect2' under the name `collect2'.
 install-collect2: collect2 installdirs
Index: gcc/configure
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure,v
retrieving revision 1.606
diff -p -u -p -r1.606 configure
--- gcc/configure 25 May 2002 19:51:40 -0000 1.606
+++ gcc/configure 27 May 2002 04:14:21 -0000
@@ -8065,7 +8065,7 @@ all_languages=
 all_boot_languages=
 all_compilers=
 all_stagestuff=
-all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc'
+all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
 # List of language makefile fragments.
 all_lang_makefiles=

Index: gcc/configure.in
===================================================================
RCS file: /cvs/gcc/gcc/gcc/configure.in,v
retrieving revision 1.593
diff -p -u -p -r1.593 configure.in
--- gcc/configure.in 25 May 2002 19:51:41 -0000 1.593
+++ gcc/configure.in 27 May 2002 04:14:21 -0000
@@ -2312,7 +2312,7 @@ all_languages=
 all_boot_languages=
 all_compilers=
 all_stagestuff=
-all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc'
+all_outputs='Makefile intl/Makefile fixinc/Makefile gccbug mklibgcc mkheaders'
 # List of language makefile fragments.
 all_lang_makefiles=

Index: gcc/mkheaders.in
===================================================================
RCS file: gcc/mkheaders.in
diff -N gcc/mkheaders.in
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ gcc/mkheaders.in 27 May 2002 04:14:21 -0000
@@ -0,0 +1,101 @@
+#!/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_alias=@target_alias@
+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@
+# Directory in which the compiler finds executables, libraries, etc.
+libsubdir=${libdir}/gcc-lib/${target_alias}/${version}
+# Since gcc_tooldir does not exist at build-time, use -B${build_tooldir}/bin/
+build_tooldir=${exec_prefix}/${target_alias}
+# Directory to search for site-specific includes.
+local_includedir=${local_prefix}/include
+includedir=${prefix}/include
+
+itoolsdir=${libsubdir}/install-tools
+incdir=${libsubdir}/include
+
+. ${itoolsdir}/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 gsyslimits.h ${incdir}/syslimits.h
+ fi
+fi
+
+cp 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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53907 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/Makefile.in
gcc/configure
gcc/configure.in
gcc/mkheaders.in [new file with mode: 0644]