This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [cxx-conversion] Remove option to build without a C++ compiler (issue6296093)


On Wed, Jun 20, 2012 at 4:10 PM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On Wed, Jun 20, 2012 at 1:08 AM, Diego Novillo <dnovillo@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]