gcc/fixincludes/mkheaders.in

124 lines
3.6 KiB
Plaintext
Raw Normal View History

Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
#!/bin/sh
inclhack.def (aix_syswait, [...]): Remove. fixincludes: * inclhack.def (aix_syswait, exception_structure, pthread_page_size): Remove. (math_exception): Remove mention of fixproto in comment. * fixincl.x: Regenerate. * mkheaders.in: Do not handle STMP_FIXPROTO. gcc: * config/arm/t-arm-coff, config/h8300/coff.h, config/i386/i386-aout.h, config/i386/i386-coff.h, config/libgloss.h, config/m68k/coff.h, config/m68k/m68k-aout.h, config/pdp11/2bsd.h, config/rs6000/aix41.h, config/rs6000/aix41.opt, config/rs6000/t-newas, config/sh/coff.h, fix-header.c, fixproto, gen-protos.c, protoize.c, scan-decls.c, scan-types.sh, scan.c, scan.h, sort-protos, sys-protos.h, sys-types.h: Remove. * Makefile.in: Remove protoize and fixproto support and references in comments. (SYSCALLS.c.X-warn, TARGET_GETGROUPS_T, STMP_FIXPROTO, PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, FIXPROTO_DEFINES): Remove. (ALL_HOST_OBJS): Remove $(PROTO_OBJS). (MOSTLYCLEANFILES): Remove protoize$(exeext) and unprotoize$(exeext). (rest.encap): Don't depend on $(STMP_FIXPROTO) (.PHONY): Don't depend on proto. (libgcc-support): Don't depend on $(STMP_FIXPROTO). (proto, PROTO_OBJS, protoize$(exeext), unprotoize$(exeext), protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize-simple, deduced.h, GEN_PROTOS_OBJS, build/gen-protos$(build_exeext), build/gen-protos.o, build/scan.o, xsys-protos.h, build/fix-header$(build_exeext), build/fix-header.o, build/scan-decls.o, fixhdr.ready, stmp-fixproto, stmp-install-fixproto): Remove. (mostlyclean): Don't remove xsys-protos.hT, SYSCALLS.c.X, SYSCALLS.c or fixproto files. (install-common): Don't install protoize. (install-headers-tar, install-headers-cpio, install-headers-cp): Don't depend on $(STMP_FIXPROTO). (install-mkheaders): Don't depend on $(STMP_FIXPROTO). Don't install fixproto files or write out fixproto settings. (uninstall): Don't uninstall protoize. * config.gcc (use_fixproto): Remove. (arm-*-coff*, armel-*-coff*, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove. * config/m32r/t-linux (STMP_FIXPROTO): Remove. * config/m68k/m68k.c: Remove M68K_TARGET_COFF-conditional code. * config/mips/t-iris (FIXPROTO_DEFINES): Remove. * config/pa/t-pa-hpux (FIXPROTO_DEFINES): Remove. * config/pdp11/pdp11.c: Remove TWO_BSD-conditional code. * config/t-svr4 (FIXPROTO_DEFINES): Remove. * config/t-vxworks (STMP_FIXPROTO): Remove. * configure.ac (AC_TYPE_GETGROUPS, TARGET_GETGROUPS_T, STMP_FIXPROTO): Remove. * config.in, configure: Regenerate. * crtstuff.c (gid_t, uid_t): Don't undefine. * doc/install.texi: Change m68k-coff to m68k-elf in example. (arm-*-coff, arm-*-aout: Remove target entries. (*-ibm-aix*): Mention removal of support for AIX 4.2 and older. Remove mention of AIX 4.1. (m68k-*-*): Remove mention of m68k-*-aout and m68k-*-coff*. * doc/invoke.texi (Running Protoize): Remove. * doc/trouble.texi (Actual Bugs): Remove mention of fixproto. (Protoize Caveats): Remove. * tsystem.h: Update comments on headers assumed to exist. gcc/po: * EXCLUDES (fix-header.c, gen-protos.c, scan-decls.c, scan.c, scan.h): Remove. gcc/testsuite: * g++.old-deja/g++.ext/attrib5.C, g++.old-deja/g++.jason/thunk3.C, gcc.c-torture/compile/981006-1.c: Don't XFAIL or add special options for removed targets. libgcc: * config.host (arm-*-coff*, armel-*-coff*, arm-semi-aof, armel-semi-aof, h8300-*-*, i[34567]86-*-aout*, i[34567]86-*-coff*, m68k-*-aout*, m68k-*-coff*, pdp11-*-bsd, rs6000-ibm-aix4.[12]*, powerpc-ibm-aix4.[12]*, sh-*-*): Remove. From-SVN: r145158
2009-03-28 14:51:09 +08:00
# Copyright (C) 2002, 2007, 2009 Free Software Foundation, Inc.
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
#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 3, or (at your option) any later
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
#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 COPYING3. If not see
#<http://www.gnu.org/licenses/>.
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
# Basic information
target=@target@
target_noncanonical=@target_noncanonical@
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
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 [isysroot]]"
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
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, 2007, 2009 Free Software Foundation, Inc."
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
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
shift
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
else
prefix=@prefix@
fi
# Allow for alternate isysroot in which to find headers
if [ x$1 != x ] ; then
isysroot=$1
shift
else
isysroot=
fi
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
# 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}
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
itoolsdir=${libexecsubdir}/install-tools
itoolsdatadir=${libsubdir}/install-tools
incdir=${libsubdir}/include-fixed
mkinstalldirs="${itoolsdir}/mkinstalldirs"
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
cd ${itoolsdir}
rm -rf ${incdir}/*
for shell in $CONFIG_SHELL $SHELL @SHELL@ /bin/sh ""; do
if { test -x $shell || test -x $shell.exe; } \
&& $shell $mkinstalldirs > /dev/null 2>&1; then
mkinstalldirs="$shell $mkinstalldirs"
break
elif test x$shell = x; then
if $mkinstalldirs > /dev/null 2>&1; then
break
elif test ! -f $mkinstalldirs; then
echo mkheaders: could not find $mkinstalldirs >&2
exit 1
else
echo mkheaders: please rerun with CONFIG_SHELL set to a working Bourne shell >&2
exit 1
fi
fi
done
re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-06 23:50:28 +08:00
for ml in `cat ${itoolsdatadir}/fixinc_list`; do
sysroot_headers_suffix=`echo ${ml} | sed -e 's/;.*$//'`
multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`
subincdir=${incdir}${multi_dir}
${mkinstalldirs} ${subincdir}
re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-06 23:50:28 +08:00
. ${itoolsdatadir}/mkheaders.conf
if [ x${STMP_FIXINC} != x ] ; then
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
TARGET_MACHINE="${target}" target_canonical="${target}" \
MACRO_LIST="${itoolsdatadir}/macro_list" \
$shell ./fixinc.sh ${subincdir} \
${isysroot}${SYSTEM_HEADER_DIR} ${OTHER_FIXINCLUDES_DIRS}
re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-06 23:50:28 +08:00
rm -f ${subincdir}/syslimits.h
if [ -f ${subincdir}/limits.h ]; then
mv ${subincdir}/limits.h ${subincdir}/syslimits.h
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
else
re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-06 23:50:28 +08:00
cp ${itoolsdatadir}/gsyslimits.h ${subincdir}/syslimits.h
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
fi
re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-06 23:50:28 +08:00
fi
Makefile.in (INSTALL_HEADERS): Add 'install-mkheaders'. 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
2002-05-27 12:24:54 +08:00
cp ${itoolsdatadir}/include${multi_dir}/limits.h ${subincdir}/limits.h
re PR bootstrap/31020 (cannot write in </test/gnu/gcc/objdir/prev-gcc/../gcc/./include>) fixincludes: * mkheaders.in: Fix headers for each multilib required. gcc: PR bootstrap/31020 * configure.ac (CROSS_SYSTEM_HEADER_DIR, build_system_header_dir): Define using $${sysroot_headers_suffix}. * configure: Regenerate. * cppdefault.c (cpp_include_defaults): Make FIXED_INCLUDE_DIR a multilib-suffixed directory if SYSROOT_HEADERS_SUFFIX_SPEC defined. * doc/invoke.texi (-print-sysroot-headers-suffix): Document. * gcc.c (print_sysroot_headers_suffix): New. (option_map): Include --print-sysroot-headers-suffix. (display_help): Mention -print-sysroot-headers-suffix. (process_command): Handle -print-sysroot-headers-suffix. (do_spec_1): Append multilib directory to include-fixed path if sysroot suffixes in use. (main): Handle -print-sysroot-headers-suffix. * Makefile.in (start.encap): Don't depend on xlimits.h (xlimits.h): Remove. (stmp-int-hdrs): Don't depend on xlimits.h. Inline generation of limits.h for each multilib in fixinc_list. (fixinc_list, s-fixinc_list): New. (stmp-fixinc): Depend on fixinc_list. If not copying headers, generate them for each multilib in fixinc_list. (stmp-fixproto): Use include-fixed. Run fixproto for each multilib in fixinc_list. (mostlyclean): Don't remove xlimits.h. (clean): Remove include-fixed. (real-install-headers-tar, real-install-headers-cpio, real-install-headers-cp): Don't copy include, only include-fixed. (install-mkheaders): Depend on fixinc_list. Don't depend on xlimits.h. Save limits.h files for each multilib in fixinc_list. Always save mkinstalldirs. Preserve ${sysroot_headers_suffix} in SYSTEM_HEADER_DIR setting in mkheaders.conf. From-SVN: r122620
2007-03-06 23:50:28 +08:00
done