toolchain: rework C++ options

Instead of having BR2_GCC_CROSS_CXX and BR2_INSTALL_LIBSTDCPP, with
BR2_GCC_CROSS_CXX not being visible (and therefore being useless),
let's just keep BR2_INSTALL_LIBSTDCPP to enable C++ in the toolchain
and install C++ libraries on the target.

We also take that opportunity to make BR2_INSTALL_LIBSTDCPP an hidden
option, which is selected by an option in Buildroot toolchain support
or an option in External toolchain support, just as we did for other
toolchain features.

Some work definitely remains to be done :

 - The name BR2_INSTALL_LIBSTDCPP is ugly, but we keep it for the
   moment in order to avoid changing all packages.

 - We should clarify the other language-related options (Fortran,
   Java, Objective-C, etc.).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Thomas Petazzoni
2010-12-13 17:27:41 +01:00
committed by Peter Korsgaard
parent 01b434b27a
commit 6b578c8d73
10 changed files with 49 additions and 30 deletions

View File

@@ -23,6 +23,9 @@ config BR2_ENABLE_LOCALE
config BR2_PROGRAM_INVOCATION
bool
config BR2_INSTALL_LIBSTDCPP
bool
config BR2_ENABLE_LOCALE_PURGE
bool "Purge unwanted locales"
help
@@ -108,28 +111,6 @@ choice
depends on BR2_UCLIBC_VERSION_SNAPSHOT
endchoice
config BR2_GCC_CROSS_CXX
bool
help
If you are building your own toolchain and want to build
a C++ cross-compiler this needs to be enabled.
If you have an external binary toolchain that has a C++ compiler
and you want to use it then you need to enable this option.
config BR2_INSTALL_LIBSTDCPP
bool "Build/install c++ compiler and libstdc++?"
select BR2_GCC_CROSS_CXX
depends on !(! BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31)
help
If you are building your own toolchain and want to build and install
the C++ compiler and library then you need to enable this option.
If you have an external toolchain that has been built with C++
support and you want to use the compiler / library then you need
to select this option.
comment "C++ support broken in uClibc 0.9.31 with locale enabled with gcc 4.2"
depends on !BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && BR2_ENABLE_LOCALE && BR2_UCLIBC_VERSION_0_9_31
config BR2_TARGET_OPTIMIZATION
string "Target Optimizations"
default "-pipe"