mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 09:46:52 -05:00
Merge bitcoin/bitcoin#22320: build: set minimum required Boost to 1.64.0
957f358427
build: remove check for Boost Process header (fanquake)df2c933217
build: remove workaround for Boost and std::atomic (fanquake)2bf211696b
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 ACK957f358427
that this fixes #22269. MarcoFalke: review ACK957f358427
Tree-SHA512: a8ffa7933dce8bf994892ef16664103d7b4e1008e52628e9becb918a7727232dfb51b23100a82dc2b60cd9af5877abc32dc2d3754a7e1b3ac5410a92fdf393f3
This commit is contained in:
commit
c31161f4f7
2 changed files with 5 additions and 19 deletions
22
configure.ac
22
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
|
||||
|
|
|
@ -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 | |
|
||||
|
|
Loading…
Add table
Reference in a new issue