diff options
author | Stephan Bergmann <sbergman@redhat.com> | 2021-11-10 08:11:30 +0100 |
---|---|---|
committer | Stephan Bergmann <sbergman@redhat.com> | 2021-11-10 13:33:48 +0100 |
commit | 13e0b122f100a17fa54757e40dd8b334559522a6 (patch) | |
tree | a724ee659aa38f4a1fc63503e8d3c67402c6661c | |
parent | c88c22530eb2ef87986a7c3c8f0f21ac16e508fa (diff) |
Upgrade external/boost to latest Boost 1.77.0
<https://dev-www.libreoffice.org/src/boost_1_77_0.tar.xz> has been generated (on
Fedora 35) with
> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.bz2
> $ printf 'fc9f85fc030e233142908241af7a846e60630aa7388de9a5fafb1f3a26840854 boost_1_77_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_77_0.html>
> boost_1_77_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_77_0.tar.bz2
> Unpacking boost_1_77_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_77_0.tar.xz ...
> Cleaning up ...
> 9b334d6c6d7af5a0687280788cd84444398b8e0b472cd88e52bbc3c3ef11d98e boost_1_77_0.tar.xz
> Done.
Change-Id: I527cad7eb2f311d968da371f268644bdd31f6462
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124947
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-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))) |