On Wed, Jun 20, 2012 at 4:10 PM, Steven Bosscher <stevenb....@gmail.com> wrote: > On Wed, Jun 20, 2012 at 1:08 AM, Diego Novillo <dnovi...@google.com> wrote: >> diff --git a/configure.ac b/configure.ac >> index 071b5e2..2a2a0c6 100644 >> --- a/configure.ac >> +++ b/configure.ac >> @@ -1667,7 +1653,7 @@ ACX_ELF_TARGET_IFELSE([# ELF platforms build the >> lto-plugin always. >> ]) >> >> >> -# By default, C is the only stage 1 language. >> +# By default, C and C++ are the only stage 1 languages. >> stage1_languages=,c, > > So shouldn't you add c++ here?
If you are not bootstrapping you only need frontends to build target libraries - unless that includes a C++ library by default no, you only need a C++ host compiler then. I think stage1_languages should be empty and Makefile.def should be properly set-up to add frontends required for required target libraries. Richard. > >> # Target libraries that we bootstrap. >> @@ -1705,15 +1691,14 @@ if test -d ${srcdir}/gcc; then >> ;; >> esac >> >> - # If bootstrapping, then using --enable-build-with-cxx or >> - # --enable-build-poststage1-with-cxx requires enabling C++. >> - case >> ",$enable_languages,:,$ENABLE_BUILD_WITH_CXX,$ENABLE_BUILD_POSTSTAGE1_WITH_CXX,:$enable_bootstrap" >> in >> - *,c++,*:*:*) ;; >> - *:*,yes,*:yes) >> + # If bootstrapping, C++ must be enabled. > > Hmn, perhaps I misunderstand, but shouldn't C++ also be enabled if not > bootstrapping? > > >> + case ",$enable_languages,:$enable_bootstrap" in >> + *,c++,*:*) ;; >> + *:yes) >> if test -f ${srcdir}/gcc/cp/config-lang.in; then >> enable_languages="${enable_languages},c++" >> else >> - AC_MSG_ERROR([bootstrapping with --enable-build-with-cxx or >> --enable-build-poststage1-with-cxx requires c++ sources]) >> + AC_MSG_ERROR([bootstrapping requires c++ sources]) >> fi >> ;; >> esac >> @@ -1808,10 +1793,7 @@ if test -d ${srcdir}/gcc; then >> fi >> >> if test "$language" = "c++"; then >> - if test "$ENABLE_BUILD_WITH_CXX" = "yes" \ >> - || test "$ENABLE_BUILD_POSTSTAGE1_WITH_CXX" = "yes"; then >> - boot_language=yes >> - fi >> + boot_language=yes >> fi > > This shouldn't be necessary if you add c++ to stage1_languages > >> case ,${enable_languages}, in >> @@ -3198,26 +3180,6 @@ case $build in >> esac ;; >> esac > > > You can also remove the lang_requires_boot_languages machinery again. > It is only used by Go to enable c++ for bootstrapping the Go front > end, but with c++ enabled by default, there is no need for this hack > for Go anymore. > > Ciao! > Steven