summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2021-11-10 08:11:30 +0100
committerStephan Bergmann <sbergman@redhat.com>2021-11-10 13:33:48 +0100
commit13e0b122f100a17fa54757e40dd8b334559522a6 (patch)
treea724ee659aa38f4a1fc63503e8d3c67402c6661c
parentc88c22530eb2ef87986a7c3c8f0f21ac16e508fa (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.in1
-rw-r--r--configure.ac17
-rw-r--r--download.lst4
-rw-r--r--external/boost/0001-Fix-include-inside-boost-namespace.patch.233
-rw-r--r--external/boost/StaticLibrary_boost_filesystem.mk5
-rw-r--r--external/boost/UnpackedTarball_boost.mk3
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)))