toolchain: eliminate the INSTALL_LIBSTDCPP config symbol and make c++ support mandatory - fixes recursive config symbol dependency issues

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36594
This commit is contained in:
Felix Fietkau 2013-05-09 20:50:49 +00:00
parent dc00dbd085
commit 2430e9a4f5
8 changed files with 14 additions and 30 deletions

View File

@ -704,21 +704,19 @@ menu "Global build settings"
Note that this will make the system libraries incompatible with most of the packages Note that this will make the system libraries incompatible with most of the packages
that are not selected during the build process that are not selected during the build process
if INSTALL_LIBSTDCPP choice
choice prompt "Preferred standard C++ library"
prompt "Preferred standard C++ library" default USE_LIBSTDCXX if USE_EGLIBC
default USE_LIBSTDCXX if USE_EGLIBC default USE_UCLIBCXX
default USE_UCLIBCXX help
help Select the preferred standard C++ library for all packages that support this.
Select the preferred standard C++ library for all packages that support this.
config USE_UCLIBCXX config USE_UCLIBCXX
bool "uClibc++" bool "uClibc++"
config USE_LIBSTDCXX config USE_LIBSTDCXX
bool "libstdc++" bool "libstdc++"
endchoice endchoice
endif
endmenu endmenu

View File

@ -5,7 +5,7 @@ ifndef DUMP
endif endif
PKG_PREPARED_DEPENDS += CONFIG_USE_UCLIBCXX 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_USE_UCLIBCXX),)
ifneq ($(CONFIG_CCACHE),) ifneq ($(CONFIG_CCACHE),)

View File

@ -67,11 +67,6 @@ CONFIGURE_ARGS += \
--with-terminfo-dirs=/usr/share/terminfo \ --with-terminfo-dirs=/usr/share/terminfo \
--with-default-terminfo-dir=/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) ifeq ($(HOST_OS),FreeBSD)
CONFIGURE_ARGS += CONFIGURE_ARGS +=
--with-terminfo=/usr/share/terminfo.db --with-terminfo=/usr/share/terminfo.db

View File

@ -26,7 +26,6 @@ define Package/uclibcxx
NAME:=uclibc++ NAME:=uclibc++
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=@INSTALL_LIBSTDCPP
TITLE:=C++ library for embedded systems TITLE:=C++ library for embedded systems
URL:=http://cxx.uclibc.org/src/ URL:=http://cxx.uclibc.org/src/
endef endef

View File

@ -84,7 +84,6 @@ define Package/libstdcpp
$(call Package/gcc/Default) $(call Package/gcc/Default)
NAME:=libstdc++ NAME:=libstdc++
TITLE:=GNU Standard C++ Library v3 TITLE:=GNU Standard C++ Library v3
DEPENDS+=@INSTALL_LIBSTDCPP
endef endef
define Package/libstdcpp/config define Package/libstdcpp/config

View File

@ -202,7 +202,7 @@ HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib
TARGET_CC:=$(TARGET_CROSS)gcc TARGET_CC:=$(TARGET_CROSS)gcc
TARGET_AR:=$(TARGET_CROSS)ar TARGET_AR:=$(TARGET_CROSS)ar
TARGET_RANLIB:=$(TARGET_CROSS)ranlib 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 KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh
SED:=$(STAGING_DIR_HOST)/bin/sed -i -e SED:=$(STAGING_DIR_HOST)/bin/sed -i -e
CP:=cp -fpR CP:=cp -fpR

View File

@ -71,13 +71,6 @@ config SJLJ_EXCEPTIONS
frame unwinding exceptions handling routines. Warning: increases frame unwinding exceptions handling routines. Warning: increases
code size and runtime memory usage. 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 config INSTALL_LIBGCJ
bool bool
prompt "Build/install java compiler and GNU classpath ?" if TOOLCHAINOPTS prompt "Build/install java compiler and GNU classpath ?" if TOOLCHAINOPTS

View File

@ -93,7 +93,7 @@ HOST_STAMP_CONFIGURED:=$(GCC_BUILD_DIR)/.configured
HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed HOST_STAMP_INSTALLED:=$(STAGING_DIR_HOST)/stamp/.gcc_$(GCC_VARIANT)_installed
SEP:=, 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 export libgcc_cv_fixed_point=no
ifdef CONFIG_USE_UCLIBC ifdef CONFIG_USE_UCLIBC