From 12ef36004b0f00d00e5b28b01a79791ec69a1aa0 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Sun, 7 Nov 2021 09:45:26 +0100 Subject: [PATCH] package/boinc: needs at least gcc 4.8 for c++11 features Fixes: http://autobuild.buildroot.net/results/ed3/ed3656f443364f01895600f332816d20e340f315/ hostinfo_unix.cpp:1695:37: error: range-based 'for' loops are not allowed in C++98 mode for (const string &ignore : ignore_list) { Adding -std=c++11 to CXXFLAGS is done in _MAKE_OPTS due to the Makefiles not passing CXXFLAGS from _CONV_ENV down to client/Makefile. This is needed since bump to version 7.18.1 in commit fe79fba3fd52cd6445c5a1d90629c94605c93519 and https://github.com/BOINC/boinc/commit/ed70369c091923addf5a8d64bed92c0417e91e07 Signed-off-by: Bernd Kuhls [Peter: extend commit message as suggested by Fabrice Fontaine] Signed-off-by: Peter Korsgaard --- package/boinc/Config.in | 4 +++- package/boinc/boinc.mk | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/package/boinc/Config.in b/package/boinc/Config.in index 5239019a57..72d5440131 100644 --- a/package/boinc/Config.in +++ b/package/boinc/Config.in @@ -2,6 +2,7 @@ config BR2_PACKAGE_BOINC bool "boinc" depends on BR2_USE_MMU # fork() depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 depends on BR2_TOOLCHAIN_HAS_THREADS depends on BR2_INSTALL_LIBSTDCPP select BR2_PACKAGE_LIBCURL @@ -16,7 +17,8 @@ config BR2_PACKAGE_BOINC https://boinc.berkeley.edu -comment "boinc needs a toolchain w/ dynamic library, C++, threads" +comment "boinc needs a toolchain w/ dynamic library, C++, threads, gcc >= 4.8" depends on BR2_USE_MMU depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP \ + || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \ || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/boinc/boinc.mk b/package/boinc/boinc.mk index 567ffc923c..7f78c427ea 100644 --- a/package/boinc/boinc.mk +++ b/package/boinc/boinc.mk @@ -45,6 +45,8 @@ else BOINC_CONF_OPTS += --disable-fcgi endif +BOINC_MAKE_OPTS = CXXFLAGS="$(TARGET_CXXFLAGS) -std=c++11" + # Remove boinc-client because it is incompatible with buildroot define BOINC_REMOVE_UNNEEDED_FILE $(RM) $(TARGET_DIR)/etc/init.d/boinc-client