diff options
-rw-r--r-- | config_host.mk.in | 1 | ||||
-rw-r--r-- | configure.ac | 17 | ||||
-rw-r--r-- | download.lst | 4 | ||||
-rw-r--r-- | external/boost/0001-Fix-include-inside-boost-namespace.patch.2 | 33 | ||||
-rw-r--r-- | external/boost/StaticLibrary_boost_filesystem.mk | 5 | ||||
-rw-r--r-- | external/boost/UnpackedTarball_boost.mk | 3 |
6 files changed, 25 insertions, 38 deletions
diff --git a/config_host.mk.in b/config_host.mk.in index ab5cca977dd3..ec22f695d782 100644 --- a/config_host.mk.in +++ b/config_host.mk.in @@ -268,6 +268,7 @@ export HAMCREST_JAR=@HAMCREST_JAR@ export HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED=@HAVE_BROKEN_GCC_WMAYBE_UNINITIALIZED@ export HAVE_BROKEN_GCC_WSTRINGOP_OVERFLOW=@HAVE_BROKEN_GCC_WSTRINGOP_OVERFLOW@ export HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR=@HAVE_CLANG_DEBUG_INFO_KIND_CONSTRUCTOR@ +export HAVE_CXX20_ATOMIC_REF=@HAVE_CXX20_ATOMIC_REF@ export HAVE_DLLEXPORTINLINES=@HAVE_DLLEXPORTINLINES@ export HAVE_LO_CLANG_DLLEXPORTINLINES=@HAVE_LO_CLANG_DLLEXPORTINLINES@ export HAVE_GCC_AVX=@HAVE_GCC_AVX@ diff --git a/configure.ac b/configure.ac index c5b3a1ea116f..a894323e2881 100644 --- a/configure.ac +++ b/configure.ac @@ -7437,6 +7437,23 @@ AC_COMPILE_IFELSE([AC_LANG_SOURCE([ CXXFLAGS=$save_CXXFLAGS AC_LANG_POP([C++]) +AC_MSG_CHECKING([whether $CXX_BASE supports C++20 std::atomic_ref]) +HAVE_CXX20_ATOMIC_REF= +AC_LANG_PUSH([C++]) +save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11" +AC_COMPILE_IFELSE([AC_LANG_SOURCE([ + #include <atomic> + int x; + std::atomic_ref<int> y(x); + ])], [ + HAVE_CXX20_ATOMIC_REF=TRUE + AC_MSG_RESULT([yes]) + ], [AC_MSG_RESULT([no])]) +CXXFLAGS=$save_CXXFLAGS +AC_LANG_POP([C++]) +AC_SUBST([HAVE_CXX20_ATOMIC_REF]) + dnl Supported since GCC 9 and Clang 10 (which each also started to support -Wdeprecated-copy, but dnl which is included in -Wextra anyway): HAVE_WDEPRECATED_COPY_DTOR= diff --git a/download.lst b/download.lst index ad912f844776..f0d5bfcdc2b9 100644 --- a/download.lst +++ b/download.lst @@ -10,8 +10,8 @@ export APR_TARBALL := apr-1.5.2.tar.gz export APR_UTIL_SHA256SUM := 976a12a59bc286d634a21d7be0841cc74289ea9077aa1af46be19d1a6e844c19 export APR_UTIL_TARBALL := apr-util-1.5.4.tar.gz # please repack the tarball using external/boost/repack_tarball.sh -export BOOST_SHA256SUM := adfa0ca971c56006a8304b6146d1382e6369815d568f6e6a7440fe29995d51b8 -export BOOST_TARBALL := boost_1_76_0.tar.xz +export BOOST_SHA256SUM := 9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e +export BOOST_TARBALL := boost_1_77_0.tar.xz export BOX2D_SHA256SUM := 58ffc8475a8650aadc351345aef696937747b40501ab78d72c197c5ff5b3035c export BOX2D_TARBALL := box2d-2.3.1.tar.gz export BREAKPAD_SHA256SUM := c44a2e898895cfc13b42d2371ba4b88b0777d7782214d6cdc91c33720f3b0d91 diff --git a/external/boost/0001-Fix-include-inside-boost-namespace.patch.2 b/external/boost/0001-Fix-include-inside-boost-namespace.patch.2 deleted file mode 100644 index ce123dbb4453..000000000000 --- a/external/boost/0001-Fix-include-inside-boost-namespace.patch.2 +++ /dev/null @@ -1,33 +0,0 @@ -From 1ec5c98d80de97f9e962c5627e1a0e6096099894 Mon Sep 17 00:00:00 2001 -From: Daniel Scharrer <daniel@constexpr.org> -Date: Wed, 28 Jul 2021 19:56:31 +0200 -Subject: [PATCH] Fix #include inside boost namespace - -The existing code fails to build if <utility> was not already included. ---- - include/boost/math/tools/mp.hpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/boost/math/tools/mp.hpp b/include/boost/math/tools/mp.hpp -index 35565646f..dc8440988 100644 ---- a/include/boost/math/tools/mp.hpp -+++ b/include/boost/math/tools/mp.hpp -@@ -13,6 +13,7 @@ - - #include <type_traits> - #include <cstddef> -+#include <utility> - - namespace boost { namespace math { namespace tools { namespace meta_programming { - -@@ -338,7 +339,6 @@ using mp_remove_if_q = mp_remove_if<L, Q::template fn>; - // Index sequence - // Use C++14 index sequence if available - #if defined(__cpp_lib_integer_sequence) && (__cpp_lib_integer_sequence >= 201304) --#include <utility> - template<std::size_t... I> - using index_sequence = std::index_sequence<I...>; - --- -2.31.1 - diff --git a/external/boost/StaticLibrary_boost_filesystem.mk b/external/boost/StaticLibrary_boost_filesystem.mk index 483e0a79b6ca..23b42d75029b 100644 --- a/external/boost/StaticLibrary_boost_filesystem.mk +++ b/external/boost/StaticLibrary_boost_filesystem.mk @@ -18,6 +18,11 @@ $(eval $(call gb_StaticLibrary_add_defs,boost_filesystem,\ -DBOOST_ALL_NO_LIB \ )) +# See workdir/UnpackedTarball/boost/libs/filesystem/build/Jamfile.v2: +ifeq ($(HAVE_CXX20_ATOMIC_REF),) +$(eval $(call gb_StaticLibrary_add_defs,boost_filesystem,-DBOOST_FILESYSTEM_NO_CXX20_ATOMIC_REF)) +endif + $(eval $(call gb_StaticLibrary_use_external,boost_filesystem,boost_headers)) $(eval $(call gb_StaticLibrary_set_generated_cxx_suffix,boost_filesystem,cpp)) diff --git a/external/boost/UnpackedTarball_boost.mk b/external/boost/UnpackedTarball_boost.mk index 5a4607b77bec..838c495c5161 100644 --- a/external/boost/UnpackedTarball_boost.mk +++ b/external/boost/UnpackedTarball_boost.mk @@ -35,9 +35,6 @@ boost_patches += windows-no-utf8-locales.patch.0 boost_patches += msvc2017.patch.0 -# From upstream develop branch: -boost_patches += 0001-Fix-include-inside-boost-namespace.patch.2 - $(eval $(call gb_UnpackedTarball_UnpackedTarball,boost)) $(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL))) |