config_host.mk.in                                              |    1 
 configure.ac                                                   |   17 +++++
 download.lst                                                   |    4 -
 external/boost/0001-Fix-include-inside-boost-namespace.patch.2 |   33 
----------
 external/boost/StaticLibrary_boost_filesystem.mk               |    5 +
 external/boost/UnpackedTarball_boost.mk                        |    3 
 6 files changed, 25 insertions(+), 38 deletions(-)

New commits:
commit 13e0b122f100a17fa54757e40dd8b334559522a6
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Wed Nov 10 08:11:30 2021 +0100
Commit:     Stephan Bergmann <sberg...@redhat.com>
CommitDate: Wed Nov 10 13:33:48 2021 +0100

    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 <sberg...@redhat.com>

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 <dan...@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)))

Reply via email to