瀏覽代碼

package/ace: needs C++11

ace needs C++11 since its addition in commit
3621918d1bc1ddc9312dd1cc8dec6db61e712fe2 to avoid the following build
failure:

In file included from /home/peko/autobuild/instance-1/output-1/host/opt/ext-toolchain/mips-linux-gnu/include/c++/5.3.0/chrono:35:0,
                 from /home/peko/autobuild/instance-1/output-1/build/ace-7.0.1/ace/Time_Value.h:23,
                 from /home/peko/autobuild/instance-1/output-1/build/ace-7.0.1/ace/OS_NS_unistd.h:25,
                 from /home/peko/autobuild/instance-1/output-1/build/ace-7.0.1/ace/ACE.inl:2,
                 from /home/peko/autobuild/instance-1/output-1/build/ace-7.0.1/ace/ACE.h:886,
                 from /home/peko/autobuild/instance-1/output-1/build/ace-7.0.1/ace/ACE.cpp:1:
/home/peko/autobuild/instance-1/output-1/host/opt/ext-toolchain/mips-linux-gnu/include/c++/5.3.0/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support for the \
  ^

Fixes:
 - http://autobuild.buildroot.org/results/13376405e313da112f546076a10859e60631d5d5

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fabrice Fontaine 3 年之前
父節點
當前提交
e8011a08b6
共有 2 個文件被更改,包括 13 次插入4 次删除
  1. 6 2
      package/ace/Config.in
  2. 7 2
      package/ace/ace.mk

+ 6 - 2
package/ace/Config.in

@@ -2,11 +2,15 @@ config BR2_PACKAGE_ACE
 	bool "ace"
 	depends on BR2_TOOLCHAIN_USES_GLIBC
 	depends on !BR2_STATIC_LIBS
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
 	help
 	  The ADAPTIVE Communication Environment (ACE(TM))
 	  An OO Network Programming Toolkit in C++.
 
 	  http://www.dre.vanderbilt.edu/~schmidt/ACE.html
 
-comment "ACE needs a glibc toolchain, dynamic library"
-	depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS
+comment "ACE needs a glibc toolchain, dynamic library, C++, gcc >= 4.8"
+	depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS || \
+		!BR2_INSTALL_LIBSTDCPP || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8

+ 7 - 2
package/ace/ace.mk

@@ -17,6 +17,10 @@ ACE_CPE_ID_PRODUCT = adaptive_communication_environment
 # Only compiling ACE libraries (no TAO)
 ACE_LIBARIES = ace ACEXML Kokyu netsvcs protocols/ace
 
+ACE_MAKE_OPTS = \
+	ACE_ROOT="$(@D)" \
+	DEFFLAGS="$(TARGET_CPPFLAGS) -std=c++11"
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 ACE_LIBARIES += ace/SSL
 ACE_DEPENDENCIES += openssl
@@ -39,14 +43,15 @@ endef
 
 define ACE_BUILD_CMDS
 	$(foreach lib,$(ACE_LIBARIES), \
-		$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(lib) ACE_ROOT="$(@D)" all
+		$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(lib) \
+			$(ACE_MAKE_OPTS) all
 	)
 endef
 
 define  ACE_LIBARIES_INSTALL
 	mkdir -p $(1)/usr/share/ace
 	$(foreach lib,$(ACE_LIBARIES), \
-		$(MAKE) -C $(@D)/$(lib) ACE_ROOT="$(@D)" DESTDIR=$(1) install
+		$(MAKE) -C $(@D)/$(lib) $(ACE_MAKE_OPTS) DESTDIR=$(1) install
 	)
 endef