aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2021-06-24 18:35:10 +0800
committerfanquake <fanquake@gmail.com>2021-06-24 18:35:25 +0800
commitc31161f4f79b6e1dc0f8bfc2a5e7815e8c55ed91 (patch)
tree97bb254dbdb1b45d59b50a5079be824baffc1a2c
parentbfa885898a5f3260fd1628158d1d32093d61bd4a (diff)
parent957f3584277d33b44b9f1618142f743e4083eb5d (diff)
Merge bitcoin/bitcoin#22320: build: set minimum required Boost to 1.64.0
957f3584277d33b44b9f1618142f743e4083eb5d build: remove check for Boost Process header (fanquake) df2c93321765c7f77935fd92d31722d7b65a53db build: remove workaround for Boost and std::atomic (fanquake) 2bf211696b8cd355856995ba821c74e67385b77d build: set minimum required Boost to 1.64.0 (fanquake) Pull request description: Setting a newer minimum required Boost means we can remove the awkward header / compile check for Boost Process. If we don't do this, we should at-least make Boost Process being missing no longer a failure, otherwise anyone building using Boost < 1.64.0 would have to pass `--disable-external-signer` as well. The only system I can see that is affected here, (doesn't have new enough system packages) is Debian Oldstable. However, anyone compiling there, can use depends. They can also no-longer use the system GCC (6.0), and I'd assume would be using Clang 7, which would be the newest compiler available to them. It's extended, LTS support also end in 1 year from now, so anyone still using it should be considering upgrading. Debian Buster (Stable) has 1.67+, Ubuntu Bionic has 1.65+, any of the BSDs, recent Fedora, macOS etc all also have well and truly new enough Boost versions available. I think this is something we should just do for 22.0. If not, definitely for 23.0. Fixes #22319. Compiling Bitcoin Core should work, as `windows.h` will be included. Alternative to #22294. Would also close #22269. #19128 could be re-opened. ACKs for top commit: laanwj: Tested ACK 957f3584277d33b44b9f1618142f743e4083eb5d that this fixes #22269. MarcoFalke: review ACK 957f3584277d33b44b9f1618142f743e4083eb5d Tree-SHA512: a8ffa7933dce8bf994892ef16664103d7b4e1008e52628e9becb918a7727232dfb51b23100a82dc2b60cd9af5877abc32dc2d3754a7e1b3ac5410a92fdf393f3
-rw-r--r--configure.ac22
-rw-r--r--doc/dependencies.md2
2 files changed, 5 insertions, 19 deletions
diff --git a/configure.ac b/configure.ac
index 8cfa2d39e1..88f91004af 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1415,37 +1415,23 @@ fi
if test x$use_boost = xyes; then
dnl Check for Boost headers
- AX_BOOST_BASE([1.58.0],[],[AC_MSG_ERROR([Boost is not available!])])
+ AX_BOOST_BASE([1.64.0],[],[AC_MSG_ERROR([Boost is not available!])])
if test x$want_boost = xno; then
AC_MSG_ERROR([[only libbitcoinconsensus can be built without boost]])
fi
AX_BOOST_SYSTEM
AX_BOOST_FILESYSTEM
- dnl Opt-in to Boost Process if external signer support is requested
- if test "x$use_external_signer" != xno; then
- AC_MSG_CHECKING(for Boost Process)
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <boost/process.hpp>]],
- [[ boost::process::child* child = new boost::process::child; delete child; ]])],
- [ AC_MSG_RESULT(yes)
- AC_DEFINE([ENABLE_EXTERNAL_SIGNER],,[define if external signer support is enabled])
- ],
- [ AC_MSG_ERROR([Boost::Process is required for external signer support, but not available!])]
- )
- fi
-
if test x$suppress_external_warnings != xno; then
BOOST_CPPFLAGS=SUPPRESS_WARNINGS($BOOST_CPPFLAGS)
fi
- dnl Boost 1.56 through 1.62 allow using std::atomic instead of its own atomic
- dnl counter implementations. In 1.63 and later the std::atomic approach is default.
- m4_pattern_allow(DBOOST_AC_USE_STD_ATOMIC) dnl otherwise it's treated like a macro
- BOOST_CPPFLAGS="-DBOOST_SP_USE_STD_ATOMIC -DBOOST_AC_USE_STD_ATOMIC $BOOST_CPPFLAGS"
-
BOOST_LIBS="$BOOST_LDFLAGS $BOOST_SYSTEM_LIB $BOOST_FILESYSTEM_LIB"
fi
+if test "x$use_external_signer" != xno; then
+ AC_DEFINE([ENABLE_EXTERNAL_SIGNER],,[define if external signer support is enabled])
+fi
AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER], [test "x$use_external_signer" = "xyes"])
dnl Check for reduced exports
diff --git a/doc/dependencies.md b/doc/dependencies.md
index 9754952221..a467759418 100644
--- a/doc/dependencies.md
+++ b/doc/dependencies.md
@@ -6,7 +6,7 @@ These are the dependencies currently used by Bitcoin Core. You can find instruct
| Dependency | Version used | Minimum required | CVEs | Shared | [Bundled Qt library](https://doc.qt.io/qt-5/configure-options.html#third-party-libraries) |
| --- | --- | --- | --- | --- | --- |
| Berkeley DB | [4.8.30](https://www.oracle.com/technetwork/database/database-technologies/berkeleydb/downloads/index.html) | 4.8.x | No | | |
-| Boost | [1.71.0](https://www.boost.org/users/download/) | [1.58.0](https://github.com/bitcoin/bitcoin/pull/19667) | No | | |
+| Boost | [1.71.0](https://www.boost.org/users/download/) | [1.64.0](https://github.com/bitcoin/bitcoin/pull/22320) | No | | |
| Clang | | [5.0+](https://releases.llvm.org/download.html) (C++17 support) | | | |
| Expat | [2.2.7](https://libexpat.github.io/) | | No | Yes | |
| fontconfig | [2.12.1](https://www.freedesktop.org/software/fontconfig/release/) | | No | Yes | |