Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'.
authorGeoffrey Keating <geoffk@redhat.com>
Mon, 27 May 2002 04:24:54 +0000 (04:24 +0000)
committerGeoffrey Keating <geoffk@gcc.gnu.org>
Mon, 27 May 2002 04:24:54 +0000 (04:24 +0000)
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

From-SVN: r53907

gcc/ChangeLog
gcc/Makefile.in
gcc/configure
gcc/configure.in
gcc/mkheaders.in [new file with mode: 0644]

index 7b8ba2d8a75824ffa77a0b8f2fc76d0dd16f0c58..948056d67631aee965e7bad2bad6e48893396177 100644 (file)
@@ -1,3 +1,12 @@
+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.
+
 2002-05-26  Jakub Jelinek  <jakub@redhat.com>
 
        * cse.c (fold_rtx): Don't optimize if SUBREG changes mode class.
index 10dcfa855e4162bdffa94e09f6c4f14662e56aaa..d02567a3e12e67090a5570cab6c4ecbd63188f83 100644 (file)
@@ -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
@@ -2840,6 +2843,47 @@ install-headers-cpio: stmp-int-hdrs $(STMP_FIXPROTO) install-include-dir
 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
        $(INSTALL_PROGRAM) collect2$(exeext) $(libsubdir)/collect2$(exeext)
index 9db1b4310a7225e4b66fa0c1151d193ec2cfc116..cffcb4f9d7e05eb85fd8b0f800028d156b3ed5e4 100755 (executable)
@@ -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 55ad7c4a44d7f4afc941660b0393eb3738bf8fcd..e300363de24a4e4eb3dce0a28116fdd3553ef382 100644 (file)
@@ -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=
 
diff --git a/gcc/mkheaders.in b/gcc/mkheaders.in
new file mode 100644 (file)
index 0000000..a97c49e
--- /dev/null
@@ -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