From 355a69c47da93d996f48da2c528489623266bdeb Mon Sep 17 00:00:00 2001 From: MarcoFalke Date: Mon, 4 Apr 2022 09:54:45 +0200 Subject: [PATCH] Merge bitcoin/bitcoin#24558: build: explicitly disable Boost multi_index serialization 0d01272cd883f4d2a53409fdc49b8732a3dbda26 build: don't use Boost multi_index serialization (fanquake) Pull request description: We don't use the serialization or archiving facilities of multi_index. So globally disable support, which gives a minor improvement in build time, i.e less preprocessing work, given we don't link any Boost libs. See: https://www.boost.org/doc/libs/1_78_0/libs/multi_index/doc/tutorial/creation.html > Serialization capabilities are automatically provided by just linking with the appropriate Boost.Serialization library module: it is not necessary to explicitly include any header from Boost.Serialization, apart from those declaring the type of archive used in the process. If not used, however, serialization support can be disabled by globally defining the macro BOOST_MULTI_INDEX_DISABLE_SERIALIZATION. Disabling serialization for Boost.MultiIndex can yield a small improvement in build times, and may be necessary in those defective compilers that fail to correctly process Boost.Serialization headers. ACKs for top commit: MarcoFalke: cr ACK 0d01272cd883f4d2a53409fdc49b8732a3dbda26 Tree-SHA512: 87c664a2f142dc6b8f8598341f9829be3fda8cf614d73cc9a894c8033ee40c6daa9b50f4049ecb1f1e3aaf342568d9a5f5c65af1e04c36ee3a9cb46eca95767b --- configure.ac | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configure.ac b/configure.ac index 6338f6380a8ce..df486123ee1d4 100644 --- a/configure.ac +++ b/configure.ac @@ -1466,6 +1466,9 @@ if test x$want_boost = xno; then AC_MSG_ERROR([[only libdashconsensus can be built without boost]]) fi + dnl we don't use multi_index serialization + BOOST_CPPFLAGS="$BOOST_CPPFLAGS -DBOOST_MULTI_INDEX_DISABLE_SERIALIZATION" + dnl Prevent use of std::unary_function, which was removed in C++17, dnl and will generate warnings with newer compilers for Boost dnl older than 1.80.