From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22787 invoked by alias); 16 Aug 2009 15:14:01 -0000 Received: (qmail 22216 invoked by uid 22791); 16 Aug 2009 15:13:56 -0000 X-SWARE-Spam-Status: No, hits=0.0 required=5.0 tests=AWL,BAYES_00,HK_OBFDOM,HK_OBFDOMREQ,J_CHICKENPOX_92,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.gmx.net (HELO mail.gmx.net) (213.165.64.20) by sourceware.org (qpsmtpd/0.43rc1) with SMTP; Sun, 16 Aug 2009 15:13:45 +0000 Received: (qmail invoked by alias); 16 Aug 2009 15:13:41 -0000 Received: from xdsl-87-78-132-156.netcologne.de (EHLO localhost.localdomain) [87.78.132.156] by mail.gmx.net (mp071) with SMTP; 16 Aug 2009 17:13:41 +0200 Received: from ralf by localhost.localdomain with local (Exim 4.69) (envelope-from ) id 1MchQS-0006J6-QO; Sun, 16 Aug 2009 17:13:40 +0200 Date: Sun, 16 Aug 2009 15:14:00 -0000 From: Ralf Wildenhues To: gcc-patches@gcc.gnu.org, binutils@sourceware.org, gdb@sourceware.org Subject: Re: sync toplevel between GCC and src Message-ID: <20090816151338.GB24096@gmx.de> Mail-Followup-To: Ralf Wildenhues , gcc-patches@gcc.gnu.org, binutils@sourceware.org, gdb@sourceware.org References: <20090816150957.GA24096@gmx.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090816150957.GA24096@gmx.de> User-Agent: Mutt/1.5.20 (2009-08-09) Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2009-08/txt/msg00125.txt.bz2 This is the proposed merge from GCC to src. Things I'd be more confident if somebody glossed over it: - there are patches that change noconfigdirs for directories in src only; how can people commit them to GCC but not to src? Were they tested with src? This remark applies esp. to ** adding target-newlib to noconfigdirs for powerpc-*-aix* and rs6000-*-aix*, ** adding target-libgloss to noconfigdirs for sh*-*-elf, - the files move from GPLv2 to GPLv3 header. Is that a problem for anything in src? - in Makefile.tpl, there are new settings for CXX and CXX_FOR_BUILD in POSTSTAGE1_HOST_EXPORTS, that might be responsible for , and I would hate to just propagate this bug to src if it can be avoided. Thanks, Ralf 2009-08-16 Ralf Wildenhues Sync with GCC, merge: 2009-07-31 Christian Bruel * configure.ac (sh*-*-elf): Don't add target-libgloss to noconfigdirs. * configure: Regenerate. 2009-07-06 Ian Lance Taylor * configure.ac: Add missing comma in AC_ARG_WITH(boot-libs). * configure: Rebuild. 2009-06-26 Steve Ellcey PR bootstrap/40338 * configure.ac (comparestring): Create new variable. * Makefile.tpl (comparestring): Use to skip some comparisions. * configure: Regenerate. * Makefile.in: Regenerate. 2009-06-23 Ian Lance Taylor * configure.ac: Add --enable-build-with-cxx. When set, add c++ to boot_languages. Only bootstrap target libraries listed in target_libs for some boot language. Add --with-stage1-ldflags, --with-stage1-libs, --with-boot-ldflags, --with-boot-libs. Remove with_host_libstdcxx from ppllibs. Only add -fkeep-inline-functions if not building with C++. * Makefile.def: For target_module libstdc++-v3, set bootstrap=true. * Makefile.tpl (STAGE1_LDFLAGS, STAGE1_LIBS): New variables. (POSTSTAGE1_LDFLAGS, POSTSTAGE1_LIBS): New variables. (HOST_EXPORTS): Add STAGE1_LDFLAGS to LDFLAGS. Export HOST_LIBS. (POSTSTAGE1_HOST_EXPORTS): Set CXX and CXX_FOR_BUILD. Add POSTSTAGE1_LDFLAGS to LDFLAGS. Export HOST_LIBS. (POSTSTAGE1_FLAGS_TO_PASS): Likewise. * configure, Makefile.in: Rebuild. 2009-06-08 Kaveh R. Ghazi * configure.ac: Detect MPC in default directory. * configure: Regenerate. 2009-06-02 Richard Sandiford * configure.ac (powerpc-*-aix*, rs6000-*-aix*): Add target-newlib to noconfdirs. * configure: Regenerate. 2009-05-29 Kaveh R. Ghazi * Makefile.def: Add MPC support and dependencies. * configure.ac: Likewise. Reorganize GMP/MPFR checks. * Makefile.in, configure: Regenerate. 2009-05-24 Nicolas Roche * Makefile.tpl (compare-target): Skip ./ada/*tools directories. * Makefile.in: Regenerate. 2009-05-21 Dave Korn * configure.ac (cygwin noconfigdirs): Remove libgcj. * configure: Regenerate. 2009-05-07 Dave Korn * configure.ac ($with_ppl): Default to no if not supplied. ($with_cloog): Likewise. configure: Regenerate. 2009-04-24 Kaveh R. Ghazi PR bootstrap/39739 * configure.ac (extra_mpfr_configure_flags): Set and AC_SUBST. * Makefile.def (module=mpfr): Use extra_mpfr_configure_flags. * configure, Makefile.in: Regenerate. 2009-04-14 Jakub Jelinek * configure.ac: Change copyright header to refer to version 3 of the GNU General Public License and to point readers at the COPYING3 file and the FSF's license web page. * Makefile.def: Likewise. * Makefile.tpl: Likewise. * Makefile.in: Regenerate. 2009-04-09 Jack Howarth * configure.ac: Restore match for darwin9 or later. Use double brackets since regeneration eats one pair. * configure: Regenerate. Index: configure.ac =================================================================== RCS file: /cvs/src/src/configure.ac,v retrieving revision 1.69 diff -u -r1.69 configure.ac --- configure.ac 6 Aug 2009 17:46:43 -0000 1.69 +++ configure.ac 16 Aug 2009 14:46:34 -0000 @@ -4,7 +4,7 @@ # # This file 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 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -13,8 +13,8 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program; see the file COPYING3. If not see +# . ############################################################################## ### WARNING: this file contains embedded tabs. Do not run untabify on this file. @@ -158,7 +158,7 @@ # these libraries are used by various programs built for the host environment # -host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr ppl cloog libiconv" +host_libs="intl mmalloc libiberty opcodes bfd readline tcl tk itcl libgui zlib libcpp libdecnumber gmp mpfr mpc ppl cloog libiconv" # these tools are built for the host environment # Note, the powerpc-eabi build depends on sim occurring before gdb in order to @@ -454,7 +454,7 @@ noconfigdirs="$noconfigdirs ld gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; - x86_64-*-darwin9*) + x86_64-*-darwin[[912]]*) noconfigdirs="$noconfigdirs ld gas gprof" noconfigdirs="$noconfigdirs sim target-rda" ;; @@ -735,7 +735,7 @@ ;; *-*-cygwin*) target_configdirs="$target_configdirs target-libtermcap target-winsup" - noconfigdirs="$noconfigdirs target-gperf target-libgloss ${libgcj}" + noconfigdirs="$noconfigdirs target-gperf target-libgloss" # always build newlib if winsup directory is present. if test -d "$srcdir/winsup/cygwin"; then skipdirs=`echo " ${skipdirs} " | sed -e 's/ target-newlib / /'` @@ -805,7 +805,7 @@ ;; powerpc-*-aix*) # copied from rs6000-*-* entry - noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}" ;; powerpc*-*-winnt* | powerpc*-*-pe* | ppc*-*-pe) target_configdirs="$target_configdirs target-winsup" @@ -832,7 +832,7 @@ noconfigdirs="$noconfigdirs target-newlib gprof ${libgcj}" ;; rs6000-*-aix*) - noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp ${libgcj}" + noconfigdirs="$noconfigdirs gprof target-libgloss target-libssp target-newlib ${libgcj}" ;; rs6000-*-*) noconfigdirs="$noconfigdirs gprof ${libgcj}" @@ -881,7 +881,12 @@ i[[3456789]]86-*-msdosdjgpp*) ;; # don't add gprof back in *) skipdirs=`echo " ${skipdirs} " | sed -e 's/ gprof / /'` ;; esac - noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" + case "${target}" in + sh*-*-elf) + noconfigdirs="$noconfigdirs ${libgcj}" ;; + *) + noconfigdirs="$noconfigdirs target-libgloss ${libgcj}" ;; + esac ;; sparclet-*-aout* | sparc86x-*-*) libgloss_dir=sparc @@ -1198,10 +1203,48 @@ ACX_PROG_GNAT ACX_PROG_CMP_IGNORE_INITIAL -# Check for GMP and MPFR +# See if we are building gcc with C++. +AC_ARG_ENABLE(build-with-cxx, +[ --enable-build-with-cxx build with C++ compiler instead of C compiler], +ENABLE_BUILD_WITH_CXX=$enableval, +ENABLE_BUILD_WITH_CXX=no) + +# Check for GMP, MPFR and MPC gmplibs="-lmpfr -lgmp" gmpinc= have_gmp=no +mpclibs=-lmpc +mpcinc= +have_mpc=no + +# Specify a location for mpc +# check for this first so it ends up on the link line before mpfr. +AC_ARG_WITH(mpc, [ --with-mpc=PATH specify prefix directory for installed MPC package. + Equivalent to --with-mpc-include=PATH/include + plus --with-mpc-lib=PATH/lib]) +AC_ARG_WITH(mpc_include, [ --with-mpc-include=PATH + specify directory for installed MPC include files]) +AC_ARG_WITH(mpc_lib, [ --with-mpc-lib=PATH specify directory for the installed MPC library]) + +if test "x$with_mpc" != x; then + mpclibs="-L$with_mpc/lib -lmpc" + mpcinc="-I$with_mpc/include $mpcinc" +fi +if test "x$with_mpc_include" != x; then + mpcinc="-I$with_mpc_include $mpcinc" +fi +if test "x$with_mpc_lib" != x; then + mpclibs="-L$with_mpc_lib -lmpc" +fi +if test "x$with_mpc$with_mpc_include$with_mpc_lib" = x && test -d ${srcdir}/mpc; then + mpclibs='-L$$r/$(HOST_SUBDIR)/mpc/src/.libs -L$$r/$(HOST_SUBDIR)/mpc/src/_libs -lmpc' + mpcinc='-I$$s/mpc/src '"$mpcinc" + # Do not test the mpc version. Assume that it is sufficient, since + # it is in the source tree, and the library has not been built yet + # but it would be included on the link line in the version check below + # hence making the test fail. + have_mpc=yes +fi # Specify a location for mpfr # check for this first so it ends up on the link line before gmp. @@ -1229,6 +1272,7 @@ if test "x$with_mpfr$with_mpfr_include$with_mpfr_lib" = x && test -d ${srcdir}/mpfr; then gmplibs='-L$$r/$(HOST_SUBDIR)/mpfr/.libs -L$$r/$(HOST_SUBDIR)/mpfr/_libs '"$gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/mpfr -I$$s/mpfr '"$gmpinc" + extra_mpc_mpfr_configure_flags='--with-mpfr-include=$$s/mpfr' # Do not test the mpfr version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below @@ -1261,6 +1305,8 @@ if test "x$with_gmp$with_gmp_include$with_gmp_lib" = x && test -d ${srcdir}/gmp; then gmplibs='-L$$r/$(HOST_SUBDIR)/gmp/.libs -L$$r/$(HOST_SUBDIR)/gmp/_libs '"$gmplibs" gmpinc='-I$$r/$(HOST_SUBDIR)/gmp -I$$s/gmp '"$gmpinc" + extra_mpfr_configure_flags='--with-gmp-build=$$r/$(HOST_SUBDIR)/gmp' + extra_mpc_gmp_configure_flags='--with-gmp-include=$$r/$(HOST_SUBDIR)/gmp' # Do not test the gmp version. Assume that it is sufficient, since # it is in the source tree, and the library has not been built yet # but it would be included on the link line in the version check below @@ -1280,16 +1326,43 @@ #endif ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) + # If we have GMP, check the MPFR version. if test x"$have_gmp" = xyes; then - saved_LIBS="$LIBS" - LIBS="$LIBS $gmplibs" dnl MPFR 2.3.1 is acceptable, but MPFR 2.3.2 is better. AC_MSG_CHECKING([for correct version of mpfr.h]) - AC_TRY_LINK([#include + AC_TRY_COMPILE([#include #include ],[ #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,1) choke me #endif + ], AC_TRY_COMPILE([#include + #include ],[ + #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,2) + choke me + #endif + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])]), + [AC_MSG_RESULT([no]); have_gmp=no]) + fi + + # Check for the MPC header version. + if test x"$have_mpc" != xyes ; then + CFLAGS="$CFLAGS $mpcinc" + AC_MSG_CHECKING([for the correct version of mpc.h]) + AC_TRY_COMPILE([#include ],[ + #if MPC_VERSION < MPC_VERSION_NUM (0,6,0) + choke me + #endif + ], [AC_MSG_RESULT([yes]); have_mpc=maybe], + [AC_MSG_RESULT([no]); have_mpc=no; mpclibs= ; mpcinc= ]) + fi + + # Now check the MPFR library. + if test x"$have_gmp" = xyes; then + saved_LIBS="$LIBS" + LIBS="$LIBS $gmplibs" + AC_MSG_CHECKING([for the correct version of the gmp/mpfr libraries]) + AC_TRY_LINK([#include + #include ],[ mpfr_t n; mpfr_t x; int t; @@ -1298,16 +1371,36 @@ mpfr_atan2 (n, n, x, GMP_RNDN); mpfr_erfc (n, x, GMP_RNDN); mpfr_subnormalize (x, t, GMP_RNDN); - ], [AC_TRY_LINK([#include - #include ],[ - #if MPFR_VERSION < MPFR_VERSION_NUM(2,3,2) - choke me - #endif - mpfr_t n; mpfr_init(n); - ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([buggy but acceptable])])], - [AC_MSG_RESULT([no]); have_gmp=no]) - LIBS="$saved_LIBS" + ], [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no]) + LIBS="$saved_LIBS" fi + + if test x"$have_mpc" = xmaybe; then + saved_LIBS="$LIBS" + LIBS="$LIBS $mpclibs $gmplibs" + AC_MSG_CHECKING([for the correct version of the mpc library]) + AC_TRY_LINK([#include ],[ + mpc_t n; + mpc_init2 (n, 53); + mpc_set_ui_ui (n, 1, 1, MPC_RNDNN); + mpc_sin (n, n, MPC_RNDNN); + mpc_cos (n, n, MPC_RNDNN); + mpc_tan (n, n, MPC_RNDNN); + mpc_sinh (n, n, MPC_RNDNN); + mpc_cosh (n, n, MPC_RNDNN); + mpc_tanh (n, n, MPC_RNDNN); + mpc_exp (n, n, MPC_RNDNN); + mpc_log (n, n, MPC_RNDNN); + mpc_sqrt (n, n, MPC_RNDNN); + mpc_proj (n, n, MPC_RNDNN); + mpc_neg (n, n, MPC_RNDNN); + mpc_sqr (n, n, MPC_RNDNN); + mpc_clear (n); + ], [AC_MSG_RESULT([yes]); have_mpc=yes], + [AC_MSG_RESULT([no]); have_mpc=no; mpclibs= ; mpcinc= ]) + LIBS="$saved_LIBS" + fi + CFLAGS="$saved_CFLAGS" if test x$have_gmp != xyes; then @@ -1322,9 +1415,20 @@ fi fi -# Flags needed for both GMP and/or MPFR +if test x$have_mpc != xyes ; then + mpcinc= + mpclibs= +fi + +gmpinc="$mpcinc $gmpinc" +gmplibs="$mpclibs $gmplibs" + +# Flags needed for both GMP, MPFR and/or MPC. AC_SUBST(gmplibs) AC_SUBST(gmpinc) +AC_SUBST(extra_mpfr_configure_flags) +AC_SUBST(extra_mpc_gmp_configure_flags) +AC_SUBST(extra_mpc_mpfr_configure_flags) # Allow host libstdc++ to be specified for static linking with PPL. AC_ARG_WITH(host-libstdcxx, [ --with-host-libstdcxx=L Use linker arguments L to link with libstdc++ @@ -1336,15 +1440,64 @@ ;; esac +# Linker flags to use for stage1 or when not boostrapping. +AC_ARG_WITH(stage1-ldflags, +[ --with-stage1-ldflags=FLAGS Linker flags for stage1], +[if test "$withval" = "no" -o "$withval" = "yes"; then + stage1_ldflags= + else + stage1_ldflags=$withval + fi], +[stage1_ldflags=]) +AC_SUBST(stage1_ldflags) + +# Libraries to use for stage1 or when not bootstrapping. +AC_ARG_WITH(stage1-libs, +[ -with-stage1-libs=LIBS Libraries for stage1], +[if test "$withval" = "no" -o "$withval" = "yes"; then + stage1_libs= + else + stage1_libs=$withval + fi], +[stage1_libs=$with_host_libstdcxx]) +AC_SUBST(stage1_libs) + +# Linker flags to use for stage2 and later builds. +AC_ARG_WITH(boot-ldflags, +[ --with-boot-ldflags=FLAGS Linker flags for stage2 and later], +[if test "$withval" = "no" -o "$withval" = "yes"; then + poststage1_ldflags= + else + poststage1_ldflags=$withval + fi], +[if test "$ENABLE_BUILD_WITH_CXX" = "yes"; then + poststage1_ldflags=-static-libstdc++ + else + poststage1_ldflags= + fi]) +AC_SUBST(poststage1_ldflags) + +# Libraries to use for stage2 and later builds. This defaults to the +# argument passed to --with-host-libstdcxx. +AC_ARG_WITH(boot-libs, +[ --with-boot-libs=LIBS Libraries for stage2 and later], +[if test "$withval" = "no" -o "$withval" = "yes"; then + poststage1_libs= + else + poststage1_libs=$withval + fi], +[poststage1_libs=$with_host_libstdcxx]) +AC_SUBST(poststage1_libs) + # Check for PPL ppl_major_version=0 ppl_minor_version=10 -ppllibs=" -lppl_c -lppl -lgmpxx $with_host_libstdcxx " +ppllibs=" -lppl_c -lppl -lgmpxx" pplinc= AC_ARG_WITH(ppl, [ --with-ppl=PATH Specify prefix directory for the installed PPL package Equivalent to --with-ppl-include=PATH/include - plus --with-ppl-lib=PATH/lib]) + plus --with-ppl-lib=PATH/lib],, with_ppl=no) AC_ARG_WITH(ppl_include, [ --with-ppl-include=PATH Specify directory for installed PPL include files]) AC_ARG_WITH(ppl_lib, [ --with-ppl-lib=PATH Specify the directory for the installed PPL library]) @@ -1353,7 +1506,7 @@ ppllibs= ;; *) - ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx $with_host_libstdcxx" + ppllibs="-L$with_ppl/lib -lppl_c -lppl -lgmpxx" pplinc="-I$with_ppl/include $pplinc" LIBS="$ppllibs $LIBS" ;; @@ -1362,11 +1515,11 @@ pplinc="-I$with_ppl_include $pplinc" fi if test "x$with_ppl_lib" != x; then - ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx $with_host_libstdcxx" + ppllibs="-L$with_ppl_lib -lppl_c -lppl -lgmpxx" LIBS="$ppllibs $LIBS" fi if test "x$with_ppl$with_ppl_include$with_ppl_lib" = x && test -d ${srcdir}/ppl; then - ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/.libs -L$$r/$(HOST_SUBDIR)/ppl/_libs -lppl_c -lppl -lgmpxx '"$with_host_libstdcxx " + ppllibs='-L$$r/$(HOST_SUBDIR)/ppl/.libs -L$$r/$(HOST_SUBDIR)/ppl/_libs -lppl_c -lppl -lgmpxx ' pplinc='-I$$r/$(HOST_SUBDIR)/ppl/include -I$$s/ppl/include ' LIBS="$ppllibs $LIBS" fi @@ -1399,7 +1552,7 @@ AC_ARG_WITH(cloog, [ --with-cloog=PATH Specify prefix directory for the installed CLooG-PPL package Equivalent to --with-cloog-include=PATH/include - plus --with-cloog-lib=PATH/lib]) + plus --with-cloog-lib=PATH/lib],, with_cloog=no) AC_ARG_WITH(cloog_include, [ --with-cloog-include=PATH Specify directory for installed CLooG include files]) AC_ARG_WITH(cloog_lib, [ --with-cloog-lib=PATH Specify the directory for the installed CLooG library]) @@ -1452,6 +1605,9 @@ # By default, C is the only stage 1 language. stage1_languages=,c, +# Target libraries that we bootstrap. +bootstrap_target_libs=,target-libgcc, + # Figure out what language subdirectories are present. # Look if the user specified --enable-languages="..."; if not, use # the environment variable $LANGUAGES if defined. $LANGUAGES might @@ -1537,6 +1693,10 @@ exit 1 fi + if test "$language" = "c++" -a "$ENABLE_BUILD_WITH_CXX" = "yes"; then + boot_language=yes + fi + case ,${enable_languages}, in *,${language},*) # Language was explicitly selected; include it. @@ -1603,6 +1763,8 @@ yes) # Add to (comma-separated) list of stage 1 languages. stage1_languages="${stage1_languages}${language}," + # We need to bootstrap any supporting libraries. + bootstrap_target_libs="${bootstrap_target_libs}${target_libs}," ;; esac ;; @@ -2334,11 +2496,18 @@ echo 1>&2 "*** removing ${target_subdir}/${module}/Makefile to force reconfigure" rm -f ${target_subdir}/${module}/Makefile fi + + # We only bootstrap target libraries listed in bootstrap_target_libs. + case $bootstrap_target_libs in + *,target-$module,*) target_bootstrap_suffix=$bootstrap_suffix ;; + *) target_bootstrap_suffix=no-bootstrap ;; + esac + extrasub="$extrasub /^@if target-$module\$/d /^@endif target-$module\$/d -/^@if target-$module-$bootstrap_suffix\$/d -/^@endif target-$module-$bootstrap_suffix\$/d" +/^@if target-$module-$target_bootstrap_suffix\$/d +/^@endif target-$module-$target_bootstrap_suffix\$/d" done extrasub="$extrasub @@ -2902,7 +3071,7 @@ esac # This is aimed to mimic bootstrap with a non-GCC compiler to catch problems. -if test "$GCC" = yes; then +if test "$GCC" = yes -a "$ENABLE_BUILD_WITH_CXX" != yes; then saved_CFLAGS="$CFLAGS" # Pass -fkeep-inline-functions for stage 1 if the GCC version supports it. @@ -2975,4 +3144,13 @@ AC_SUBST(pdfdir) AC_SUBST(htmldir) +# Specify what files to not compare during bootstrap. + +compare_exclusions="gcc/cc*-checksum\$(objext) | gcc/ada/*tools/*" +case "$target" in + hppa*64*-*-hpux*) ;; + hppa*-*-hpux*) compare_exclusions="gcc/cc*-checksum\$(objext) | */libgcc/lib2funcs* | gcc/ada/*tools/*" ;; +esac +AC_SUBST(compare_exclusions) + AC_OUTPUT(Makefile) Index: Makefile.tpl =================================================================== RCS file: /cvs/src/src/Makefile.tpl,v retrieving revision 1.207 diff -u -r1.207 Makefile.tpl --- Makefile.tpl 3 Jun 2009 05:40:47 -0000 1.207 +++ Makefile.tpl 16 Aug 2009 14:46:35 -0000 @@ -11,7 +11,7 @@ # # This file 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 of the License, or +# the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, @@ -20,8 +20,8 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# along with this program; see the file COPYING3. If not see +# . # # First, test for a proper version of make, but only where one is required. @@ -120,6 +120,19 @@ # directories built for the build system. BUILD_CONFIGARGS = @build_configargs@ --with-build-subdir="$(BUILD_SUBDIR)" +# Linker flags to use on the host, for stage1 or when not +# bootstrapping. +STAGE1_LDFLAGS = @stage1_ldflags@ + +# Libraries to use on the host, for stage1 or when not bootstrapping. +STAGE1_LIBS = @stage1_libs@ + +# Linker flags to use for stage2 and later. +POSTSTAGE1_LDFLAGS = @poststage1_ldflags@ + +# Libraries to use for stage2 and later. +POSTSTAGE1_LIBS = @poststage1_libs@ + # This is the list of variables to export in the environment when # configuring any subdirectory. It must also be exported whenever # recursing into a build directory in case that directory's Makefile @@ -185,7 +198,7 @@ CC_FOR_BUILD="$(CC_FOR_BUILD)"; export CC_FOR_BUILD; \ DLLTOOL="$(DLLTOOL)"; export DLLTOOL; \ LD="$(LD)"; export LD; \ - LDFLAGS="$(LDFLAGS)"; export LDFLAGS; \ + LDFLAGS="$(STAGE1_LDFLAGS) $(LDFLAGS)"; export LDFLAGS; \ NM="$(NM)"; export NM; \ RANLIB="$(RANLIB)"; export RANLIB; \ WINDRES="$(WINDRES)"; export WINDRES; \ @@ -200,6 +213,7 @@ OBJDUMP_FOR_TARGET="$(OBJDUMP_FOR_TARGET)"; export OBJDUMP_FOR_TARGET; \ RANLIB_FOR_TARGET="$(RANLIB_FOR_TARGET)"; export RANLIB_FOR_TARGET; \ TOPLEVEL_CONFIGURE_ARGUMENTS="$(TOPLEVEL_CONFIGURE_ARGUMENTS)"; export TOPLEVEL_CONFIGURE_ARGUMENTS; \ + HOST_LIBS="$(STAGE1_LIBS)"; export HOST_LIBS; \ GMPLIBS="$(HOST_GMPLIBS)"; export GMPLIBS; \ GMPINC="$(HOST_GMPINC)"; export GMPINC; \ PPLLIBS="$(HOST_PPLLIBS)"; export PPLLIBS; \ @@ -218,8 +232,16 @@ -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ \ $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export CC; \ CC_FOR_BUILD="$$CC"; export CC_FOR_BUILD; \ - GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND \ - LDFLAGS="$(BOOT_LDFLAGS)"; export LDFLAGS; + CXX="$(STAGE_CC_WRAPPER) $$r/$(HOST_SUBDIR)/prev-gcc/g++$(exeext) \ + -B$$r/$(HOST_SUBDIR)/prev-gcc/ -B$(build_tooldir)/bin/ -nostdinc++ \ + -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include/$(TARGET_SUBDIR) \ + -I$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/include \ + -I$$r/$(srcdir)/libstdc++-v3/libsupc++ \ + -L$$r/prev-$(TARGET_SUBDIR)/libstdc++-v3/src/.libs"; export CXX; \ + CXX_FOR_BUILD="$$CXX"; export CXX_FOR_BUILD; \ + GNATBIND="$$r/$(HOST_SUBDIR)/prev-gcc/gnatbind"; export GNATBIND; \ + LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)"; export LDFLAGS; \ + HOST_LIBS="$(POSTSTAGE1_LIBS)"; export HOST_LIBS; # Target libraries are put under this directory: TARGET_SUBDIR = @target_subdir@ @@ -540,8 +562,11 @@ # Flags to pass to stage2 and later makes. POSTSTAGE1_FLAGS_TO_PASS = \ - CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" GNATBIND="$${GNATBIND}" \ - LDFLAGS="$(BOOT_LDFLAGS)" \ + CC="$${CC}" CC_FOR_BUILD="$${CC_FOR_BUILD}" \ + CXX="$${CXX}" CXX_FOR_BUILD="$${CXX_FOR_BUILD}" \ + GNATBIND="$${GNATBIND}" \ + LDFLAGS="$(POSTSTAGE1_LDFLAGS) $(BOOT_LDFLAGS)" \ + HOST_LIBS="$(POSTSTAGE1_LIBS)" \ "`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`" # Flags to pass down to makes which are built with the target environment. @@ -1436,7 +1461,7 @@ $(do-[+compare-target+]) > /dev/null 2>&1; \ if test $$? -eq 1; then \ case $$file in \ - gcc/cc*-checksum$(objext) | ./libgcc/* | ./gcc/ada/*tools/*) \ + @compare_exclusions@) \ echo warning: $$file differs ;; \ *) \ echo $$file differs >> .bad_compare ;; \ Index: Makefile.def =================================================================== RCS file: /cvs/src/src/Makefile.def,v retrieving revision 1.101 diff -u -r1.101 Makefile.def --- Makefile.def 26 Jun 2009 17:19:07 -0000 1.101 +++ Makefile.def 16 Aug 2009 14:46:35 -0000 @@ -9,7 +9,7 @@ // // This file 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 of the License, or +// the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, @@ -18,8 +18,8 @@ // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +// along with this program; see the file COPYING3. If not see +// . // "missing" indicates that that module doesn't supply @@ -66,10 +66,13 @@ host="none-${host_vendor}-${host_os}"; target="none-${host_vendor}-${host_os}"; }; host_modules= { module= mpfr; lib_path=.libs; bootstrap=true; - extra_configure_flags='--disable-shared --with-gmp-build=$$r/$(HOST_SUBDIR)/gmp'; + extra_configure_flags='--disable-shared @extra_mpfr_configure_flags@'; no_install= true; host="none-${host_vendor}-${host_os}"; target="none-${host_vendor}-${host_os}"; }; +host_modules= { module= mpc; lib_path=.libs; bootstrap=true; + extra_configure_flags='--disable-shared @extra_mpc_gmp_configure_flags@ @extra_mpc_mpfr_configure_flags@'; + no_install= true; }; host_modules= { module= ppl; lib_path=.libs; bootstrap=true; extra_configure_flags='--disable-shared --with-libgmp-prefix=$$r/$(HOST_SUBDIR)/gmp/ --with-libgmpxx-prefix=$$r/$(HOST_SUBDIR)/gmp/'; no_install= true; @@ -139,7 +142,10 @@ host_modules= { module= utils; no_check=true; }; host_modules= { module= gnattools; }; -target_modules = { module= libstdc++-v3; lib_path=.libs; raw_cxx=true; }; +target_modules = { module= libstdc++-v3; + bootstrap=true; + lib_path=.libs; + raw_cxx=true; }; target_modules = { module= libmudflap; lib_path=.libs; }; target_modules = { module= libssp; lib_path=.libs; }; target_modules = { module= newlib; }; @@ -313,6 +319,7 @@ dependencies = { module=all-gcc; on=all-gmp; }; dependencies = { module=all-gcc; on=all-intl; }; dependencies = { module=all-gcc; on=all-mpfr; }; +dependencies = { module=all-gcc; on=all-mpc; }; dependencies = { module=all-gcc; on=all-ppl; }; dependencies = { module=all-gcc; on=all-cloog; }; dependencies = { module=all-gcc; on=all-build-texinfo; }; @@ -338,6 +345,7 @@ dependencies = { module=all-gnattools; on=all-target-libada; }; dependencies = { module=configure-mpfr; on=all-gmp; }; +dependencies = { module=configure-mpc; on=all-mpfr; }; dependencies = { module=configure-ppl; on=all-gmp; }; dependencies = { module=configure-ppl; on=all-mpfr; }; dependencies = { module=configure-cloog; on=all-ppl; };