build: add a config option for choosing the prefered standard c++ library and add...
authorFelix Fietkau <nbd@openwrt.org>
Thu, 14 Jun 2012 20:26:04 +0000 (20:26 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 14 Jun 2012 20:26:04 +0000 (20:26 +0000)
SVN-Revision: 32369

Config.in
include/package.mk
include/uclibc++.mk [new file with mode: 0644]

index ddf02614b3222145f59c6c7565bf7e29615cf66e..5f61905c92998c5fa6c7926150cb21748875aca9 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -395,6 +395,21 @@ 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
 
                  Note that this will make the system libraries incompatible with most of the packages
                  that are not selected during the build process
 
+       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_LIBSTDCXX
+                       bool "libstdc++"
+
+       endchoice
+
 endmenu
 
 menuconfig DEVEL
 endmenu
 
 menuconfig DEVEL
index e955c207aeeae8aaeb62f500d33441113632c8a8..abffa0c64cc3ef23b83e369165d861fa8237a6fd 100644 (file)
@@ -5,6 +5,8 @@
 # See /LICENSE for more information.
 #
 
 # See /LICENSE for more information.
 #
 
+__package_mk:=1
+
 all: $(if $(DUMP),dumpinfo,compile)
 
 PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
 all: $(if $(DUMP),dumpinfo,compile)
 
 PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
diff --git a/include/uclibc++.mk b/include/uclibc++.mk
new file mode 100644 (file)
index 0000000..8174843
--- /dev/null
@@ -0,0 +1,12 @@
+ifndef DUMP
+  ifdef __package_mk
+    $(error uclibc++.mk must be included before package.mk)
+  endif
+endif
+
+PKG_PREPARED_DEPENDS += CONFIG_USE_UCLIBCXX
+CXX_DEPENDS = +USE_UCLIBCXX:uclibcxx +USE_LIBSTDCXX:libstdcpp
+
+ifneq ($(CONFIG_USE_UCLIBCXX),)
+  TARGET_CXX="g++-uc"
+endif