On Wed, Jun 20, 2012 at 4:10 PM, Steven Bosscher <[email protected]> wrote:
> On Wed, Jun 20, 2012 at 1:08 AM, Diego Novillo <[email protected]> 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