diff options
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/gcc/gcc-uclibc-4.x.mk | 2 | ||||
-rw-r--r-- | toolchain/helpers.mk | 2 | ||||
-rw-r--r-- | toolchain/toolchain-buildroot/Config.in.2 | 16 | ||||
-rw-r--r-- | toolchain/toolchain-common.in | 25 | ||||
-rw-r--r-- | toolchain/toolchain-crosstool-ng/Config.in | 8 | ||||
-rw-r--r-- | toolchain/toolchain-crosstool-ng/crosstool-ng.mk | 2 | ||||
-rw-r--r-- | toolchain/toolchain-external/Config.in | 14 |
7 files changed, 44 insertions, 25 deletions
diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index af085f777..eec652343 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -67,7 +67,7 @@ GCC_STAGING_PREREQ+=$(STAGING_DIR)/usr/lib/libc.a GCC_TARGET_LANGUAGES:=c GCC_CROSS_LANGUAGES:=c -ifeq ($(BR2_GCC_CROSS_CXX),y) +ifeq ($(BR2_INSTALL_LIBSTDCPP),y) GCC_CROSS_LANGUAGES:=$(GCC_CROSS_LANGUAGES),c++ endif ifeq ($(BR2_GCC_CROSS_FORTRAN),y) diff --git a/toolchain/helpers.mk b/toolchain/helpers.mk index 24f379d49..33f048405 100644 --- a/toolchain/helpers.mk +++ b/toolchain/helpers.mk @@ -220,7 +220,7 @@ check_arm_abi = \ check_cplusplus = \ $(TARGET_CXX) -v > /dev/null 2>&1 ; \ if test $$? -ne 0 ; then \ - echo "BR2_INSTALL_LIBSTDCPP is selected but C++ support not available in external toolchain" ; \ + echo "C++ support is selected but is not available in external toolchain" ; \ exit 1 ; \ fi diff --git a/toolchain/toolchain-buildroot/Config.in.2 b/toolchain/toolchain-buildroot/Config.in.2 index 2a8dcf5bc..cf426ee32 100644 --- a/toolchain/toolchain-buildroot/Config.in.2 +++ b/toolchain/toolchain-buildroot/Config.in.2 @@ -51,6 +51,22 @@ config BR2_TOOLCHAIN_BUILDROOT_PROGRAM_INVOCATION (like tar and coreutils) utilize these for extra useful output, but in general are not required. +config BR2_TOOLCHAIN_BUILDROOT_CXX + bool "Enable C++ support" + select BR2_INSTALL_LIBSTDCPP + depends on !(! BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && \ + BR2_TOOLCHAIN_BUILDROOT_LOCALE && \ + BR2_UCLIBC_VERSION_0_9_31) + help + Enable this option if you want your toolchain to support the + C++ language and you want C++ libraries to be installed on + your target system. + +comment "C++ support broken in uClibc 0.9.31 with locale enabled with gcc 4.2" + depends on !BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE && \ + BR2_TOOLCHAIN_BUILDROOT_LOCALE && \ + BR2_UCLIBC_VERSION_0_9_31 + source "toolchain/elf2flt/Config.in" source "toolchain/mklibs/Config.in" source "toolchain/sstrip/Config.in" diff --git a/toolchain/toolchain-common.in b/toolchain/toolchain-common.in index ea4746677..2c54acdae 100644 --- a/toolchain/toolchain-common.in +++ b/toolchain/toolchain-common.in @@ -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" diff --git a/toolchain/toolchain-crosstool-ng/Config.in b/toolchain/toolchain-crosstool-ng/Config.in index 4ee665dfb..82e223d72 100644 --- a/toolchain/toolchain-crosstool-ng/Config.in +++ b/toolchain/toolchain-crosstool-ng/Config.in @@ -98,4 +98,12 @@ config BR2_TOOLCHAIN_CTNG_uClibc_PROGRAM_INVOCATION endif # BR2_TOOLCHAIN_CTNG_uClibc +config BR2_TOOLCHAIN_CTNG_CXX + bool "Enable C++ support" + select BR2_INSTALL_LIBSTDCPP + help + Enable this option if you want your toolchain to support the + C++ language and you want C++ libraries to be installed on + your target system. + endif # BR2_TOOLCHAIN_CTNG diff --git a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk index 1c5e86431..817a1f7a3 100644 --- a/toolchain/toolchain-crosstool-ng/crosstool-ng.mk +++ b/toolchain/toolchain-crosstool-ng/crosstool-ng.mk @@ -207,7 +207,7 @@ CTNG_FIX_DOT_CONFIG_SED += s:^(CT_CC_PKGVERSION)="(.*)":\1="crosstool-NG $(CTNG_ ifneq ($(call qstrip,$(BR2_PACKAGE_GDB_SERVER))$(call qstrip,$(BR2_PACKAGE_GDB_HOST)),) CTNG_FIX_DOT_CONFIG_SED += s:^(CT_DEBUG_gdb)=.*:\# \1 is not set:; endif -ifneq ($(call qstrip,$(BR2_INSTALL_LIBSTDCPP)),) +ifeq ($(call qstrip,$(BR2_TOOLCHAIN_CTNG_CXX)),y) CTNG_FIX_DOT_CONFIG_SED += s:^\# (CT_CC_LANG_CXX) is not set:\1=y:; else CTNG_FIX_DOT_CONFIG_SED += s:^(CT_CC_LANG_CXX)=.*:\# \1 is not set:; diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in index 59fcb520d..bd22e0cc3 100644 --- a/toolchain/toolchain-external/Config.in +++ b/toolchain/toolchain-external/Config.in @@ -7,6 +7,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201009 bool "CodeSourcery ARM 2010.09" depends on BR2_arm select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP help Toolchain for the ARM architecture, from CodeSourcery. It uses gcc 4.5.1, binutils 2.20, glibc 2.11 and gdb 7.2.50, @@ -20,6 +21,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2010Q1 bool "CodeSourcery ARM 2010q1" depends on BR2_arm select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP help Toolchain for the ARM architecture, from CodeSourcery. It uses gcc 4.4.1, binutils 2.19, glibc 2.11, gdb 7.0.50 and @@ -33,6 +35,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM2009Q1 bool "CodeSourcery ARM 2009q1" depends on BR2_arm select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP help Toolchain for the ARM architecture, from CodeSourcery. It uses gcc 4.3.3, binutils 2.19, glibc 2.8 and gdb 6.8 and @@ -46,6 +49,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS44 bool "CodeSourcery MIPS 4.4" depends on BR2_mips || BR2_mipsel select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP help Toolchain for the MIPS architecture, from CodeSourcery. It uses gcc 4.4.1, binutils 2.19, glibc 2.11, uClibc 0.9.30 and @@ -68,6 +72,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009 bool "CodeSoucery PowerPC 2010.09" depends on BR2_powerpc select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP help Toolchain for the PowerPC architecture, from CodeSourcery. It uses gcc 4.5.1, binutils 2.20, glibc 2.11, @@ -85,6 +90,7 @@ config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH201009 bool "CodeSoucery PowerPC 2010.09" depends on BR2_sh select BR2_TOOLCHAIN_EXTERNAL_GLIBC + select BR2_INSTALL_LIBSTDCPP help Toolchain for the SuperH architecture, from CodeSourcery. It uses gcc 4.5.1, binutils 2.20, glibc 2.11, uClibc 0.9.30, @@ -216,6 +222,14 @@ config BR2_TOOLCHAIN_EXTERNAL_PROGRAM_INVOCATION endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC +config BR2_TOOLCHAIN_EXTERNAL_CXX + bool "Toolchain has C++ support?" + select BR2_INSTALL_LIBSTDCPP + help + Select this option if your external toolchain has C++ + support. If you don't know, leave the default value, + Buildroot will tell you if it's correct or not. + endif # BR2_TOOLCHAIN_EXTERNAL_CUSTOM endif # BR2_TOOLCHAIN_EXTERNAL |