From: Felix Fietkau Date: Thu, 9 May 2013 20:50:49 +0000 (+0000) Subject: toolchain: eliminate the INSTALL_LIBSTDCPP config symbol and make c++ support mandato... X-Git-Tag: reboot~10467 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=2430e9a4f5f809d9164edf64dd3eb87f9a14a5fc toolchain: eliminate the INSTALL_LIBSTDCPP config symbol and make c++ support mandatory - fixes recursive config symbol dependency issues Signed-off-by: Felix Fietkau SVN-Revision: 36594 --- diff --git a/Config.in b/Config.in index 5c154691dd..9ad71e02cb 100644 --- a/Config.in +++ b/Config.in @@ -704,21 +704,19 @@ menu "Global build settings" Note that this will make the system libraries incompatible with most of the packages that are not selected during the build process - if INSTALL_LIBSTDCPP - choice - prompt "Preferred standard C++ library" - default USE_LIBSTDCXX if USE_EGLIBC - default USE_UCLIBCXX - help - Select the preferred standard C++ library for all packages that support this. + choice + prompt "Preferred standard C++ library" + default USE_LIBSTDCXX if USE_EGLIBC + default USE_UCLIBCXX + help + Select the preferred standard C++ library for all packages that support this. - config USE_UCLIBCXX - bool "uClibc++" + config USE_UCLIBCXX + bool "uClibc++" - config USE_LIBSTDCXX - bool "libstdc++" - endchoice - endif + config USE_LIBSTDCXX + bool "libstdc++" + endchoice endmenu diff --git a/include/uclibc++.mk b/include/uclibc++.mk index 89298e3f30..a1a61f26d4 100644 --- a/include/uclibc++.mk +++ b/include/uclibc++.mk @@ -5,7 +5,7 @@ ifndef DUMP endif PKG_PREPARED_DEPENDS += CONFIG_USE_UCLIBCXX -CXX_DEPENDS = @INSTALL_LIBSTDCPP +USE_UCLIBCXX:uclibcxx +USE_LIBSTDCXX:libstdcpp +CXX_DEPENDS = +USE_UCLIBCXX:uclibcxx +USE_LIBSTDCXX:libstdcpp ifneq ($(CONFIG_USE_UCLIBCXX),) ifneq ($(CONFIG_CCACHE),) diff --git a/package/libs/ncurses/Makefile b/package/libs/ncurses/Makefile index b360526572..62ffdfb0a0 100644 --- a/package/libs/ncurses/Makefile +++ b/package/libs/ncurses/Makefile @@ -67,11 +67,6 @@ CONFIGURE_ARGS += \ --with-terminfo-dirs=/usr/share/terminfo \ --with-default-terminfo-dir=/usr/share/terminfo -ifneq ($(CONFIG_INSTALL_LIBSTDCPP),y) -CONFIGURE_ARGS += \ - --without-cxx-binding -endif - ifeq ($(HOST_OS),FreeBSD) CONFIGURE_ARGS += --with-terminfo=/usr/share/terminfo.db diff --git a/package/libs/uclibc++/Makefile b/package/libs/uclibc++/Makefile index 2dd8f6507e..15c2bce54b 100644 --- a/package/libs/uclibc++/Makefile +++ b/package/libs/uclibc++/Makefile @@ -26,7 +26,6 @@ define Package/uclibcxx NAME:=uclibc++ SECTION:=libs CATEGORY:=Libraries - DEPENDS:=@INSTALL_LIBSTDCPP TITLE:=C++ library for embedded systems URL:=http://cxx.uclibc.org/src/ endef diff --git a/package/toolchain/Makefile b/package/toolchain/Makefile index 7eadaba0d4..202e9d095d 100644 --- a/package/toolchain/Makefile +++ b/package/toolchain/Makefile @@ -84,7 +84,6 @@ define Package/libstdcpp $(call Package/gcc/Default) NAME:=libstdc++ TITLE:=GNU Standard C++ Library v3 - DEPENDS+=@INSTALL_LIBSTDCPP endef define Package/libstdcpp/config diff --git a/rules.mk b/rules.mk index b9510057b6..61c45a0090 100644 --- a/rules.mk +++ b/rules.mk @@ -202,7 +202,7 @@ HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib TARGET_CC:=$(TARGET_CROSS)gcc TARGET_AR:=$(TARGET_CROSS)ar TARGET_RANLIB:=$(TARGET_CROSS)ranlib -TARGET_CXX:=$(if $(CONFIG_INSTALL_LIBSTDCPP),$(TARGET_CROSS)g++,no) +TARGET_CXX:=$(TARGET_CROSS)g++ KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh SED:=$(STAGING_DIR_HOST)/bin/sed -i -e CP:=cp -fpR diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index b3fd5d665e..defb1b1b0e 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -71,13 +71,6 @@ config SJLJ_EXCEPTIONS frame unwinding exceptions handling routines. Warning: increases code size and runtime memory usage. -config INSTALL_LIBSTDCPP - bool - prompt "Build/install c++ compiler and libstdc++?" if TOOLCHAINOPTS - default y if !USE_MUSL - help - Build/install c++ compiler and libstdc++? - config INSTALL_LIBGCJ bool prompt "Build/install java compiler and GNU classpath ?" if TOOLCHAINOPTS diff --git a/toolchain/gcc/common.mk b/toolchain/gcc/common.mk index 2e10f8dbef..688374e249 100644 --- a/toolchain/gcc/common.mk +++ b/toolchain/gcc/common.mk @@ -93,7 +93,7 @@ HOST_STAMP_CONFIGURED:=$(GCC_BUILD_DIR)/.configured HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed SEP:=, -TARGET_LANGUAGES:="c$(if $(CONFIG_INSTALL_LIBSTDCPP),$(SEP)c++)$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)" +TARGET_LANGUAGES:="c,c++$(if $(CONFIG_INSTALL_LIBGCJ),$(SEP)java)$(if $(CONFIG_INSTALL_GFORTRAN),$(SEP)fortran)" export libgcc_cv_fixed_point=no ifdef CONFIG_USE_UCLIBC