aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)Author
2022-06-23build: use BOOST_NO_CXX98_FUNCTION_BASE to suppress warningsfanquake
Boost conatiner_hash (included via functional -> multi_index) uses std::unary_function, which was deprecated in C++11, and "removed" in C++17. It's use causes wanrings with newer compilers, i.e GCC 12.1. ```bash /bitcoin/depends/aarch64-unknown-linux-gnu/include/boost/container_hash/hash.hpp:131:33: warning: 'template<class _Arg, class _Result> struct std::unary_function' is deprecated [-Wdeprecated-declarations] 131 | struct hash_base : std::unary_function<T, std::size_t> {}; | ^~~~~~~~~~~~~~ In file included from /usr/include/c++/12/bits/unique_ptr.h:37, from /usr/include/c++/12/memory:76, from ./init.h:10, from init.cpp:10: /usr/include/c++/12/bits/stl_function.h:117:12: note: declared here 117 | struct unary_function ``` Use the MACRO outlined in https://github.com/boostorg/container_hash/issues/22, to prevent it's use. BOOST_NO_CXX98_FUNCTION_BASE: > The standard library no longer supports std::unary_function and std::binary_function. > They were deprecated in C++11 and is removed from C++14. See: https://github.com/boostorg/config/pull/430 https://en.cppreference.com/w/cpp/utility/functional/unary_function https://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html
2022-06-22build: Remove negated --enable-fuzz checks from build systemMarcoFalke
2022-06-22Merge bitcoin/bitcoin#25389: guix: use libtool 2.4.7laanwj
4a81ef4510948f67a233a714e565f797d806a6fb doc: update configure ar doc to mention libtool 2.4.7 (fanquake) 679ecdd14bf26b4fc3bdb73b6200f5e59d15e9a6 guix: use libtool 2.4.7 (fanquake) Pull request description: As of version 2.4.7, libtool now respects ARFLAGS, and has changed the default `ARFLAGS` from `cru` to `cr` (which, historically, we have also done, [see configure](https://github.com/bitcoin/bitcoin/blob/d6832217ef45ea0c858e3fcdec5d4fe87097c839/configure.ac#L33)). This eliminates spammy `ar` output such as: ```bash CXXLD libunivalue.la /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') AR libbitcoin_zmq.a AR libbitcoin_consensus.a CXXLD crypto/libbitcoin_crypto_base.la CXXLD crypto/libbitcoin_crypto_sse41.la /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') CXXLD crypto/libbitcoin_crypto_avx2.la CXXLD crypto/libbitcoin_crypto_x86_shani.la CXXLD leveldb/libleveldb.la /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') CXXLD crc32c/libcrc32c.la /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') CXXLD leveldb/libmemenv.la /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') /root/.guix-profile/bin/x86_64-linux-gnu-ar: `u' modifier ignored since `D' is the default (see `U') AR libbitcoin_cli.a ``` [Libtool 2.4.7 release notes](https://lists.gnu.org/archive/html/autotools-announce/2022-03/msg00000.html): ** New features: - Libtool script now supports (configure-time and runtime) ARFLAGS variable, which obsoletes AR_FLAGS. This is due to naming conventions among other *FLAGS and to be consistent with Automake's ARFLAGS. ** Important incompatible changes: - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'. Guix Build (x86_64): ```bash a4da07d0166a7018d1cb7cddd734c9efe062bd28a6349ebdbf427adf353f2acf guix-build-4a81ef451094/output/aarch64-linux-gnu/SHA256SUMS.part e2418d772c8f409b9bfde3bcf494f3d320d89970a4305e8799a8f59ecbd66906 guix-build-4a81ef451094/output/aarch64-linux-gnu/bitcoin-4a81ef451094-aarch64-linux-gnu-debug.tar.gz 44a877696205b1d60d07e60d01d5427d9ed7efaf8cf62db719bc057a0df77636 guix-build-4a81ef451094/output/aarch64-linux-gnu/bitcoin-4a81ef451094-aarch64-linux-gnu.tar.gz b911cae3d8a73eda2f9224a6073e14e26a1aec7f2cb85dc9d949d22ca4e9f4b4 guix-build-4a81ef451094/output/arm-linux-gnueabihf/SHA256SUMS.part 6fa645e1dbaa77fd082b860852b4a32114d317d630e8791dad14d154a203cd40 guix-build-4a81ef451094/output/arm-linux-gnueabihf/bitcoin-4a81ef451094-arm-linux-gnueabihf-debug.tar.gz 3d86f047e5453ee73cd4dab4ac0b3a97928914f7469b9bcc807230b38b471f3f guix-build-4a81ef451094/output/arm-linux-gnueabihf/bitcoin-4a81ef451094-arm-linux-gnueabihf.tar.gz 1c0dbc156292c3d142e63b29d1fb9c9b6623db5698f59b2bfce96674438780a6 guix-build-4a81ef451094/output/arm64-apple-darwin/SHA256SUMS.part 17f4c3bf0527ec2bde06691c301e8c6c5290178238a21aa10d3672917eccb27d guix-build-4a81ef451094/output/arm64-apple-darwin/bitcoin-4a81ef451094-arm64-apple-darwin-unsigned.dmg 5ed1de03d5d87249fc8671f5641816513a93784d38873d277bdf49a4b98b9ba3 guix-build-4a81ef451094/output/arm64-apple-darwin/bitcoin-4a81ef451094-arm64-apple-darwin-unsigned.tar.gz fb18089efdb291714f1359a548a9f101d5fcc9bdc653cd406ab28f7e02713bcd guix-build-4a81ef451094/output/arm64-apple-darwin/bitcoin-4a81ef451094-arm64-apple-darwin.tar.gz 4f816681c778b8bb9522be31807d1d60c724383cfa4ae820dd829b716d934939 guix-build-4a81ef451094/output/dist-archive/bitcoin-4a81ef451094.tar.gz 3af9f38caf09f4424b7a982b5992407fb4ce5574a0e98af0b0558ec85a12519d guix-build-4a81ef451094/output/powerpc64-linux-gnu/SHA256SUMS.part cf88399bc6ea96df3742cb87bfa0629b22b001f49a6ccfb35b66f7dd46a47a94 guix-build-4a81ef451094/output/powerpc64-linux-gnu/bitcoin-4a81ef451094-powerpc64-linux-gnu-debug.tar.gz 93158fd0b9d3c74565917395d0199d2b9f8b1821dd4aa207f804ee93bd0e4a3d guix-build-4a81ef451094/output/powerpc64-linux-gnu/bitcoin-4a81ef451094-powerpc64-linux-gnu.tar.gz c970dd4dcbd25f2a94eaf526756fc0c01920452f4e42b4dd51fea8bf04f1c7ca guix-build-4a81ef451094/output/powerpc64le-linux-gnu/SHA256SUMS.part 80e488a199b91fc2763da94bf5c4024a7173404419f97c68b825dd6c7dccafbc guix-build-4a81ef451094/output/powerpc64le-linux-gnu/bitcoin-4a81ef451094-powerpc64le-linux-gnu-debug.tar.gz 00159823c8f0daab6c1034c9648742b6569fe07b50091f4850f5b028d9f1dc83 guix-build-4a81ef451094/output/powerpc64le-linux-gnu/bitcoin-4a81ef451094-powerpc64le-linux-gnu.tar.gz f796cbe82e3d4f8ed90647728ad76afae4691c671f5a79c87f0b7a41d67c0a3e guix-build-4a81ef451094/output/riscv64-linux-gnu/SHA256SUMS.part b51be33b674def05b1d8b0b74a2e8c0340fb911859936e3e0024ecac09540270 guix-build-4a81ef451094/output/riscv64-linux-gnu/bitcoin-4a81ef451094-riscv64-linux-gnu-debug.tar.gz 9f0e52c0b0c706359e28a591c6de71502520e6de9941a6cf378c1c83ebd66480 guix-build-4a81ef451094/output/riscv64-linux-gnu/bitcoin-4a81ef451094-riscv64-linux-gnu.tar.gz e145886b3f06d6a69db1657e19661cfb1c95f9b35aac3d3efd89f89f791fa909 guix-build-4a81ef451094/output/x86_64-apple-darwin/SHA256SUMS.part 7a3512718270cc9be241d1ca0c7f8f37ebeb620e6c5a1a70992aef99bc209854 guix-build-4a81ef451094/output/x86_64-apple-darwin/bitcoin-4a81ef451094-x86_64-apple-darwin-unsigned.dmg 0439552bc901a9fd10251c1e4a2eb685aae7b4edcf8f047a28eba837d8b6c960 guix-build-4a81ef451094/output/x86_64-apple-darwin/bitcoin-4a81ef451094-x86_64-apple-darwin-unsigned.tar.gz 4c1ce8786b3c381250b8071a17bc6d705e3e5e672909ffeacfa2171814dee527 guix-build-4a81ef451094/output/x86_64-apple-darwin/bitcoin-4a81ef451094-x86_64-apple-darwin.tar.gz 9c08271cee5f3bba08866fcc609290dd009b85793460188a4b3c5df5ac83d002 guix-build-4a81ef451094/output/x86_64-linux-gnu/SHA256SUMS.part 04285f7e68bc25834fe7830f15b1fd0102cd1f02f23701a8f423cf0835d1af5f guix-build-4a81ef451094/output/x86_64-linux-gnu/bitcoin-4a81ef451094-x86_64-linux-gnu-debug.tar.gz b0e467b2ccb1b391ddb981f1d1b16f0f6de71aa8177f7735a88989fdc4ade449 guix-build-4a81ef451094/output/x86_64-linux-gnu/bitcoin-4a81ef451094-x86_64-linux-gnu.tar.gz 6adb17642959fee8d123482bf0ec5ad0a4f10e63c87bf45447d1e57ab873d2bc guix-build-4a81ef451094/output/x86_64-w64-mingw32/SHA256SUMS.part ac1989f332d1bd5d0acabb7ce28236a80fd6a42eac93c7287f890148ef2999bc guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64-debug.zip 31816d2ef52be01a69fd8701e3da61a32dddaccdd1d424de00a412a798d97b87 guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64-setup-unsigned.exe ecc41932934e5e746883648fd4ee5edf4cd5cadd944d799b31e41aad249c8d7d guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64-unsigned.tar.gz 8634ad4feb1118fc89abd96489533c81176b7172750b8f2cf18a3e10377a8d65 guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64.zip ``` Guix Build (arm64): ```bash b70e6fc1be044e347800d7de78a1c950961f5c52abc724fa8c6fe8556b3ef3ca guix-build-4a81ef451094/output/arm-linux-gnueabihf/SHA256SUMS.part 62e670fcedc2cb746b3c589edfa9a0950097256ef974c58984a9f252c91b802a guix-build-4a81ef451094/output/arm-linux-gnueabihf/bitcoin-4a81ef451094-arm-linux-gnueabihf-debug.tar.gz 2637e5c31380fbae1ec5efb1792124a0554d49516e1964a609560487ea673ebb guix-build-4a81ef451094/output/arm-linux-gnueabihf/bitcoin-4a81ef451094-arm-linux-gnueabihf.tar.gz 1554617b965611ea618664652b566f2c5a16c94fa57572ea31b66a40bb845b3c guix-build-4a81ef451094/output/arm64-apple-darwin/SHA256SUMS.part a98efc26e78ce749d75fc467822f6e68c6b3b7abc5d24e8edaa40b19c6b40632 guix-build-4a81ef451094/output/arm64-apple-darwin/bitcoin-4a81ef451094-arm64-apple-darwin-unsigned.dmg ecd9057eaa2c7166b1320bd85555258fd6a49690b29331cdde7b4c9af05acc0d guix-build-4a81ef451094/output/arm64-apple-darwin/bitcoin-4a81ef451094-arm64-apple-darwin-unsigned.tar.gz 9417c58463488f3eeddcdfc5440d1cb341d6424517e4b69c227f4291853d3fa6 guix-build-4a81ef451094/output/arm64-apple-darwin/bitcoin-4a81ef451094-arm64-apple-darwin.tar.gz 4f816681c778b8bb9522be31807d1d60c724383cfa4ae820dd829b716d934939 guix-build-4a81ef451094/output/dist-archive/bitcoin-4a81ef451094.tar.gz 25cddb3a6a22d1e57cef92d96b106df0fff5d5c3987c3673decad63db834765b guix-build-4a81ef451094/output/powerpc64-linux-gnu/SHA256SUMS.part cb99c30a117e650b837e1e5d835be5e51b282158139b8fd591fa4b6f1aa709db guix-build-4a81ef451094/output/powerpc64-linux-gnu/bitcoin-4a81ef451094-powerpc64-linux-gnu-debug.tar.gz 66a182566f0950f7b0d9de497118ce3635ca5acf78c356a1fea6f815f61ce94b guix-build-4a81ef451094/output/powerpc64-linux-gnu/bitcoin-4a81ef451094-powerpc64-linux-gnu.tar.gz d5f65e1d6cb8de238f1c50ec30c0848675274126d197e274d51fed32de3860ad guix-build-4a81ef451094/output/powerpc64le-linux-gnu/SHA256SUMS.part 4c2fe35cc087d5e268eb2202cc6579442d4c6b9d6d7b61c55753c6600f8070e7 guix-build-4a81ef451094/output/powerpc64le-linux-gnu/bitcoin-4a81ef451094-powerpc64le-linux-gnu-debug.tar.gz 918da28dbd9c2db024a31877c3913e1e717c1099d91cb32798ea4afee6b80b72 guix-build-4a81ef451094/output/powerpc64le-linux-gnu/bitcoin-4a81ef451094-powerpc64le-linux-gnu.tar.gz ba3c1095676c3f2255a3fb581404887783d234ed44bd89b7fd96016cccadd401 guix-build-4a81ef451094/output/riscv64-linux-gnu/SHA256SUMS.part 9492973869a7f6274ffe20758ef113cc5f11465c08b465aa18d28618cee6d0fb guix-build-4a81ef451094/output/riscv64-linux-gnu/bitcoin-4a81ef451094-riscv64-linux-gnu-debug.tar.gz a4a767045b987f87994eb50ab5bc17639707e184a58aa66842d8cb9d7a4dffb4 guix-build-4a81ef451094/output/riscv64-linux-gnu/bitcoin-4a81ef451094-riscv64-linux-gnu.tar.gz e145886b3f06d6a69db1657e19661cfb1c95f9b35aac3d3efd89f89f791fa909 guix-build-4a81ef451094/output/x86_64-apple-darwin/SHA256SUMS.part 7a3512718270cc9be241d1ca0c7f8f37ebeb620e6c5a1a70992aef99bc209854 guix-build-4a81ef451094/output/x86_64-apple-darwin/bitcoin-4a81ef451094-x86_64-apple-darwin-unsigned.dmg 0439552bc901a9fd10251c1e4a2eb685aae7b4edcf8f047a28eba837d8b6c960 guix-build-4a81ef451094/output/x86_64-apple-darwin/bitcoin-4a81ef451094-x86_64-apple-darwin-unsigned.tar.gz 4c1ce8786b3c381250b8071a17bc6d705e3e5e672909ffeacfa2171814dee527 guix-build-4a81ef451094/output/x86_64-apple-darwin/bitcoin-4a81ef451094-x86_64-apple-darwin.tar.gz e19a0c510a95662fef30fc3ea1f2496ae8957df1814f237d4a7c1ef40ba47728 guix-build-4a81ef451094/output/x86_64-linux-gnu/SHA256SUMS.part 1712aca301825d985f7f9e333ebdc2ff0b7f385f79fbecc9747c8a183c15fdac guix-build-4a81ef451094/output/x86_64-linux-gnu/bitcoin-4a81ef451094-x86_64-linux-gnu-debug.tar.gz b40369ea098a02a1cc4e0f5812e9947608d218542038364fb5ce743d9c9e3686 guix-build-4a81ef451094/output/x86_64-linux-gnu/bitcoin-4a81ef451094-x86_64-linux-gnu.tar.gz 9402b3b6ce1e6642a60e5324ebef565c8c0d4b49085ff6fa2105097f4879f389 guix-build-4a81ef451094/output/x86_64-w64-mingw32/SHA256SUMS.part 0e810115ea0269311a07cf868270094ced40cb10cfb2faa5db0b8ec881bc46f9 guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64-debug.zip 31816d2ef52be01a69fd8701e3da61a32dddaccdd1d424de00a412a798d97b87 guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64-setup-unsigned.exe ecc41932934e5e746883648fd4ee5edf4cd5cadd944d799b31e41aad249c8d7d guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64-unsigned.tar.gz dbf4dca62ad173df82571a996ceeef4fba715d600716062d9f851a71cbdd1c9a guix-build-4a81ef451094/output/x86_64-w64-mingw32/bitcoin-4a81ef451094-win64.zip ``` ACKs for top commit: dongcarl: ACK 4a81ef4510948f67a233a714e565f797d806a6fb hebasto: ACK 4a81ef4510948f67a233a714e565f797d806a6fb Tree-SHA512: f853580ce594d26446968466d079e68e0c432c2db96a2c686297b78abbf33e9a451a441287468b1684a2f223ba709210bfdf422b7737464d87a7b9934c198761
2022-06-21Merge bitcoin/bitcoin#25422: build: globally define NOMINMAX when building ↵laanwj
with mingw-w64 58a9601dffa6d9b3b881a476169458787d382919 build: globally define NOMINMAX (fanquake) Pull request description: Define (and document) `NOMINMAX` once, rather than across multiple source files. Defining this prevents the definition of min/max macros when using mingw-w64, which may conflict with unprefixed std::min/max usage. While that might not be the case for us, we'd always prefer to use the standard library in any case. For example: https://github.com/mingw-w64/mingw-w64/blob/73cadc06c62c6af5faf76f64ef08e684b48de48c/mingw-w64-headers/include/ntdef.h#L289-L300 Note that we already define NOMINMAX globally when building with MSVC. Guix Build (arm64): ```bash d3a3b7045dc1677f6a0a2a73a484f156c81ae764058003d9e870b346912b744a guix-build-58a9601dffa6/output/arm-linux-gnueabihf/SHA256SUMS.part 3e66540a3f8c8a10864ab2fed69581241fa41af86bbb028e5f7c3dd4ba859c64 guix-build-58a9601dffa6/output/arm-linux-gnueabihf/bitcoin-58a9601dffa6-arm-linux-gnueabihf-debug.tar.gz 78756e20d45e327cfd7f9e65858bf6d3814bcbe08f9f825fd6dfc9dff999ea6d guix-build-58a9601dffa6/output/arm-linux-gnueabihf/bitcoin-58a9601dffa6-arm-linux-gnueabihf.tar.gz 11073e88d4fd0411c5119a3dca3a90788693fa9aa5134339c84be98ae893cd77 guix-build-58a9601dffa6/output/arm64-apple-darwin/SHA256SUMS.part deffd5f8c6286be34bc35e71ec70300bacb37e1b1a83e67c0833cb57d7a45529 guix-build-58a9601dffa6/output/arm64-apple-darwin/bitcoin-58a9601dffa6-arm64-apple-darwin-unsigned.dmg acee7e98c5ec41f67e86c78dc5b45fa8bc82de86a04b8c43dbf9c59e7aff36a9 guix-build-58a9601dffa6/output/arm64-apple-darwin/bitcoin-58a9601dffa6-arm64-apple-darwin-unsigned.tar.gz 83f7cbaf6680fe8981db9260b97ca87d609a76c0857a744c7d406645d2484e1b guix-build-58a9601dffa6/output/arm64-apple-darwin/bitcoin-58a9601dffa6-arm64-apple-darwin.tar.gz b8c73b40a5e307e9e7e482ce92164990d442f3f105a5240ec6eb96a775cb35d5 guix-build-58a9601dffa6/output/dist-archive/bitcoin-58a9601dffa6.tar.gz cc435cd925771af7e261d0121047339ea8fddb0d1548b699c12108a62988cd32 guix-build-58a9601dffa6/output/powerpc64-linux-gnu/SHA256SUMS.part 7a68bd3181a054056b0a5eb6e830b90ac4ba8435114127d5f1720643011aa78f guix-build-58a9601dffa6/output/powerpc64-linux-gnu/bitcoin-58a9601dffa6-powerpc64-linux-gnu-debug.tar.gz bc55b95e263c455a964d9463a3ee60dabee1d10cefc6641ed29a3b1b317d61e0 guix-build-58a9601dffa6/output/powerpc64-linux-gnu/bitcoin-58a9601dffa6-powerpc64-linux-gnu.tar.gz 49df78009d80af02262806c6c395e2c884a979b1ea13d01aa27d8188403e29d1 guix-build-58a9601dffa6/output/powerpc64le-linux-gnu/SHA256SUMS.part 29dc7a0e10707b3511fa2afb6977df7ebbb67f796d8be5a042abc14eba764aef guix-build-58a9601dffa6/output/powerpc64le-linux-gnu/bitcoin-58a9601dffa6-powerpc64le-linux-gnu-debug.tar.gz 51b7f8e1bccff1e2ce1860bbc382eefe648b90cc3374cdfa3a95a7454386e77d guix-build-58a9601dffa6/output/powerpc64le-linux-gnu/bitcoin-58a9601dffa6-powerpc64le-linux-gnu.tar.gz e62e46d8cebbbfc0f587e930acb648fcae99cfe8b2f63aeba98e46e3338fe1e3 guix-build-58a9601dffa6/output/riscv64-linux-gnu/SHA256SUMS.part fa5d0a074ca586583bf08dbf748909b3ff5e0a54a2e5aaa88abec666e17b4e72 guix-build-58a9601dffa6/output/riscv64-linux-gnu/bitcoin-58a9601dffa6-riscv64-linux-gnu-debug.tar.gz 684b2917fd27a41f884bb6870f7fac847d52b6f8b40df5779d1c674409f7cd14 guix-build-58a9601dffa6/output/riscv64-linux-gnu/bitcoin-58a9601dffa6-riscv64-linux-gnu.tar.gz 7d7cfd0212b49eec48c7f8dc0d97add53096685dfd646feac466c27a45d20c97 guix-build-58a9601dffa6/output/x86_64-apple-darwin/SHA256SUMS.part d70ae6d060b7832f8741dc5d1958cc0d32702605c863254303107246deec0aa6 guix-build-58a9601dffa6/output/x86_64-apple-darwin/bitcoin-58a9601dffa6-x86_64-apple-darwin-unsigned.dmg 930f3ec43896404208ebdb582c9175e3a5a2470d778722e0001addde84dad99a guix-build-58a9601dffa6/output/x86_64-apple-darwin/bitcoin-58a9601dffa6-x86_64-apple-darwin-unsigned.tar.gz 2d8a9d12aadcf60634db953fcb8bd496a002608e9a64eb7d60bb7ffe1f94489f guix-build-58a9601dffa6/output/x86_64-apple-darwin/bitcoin-58a9601dffa6-x86_64-apple-darwin.tar.gz 10363729ece6e1c2cbdf435483006191bf17d1def2d318ff8357197d91c06ded guix-build-58a9601dffa6/output/x86_64-linux-gnu/SHA256SUMS.part d50ec8e4f72e8b064b196eb0ece212f7b0b126f4b8b644c4451084cbf0416072 guix-build-58a9601dffa6/output/x86_64-linux-gnu/bitcoin-58a9601dffa6-x86_64-linux-gnu-debug.tar.gz 471e12b8715ecff4d99121c4bb3288ef4b005ca468810a714c67ea3e7c6669e9 guix-build-58a9601dffa6/output/x86_64-linux-gnu/bitcoin-58a9601dffa6-x86_64-linux-gnu.tar.gz d63946401952d131fdf5df9442c52151d86e53f019234b5ad16fdef0d2976356 guix-build-58a9601dffa6/output/x86_64-w64-mingw32/SHA256SUMS.part 5359782e1eb6f449338f18e053ad82f25382d968690208ae5739d9338eb7bdc7 guix-build-58a9601dffa6/output/x86_64-w64-mingw32/bitcoin-58a9601dffa6-win64-debug.zip 0d387d5a4cb1d712556a3fe5b4bd1e928bb5fbbe57a85ee06c746f132a6b1ec5 guix-build-58a9601dffa6/output/x86_64-w64-mingw32/bitcoin-58a9601dffa6-win64-setup-unsigned.exe dbfd7419d1d764e853a9dc041e276669b488aea4a80e21e4a175b6c3e512e70c guix-build-58a9601dffa6/output/x86_64-w64-mingw32/bitcoin-58a9601dffa6-win64-unsigned.tar.gz 0ba07504d9d5a12af9144e8b386b2640b48dba067d47c694a44ecffe56b0c0fc guix-build-58a9601dffa6/output/x86_64-w64-mingw32/bitcoin-58a9601dffa6-win64.zip ``` ACKs for top commit: laanwj: Code review ACK 58a9601dffa6d9b3b881a476169458787d382919 Tree-SHA512: d1c22b3d0d21ef8f9f605ef6ca06353e3f48536d84f3531f93d613a6ccbbe62f12fae0ed09e8b9a8940b0ef33f9d41d9991eb56fbe7c4ab48f0ce7fcf44e08b1
2022-06-20build: Fix `::_wsystem` checkHennadii Stepanov
See https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/system-wsystem
2022-06-20build: globally define NOMINMAXfanquake
Define (and document) `NOMINMAX` once, rather than across multiple source files. Defining this prevents the definition of min/max macros when using mingw-w64, which may conflict with unprefixed std::min/max usage. While that might not be the case for us, we'd always prefer to use the standard library in any case. For example: https://github.com/mingw-w64/mingw-w64/blob/73cadc06c62c6af5faf76f64ef08e684b48de48c/mingw-w64-headers/include/ntdef.h#L289-L300
2022-06-16Merge bitcoin/bitcoin#25282: Bugfix: configure: Define default for use_libeventlaanwj
f0f5cd79b5d65c1c123400569c33745d8a6127ac Bugfix: configure: Define default for use_libevent (Luke Dashjr) Pull request description: Another trivial fix like #25051 - I think this is the only other one missing. ACKs for top commit: laanwj: Code review ACK f0f5cd79b5d65c1c123400569c33745d8a6127ac Tree-SHA512: 888c2e6d032ef1de5af635e2a9b2b8ab560c86bd10a6cee54aa9aa62ae43f03c19889bb6a2b64cf8982d4cd514f97ca3ed743c71ed0651e9295a4b1726955b9b
2022-06-16doc: update configure ar doc to mention libtool 2.4.7fanquake
2022-06-10build: test for timingsafe_bcmpfanquake
Code introduced in #15649 added usage of `timingsafe_bcmp()`, if available, otherwise falling back to our own implementation. However the relevant build system check was never added, so currently, we'll always just use our implementation, as HAVE_TIMINGSAFE_BCMP will never be defined. Add the check for timingsafe_bcmp. Note that as far as I'm aware, it's only available on OpenBSD.
2022-06-08Merge bitcoin/bitcoin#24395: build: use `BOOST_MULTI_INDEX_ENABLE_SAFE_MODE` ↵MacroFake
when debugging 06e18e0b53ed34933ecd7f3976a508be72f687aa build: use BOOST_MULTI_INDEX_ENABLE_SAFE_MODE when debugging (fanquake) Pull request description: Use of this macro enables precondition checks for iterators and functions of the library. It's use is recommended in debug builds. See https://www.boost.org/doc/libs/1_78_0/libs/multi_index/doc/tutorial/debug.html for more info. There is also a `BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING` macro: > When this mode is in effect, all public functions of Boost.MultiIndex will perform post-execution tests aimed at ensuring that the basic internal invariants of the data structures managed are preserved. ACKs for top commit: laanwj: Concept and code review ACK 06e18e0b53ed34933ecd7f3976a508be72f687aa Tree-SHA512: 7ee489eccda81c7dbca9210af6d3007d5b2c704b645139d2714c077af157789dd9478c29d0d212e210e96686ea83713aaf3d458e879122b3cde64f3e3e3789d2
2022-06-05Bugfix: configure: Define default for use_libeventLuke Dashjr
2022-05-31Revert "build: more robustly check for fcf-protection support"fanquake
We no-longer support Clang 7 (#24164). This reverts commit e9189a750b237eba1befc6b16c12c2cee3e0176c.
2022-05-20build: add DEBUG_LOCKCONTENTION to --enable-debug configurationJon Atack
2022-05-19build: use BOOST_MULTI_INDEX_ENABLE_SAFE_MODE when debuggingfanquake
Use of this macro enables precondition checks for iterators and functions of the library. It's use is recommended in debug builds. See: https://www.boost.org/doc/libs/1_78_0/libs/multi_index/doc/tutorial/debug.html.
2022-05-19build: Enable RPC_DOC_CHECK on --enable-debugMacroFake
2022-05-11Merge bitcoin/bitcoin#25051: Bugfix: configure: Define defaults for ↵laanwj
enable_arm_{crc,shani} 7fd0860d12da723a228ddd3c9fb905380eb8b379 Bugfix: configure: Define defaults for enable_arm_{crc,shani} (Luke Dashjr) Pull request description: Fix for #17398 and #24115 Trivial, mostly for consistency (you'd have to *try* to break this) ACKs for top commit: pk-b2: ACK https://github.com/bitcoin/bitcoin/pull/25051/commits/7fd0860d12da723a228ddd3c9fb905380eb8b379 seejee: ACK https://github.com/bitcoin/bitcoin/commit/7fd0860d12da723a228ddd3c9fb905380eb8b379 vincenzopalazzo: ACK https://github.com/bitcoin/bitcoin/pull/25051/commits/7fd0860d12da723a228ddd3c9fb905380eb8b379 Tree-SHA512: 51c389787c369f431ca57071f03392438bff9fd41f128c63ce74ca30d2257213f8be225efcb5c1329ad80b714f44427d721215d4f848cc8e63060fa5bc8f1f2e
2022-05-05build: Drop redundant checks for ranlib and strip toolsHennadii Stepanov
These checks are handled by the `LT_INIT` macro.
2022-05-05Merge bitcoin/bitcoin#24866: build: No longer need to hack the `PATH` ↵fanquake
variable in `config.site` efa3a807a677659b0b74cdeda944e7c8ce0157fb build: No longer need to hack the `PATH` variable in `config.site` (Hennadii Stepanov) f3af4f7a182f81269c193d5d1fd0effb9161f7c6 build: Let the depends build system define a path to `dsymutil` tool (Hennadii Stepanov) b0a8ddabe531b5d848ad798ccbccdf8f46671223 build: Pass missed darwin-specific tools via `config.site` (Hennadii Stepanov) f87594da14dfc61a5c6163f8e91b8395a28f690e build: No need to provide defaults for darwin-specific tools (Hennadii Stepanov) 80cd99322f1369ee694d0dd125989d5a1b123ba9 scripted-diff: Rename INSTALLNAMETOOL -> INSTALL_NAME_TOOL (Hennadii Stepanov) a4fd440741a507d3e9be0e55e84d566ade69f798 build: Pass missed `strip` tool via `config.site` (Hennadii Stepanov) Pull request description: This PR adds lacking definitions of absolute paths to some tools in the depends build system. This improvement makes possible to keep the `PATH` variable untouched during configuration. Also see https://github.com/bitcoin/bitcoin/pull/24566#discussion_r851125442. #### Guix builds on `x86_64`: ``` $ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum 93fa58bf2a1f5c15c5a547c014036ac79761e5c9622bd5099408ce570b39f02f guix-build-efa3a807a677/output/aarch64-linux-gnu/SHA256SUMS.part ef5f53348404ba973dceaf088a4d47dfd0f1fa3d3bf75bdd723b043431de005d guix-build-efa3a807a677/output/aarch64-linux-gnu/bitcoin-efa3a807a677-aarch64-linux-gnu-debug.tar.gz 6688b2295d564b32ea676c0540c43cdc5211322eddc87e0967b764284e847368 guix-build-efa3a807a677/output/aarch64-linux-gnu/bitcoin-efa3a807a677-aarch64-linux-gnu.tar.gz 4abb3428be477aa7360611689fd28950f30dbbac6a95c454095367d8df11ad72 guix-build-efa3a807a677/output/arm-linux-gnueabihf/SHA256SUMS.part 8dd33389170e83812821d5dd68741db96af1376035ba40af0215a7ae95dcf7fc guix-build-efa3a807a677/output/arm-linux-gnueabihf/bitcoin-efa3a807a677-arm-linux-gnueabihf-debug.tar.gz 544e97eb88b2a44c8ceb9660399eb5d49d75e07ff59fc03a701a595bacea0491 guix-build-efa3a807a677/output/arm-linux-gnueabihf/bitcoin-efa3a807a677-arm-linux-gnueabihf.tar.gz 219faf1131bdcffffd5979eafd2beabc4a300081f8b1df184852b7183dfbc0e8 guix-build-efa3a807a677/output/arm64-apple-darwin/SHA256SUMS.part 602a417bfa7971fb26d0fe9921d2348fd0d01a5bcf0af93f8a9d50112076e0eb guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin-unsigned.dmg 0dcb197420844da8da3f528a1d986628f7b63adb1e83353d63e8a84da59abc42 guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin-unsigned.tar.gz 10efdd33418234a8288c27a614f50e9ff45efbd681fa1c0e173142b6d267cdb8 guix-build-efa3a807a677/output/arm64-apple-darwin/bitcoin-efa3a807a677-arm64-apple-darwin.tar.gz e5ef02adeb9bcb4675972b0dc233a904006b0940d721049eeb94b14cda34872e guix-build-efa3a807a677/output/dist-archive/bitcoin-efa3a807a677.tar.gz a75d2a49b7a8ab1c849e1badff5049a417519f0154b65335a8717d01b8b6ed62 guix-build-efa3a807a677/output/powerpc64-linux-gnu/SHA256SUMS.part aef63d196487dd0bc597fd53633ac889149f1a126c651ea55f3bec11a092c460 guix-build-efa3a807a677/output/powerpc64-linux-gnu/bitcoin-efa3a807a677-powerpc64-linux-gnu-debug.tar.gz ddc7913eed26270be271a8712bf351d562d57c746810ea3b7b4101aea8cb6d89 guix-build-efa3a807a677/output/powerpc64-linux-gnu/bitcoin-efa3a807a677-powerpc64-linux-gnu.tar.gz 83bbf4b1af07a2cf7d6014de7c885f0998dd38afacdb5242f5f56505ee704f17 guix-build-efa3a807a677/output/powerpc64le-linux-gnu/SHA256SUMS.part c9d5d95de98ed987b63a78d4f6e082cb36d5ec3ba71d130601e03d3ebfbd208d guix-build-efa3a807a677/output/powerpc64le-linux-gnu/bitcoin-efa3a807a677-powerpc64le-linux-gnu-debug.tar.gz 88ed6ec82dd4c1c656fe80b4c49f91a4c15c2ab798dbbe16a3d57393f17d6f3a guix-build-efa3a807a677/output/powerpc64le-linux-gnu/bitcoin-efa3a807a677-powerpc64le-linux-gnu.tar.gz 7b8e7b3b1e68a2ea0e37c058b284da11e9721ef4d1bc2761ed003b2061358d5f guix-build-efa3a807a677/output/riscv64-linux-gnu/SHA256SUMS.part a5de4bedf2b4bc5ab25db21b942076897cabe8a40ce9b0637488af6b4d90693a guix-build-efa3a807a677/output/riscv64-linux-gnu/bitcoin-efa3a807a677-riscv64-linux-gnu-debug.tar.gz 53023994202887778a001ce00daf7cdc135b9e6c3be034f31645ab4ba5f078c6 guix-build-efa3a807a677/output/riscv64-linux-gnu/bitcoin-efa3a807a677-riscv64-linux-gnu.tar.gz c6664a61b81dfa080c466d2252a6db70165acbea6cfad51ada16970e9c08bb6f guix-build-efa3a807a677/output/x86_64-apple-darwin/SHA256SUMS.part a528569ae4bf5e19401311649086a2d8e3fa5251b44550e623722968dfb111ea guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin-unsigned.dmg 9b0384cce7605b546ed581074955f2b9c33cf0817453842036e6224b423b814b guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin-unsigned.tar.gz ebdbd2f3a6406233f27ee48be0ab014991fedba3c0831f79f4a4873f7abf3d7a guix-build-efa3a807a677/output/x86_64-apple-darwin/bitcoin-efa3a807a677-x86_64-apple-darwin.tar.gz 05a8f71fe67f7193e71ea8bbe6f8df2e651b8ac7da3075ba25aacdd3515f7757 guix-build-efa3a807a677/output/x86_64-linux-gnu/SHA256SUMS.part 30a17a1e3d795ea390cd1e0f3ef74c989b5768ae7415740fcca46befe4cb7206 guix-build-efa3a807a677/output/x86_64-linux-gnu/bitcoin-efa3a807a677-x86_64-linux-gnu-debug.tar.gz 66db846f3fd739089afa5c339659dbf5efb50572f2d29f8288bf24be9e8f1dd0 guix-build-efa3a807a677/output/x86_64-linux-gnu/bitcoin-efa3a807a677-x86_64-linux-gnu.tar.gz bd3c44890823badcf6d296fa674de14275684be7593f4ab21c0316873ddd8652 guix-build-efa3a807a677/output/x86_64-w64-mingw32/SHA256SUMS.part 6ce3ee21212ff2a95e085073a48194476ade2d5ff94cc1c8ec58a8ae7db8f1fa guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-debug.zip 5e697c05537cfb2ce2ed95fef25e261e2cfa83a31fd548a98118580c4bbff2e4 guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-setup-unsigned.exe 4cc2bcff98845c792c0ed12a2ea407b25fb85b2d4250d88dca94ed68f42e714d guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64-unsigned.tar.gz 9d5d72271dc6b820e63b30c5c3f9015309777793100b4e2b6ab0c8ea0f7b4aed guix-build-efa3a807a677/output/x86_64-w64-mingw32/bitcoin-efa3a807a677-win64.zip ``` ACKs for top commit: laanwj: Tested ACK efa3a807a677659b0b74cdeda944e7c8ce0157fb. I get the same build output as in OP: vincenzopalazzo: Re ACK https://github.com/bitcoin/bitcoin/commit/efa3a807a677659b0b74cdeda944e7c8ce0157fb Tree-SHA512: 6d35c11fc307221d61ad250bbdcdc09dbc49adbe43f7a94acb56190ae9f005d23fc22941ea59e3eb62811f8974e39d3617e0c47071232d4b1b0bc2e2e2782e88
2022-05-02Bugfix: configure: Define defaults for enable_arm_{crc,shani}Luke Dashjr
2022-04-28Merge bitcoin/bitcoin#24958: build: Fix macOS Apple M1 build with miniupnpc ↵laanwj
and libnatpmp. Again :) 165903406ecac363fc5101c2aa142aff75f76e8f build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `libnatpmp` package (Hennadii Stepanov) 65cddf604c4b3c70e205b4cd32612a1ab8af9856 build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `miniupnpc` package (Hennadii Stepanov) bbbcb9663853f3c034d1bdb621f366df6107970c build, refactor: Fix indentation (Hennadii Stepanov) Pull request description: Apparently, bitcoin/bitcoin#24391 broke the [ability](https://github.com/bitcoin/bitcoin/pull/22397) of the `configure` script to pick up Homebrew's `miniupnpc` and `libnatpmp` packages on macOS Apple M1. This PR fixes it. ACKs for top commit: promag: Tested ACK 165903406ecac363fc5101c2aa142aff75f76e8f jarolrod: tACK 165903406ecac363fc5101c2aa142aff75f76e8f Tree-SHA512: 93988f59f425890d60582b93d4ac5b2ad03011a5c6dbb44678a3ca591da7518c1c741bc1045b2c763bbe887947f32293b38d55fd7a96f09d2092ad34baa1db21
2022-04-28Merge bitcoin/bitcoin#24322: [kernel 1/n] Introduce initial `libbitcoinkernel`fanquake
035fa1f07aacb7bce74c0884ae28c8cf00fe3b1b build: Remove LIBTOOL_APP_LDFLAGS for bitcoin-chainstate (Cory Fields) 3f0595095dd6d230dc661641227937e3ab4ca8d3 docs: Add libbitcoinkernel_la_SOURCES explanation (Carl Dong) 94ad45deb257a95b4e98aa85da0371fb072fcd4c ci: Build libbitcoinkernel (Carl Dong) 26b2e7ffb3471a4712e5b9e50e066e0e3218f0dd build: Extract the libbitcoinkernel library (Carl Dong) 1df44dd20ca9e6e55eb353824b27d11bd1878c59 b-cs: Define G_TRANSLATION_FUN in bitcoinkernel.cpp (Carl Dong) 83a0bb7cc9907dbe089409ed5a417277ed63ed95 build: Separate lib_LTLIBRARIES initialization (Carl Dong) c1e16cb31f4d8edde8fea310011189b8b272cb07 build: Create .la library for bitcoincrypto (Carl Dong) 8bdfe057c796dde1cd2e5a37a73e87a879e9fe56 build: Create .la library for leveldb (Carl Dong) 05d1525b6d4412f68ff4c5460cd1daa6fb49969b build: Create .la library for crc32c (Carl Dong) 64caf944797bc35c3044fe5675389656f9511a41 build: Remove vestigial LIBLEVELDB_SSE42 (Carl Dong) 1392e8e2d8cfe4115f0a152aca16ffe3f0f4573a build: Don't add unrelated libs to LIBTEST_* (Carl Dong) Pull request description: Part of: #24303 This PR introduces a `libbitcoinkernel` static library linking in the minimal list of files necessary to use our consensus engine as-is. `bitcoin-chainstate` introduced in #24304 now will link against `libbitcoinkernel`. Most of the changes are related to the build system. Please read the commit messages for more details. ACKs for top commit: theuni: This may be my favorite PR ever. It's a privilege to ACK 035fa1f07aacb7bce74c0884ae28c8cf00fe3b1b. Tree-SHA512: b755edc3471c7c1098847e9b16ab182a6abb7582563d9da516de376a770ac7543c6fdb24238ddd4d3d2d458f905a0c0614b8667aab182aa7e6b80c1cca7090bc
2022-04-28Merge bitcoin/bitcoin#24831: tidy: add include-what-you-useMacroFake
9b0a13a2891641a3d12e525cee8ddddb1aa1bc73 tidy: Add include-what-you-use (fanquake) 74cd038e300bfbe2473295fc3b0c3a4f3e853a07 refactor: fix includes in src/init (fanquake) c79ad935f0412bac3e19a6b925efdb390eb00bd9 refactor: fix includes in src/compat (fanquake) Pull request description: We recently added a [`clang-tidy` job](https://github.com/bitcoin/bitcoin/blob/master/ci/test/00_setup_env_native_tidy.sh) to the CI, which generates a compilation database. We can leverage that now existing database to begin running [include-what-you-use](https://include-what-you-use.org/) over the codebase. This PR demonstrates using a mapping_file to indicate fixups / includes that may differ from IWYU suggestions. In this case, I've added some fixups for glibc includes that I've [upstreamed changes for](https://github.com/include-what-you-use/include-what-you-use/pull/1026): ```bash # Fixups / upstreamed changes [ { include: [ "<bits/termios-c_lflag.h>", private, "<termios.h>", public ] }, { include: [ "<bits/termios-struct.h>", private, "<termios.h>", public ] }, { include: [ "<bits/termios-tcflow.h>", private, "<termios.h>", public ] }, ] ``` The include "fixing" commits of this PR: * Adds missing includes. * Swaps C headers for their C++ counterparts. * Removes the pointless / unmaintainable `//for abc, xyz` comments. When using IWYU, if anyone wants to see / generate those comments, to see why something is included, it is trivial to do so (IWYU outputs them by default). i.e: ```cpp // The full include-list for compat/stdin.cpp: #include <compat/stdin.h> #include <poll.h> // for poll, pollfd, POLLIN #include <termios.h> // for tcgetattr, tcsetattr #include <unistd.h> // for isatty, STDIN_FILENO ``` TODO: - [ ] Qt mapping_file. There is one in the IWYU repo, but it's for Qt 5.11. Needs testing. - [ ] Boost mapping_file. There is one in the IWYU repo, but it's for Boost 1.75. Needs testing. I'm not suggesting we turn this on the for entire codebase, or immediately go-nuts refactoring all includes. However I think our dependency includes are now slim enough, and our CI infrastructure in place such that we can start doing this in some capacity, and just automate away include fixups / refactorings etc. ACKs for top commit: MarcoFalke: review ACK 9b0a13a2891641a3d12e525cee8ddddb1aa1bc73 jonatack: ACK 9b0a13a2891641a3d12e525cee8ddddb1aa1bc73 reviewed changes and run CI output in https://cirrus-ci.com/task/4750910332076032 Tree-SHA512: 00beab5a5f2a6fc179abf08321a15391ecccaa91ab56f3c50c511e7b29a0d7c95d8bb43eac2c31489711086f6f77319d43d803cf8ea458e7cd234a780d9ae69e
2022-04-27build: Extract the libbitcoinkernel libraryCarl Dong
I strongly recommend reviewing with the following git-diff flags: --patience --color-moved=dimmed-zebra Extract out a libbitcoinkernel library linking in all files necessary for using our consensus engine as-is. Link bitcoin-chainstate against it. See previous commit "build: Add example bitcoin-chainstate executable" for more context. We explicitly specify -fvisibility=default, which effectively overrides the effects of --enable-reduced-exports since libbitcoinkernel requires default symbol visibility When compiling for mingw-w64, specify -static in both: - ..._la_CXXFLAGS so that libtool will avoid building two versions of each object (one PIC, one non-PIC). We just need the one that is suitable for static linking. - ..._la_LDFLAGS so that libtool will create a static library. If we don't specify this, then libtool will prefer the non-static PIC version of the object, which is built with -DDLL_EXPORT -DPIC for mingw-w64 targets. This can cause symbol resolution problems when we link this library against an executable that does specify -all-static, since that will be built without the -DDLL_EXPORT flag. Unfortunately, this means that for mingw-w64 we can only build a static version of the library for now. This will be fixed. However, on other targets, the shared library creation works fine. ----- Note to users: You need to either specify: --enable-experimental-util-chainstate or, --with-experimental-kernel-lib To build the libbitcionkernel library. See the configure help for more details. build shared libbitcoinkernel where we can
2022-04-26tidy: enable modernize-use-nullptrfanquake
2022-04-24build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `libnatpmp` packageHennadii Stepanov
2022-04-24build: Fix `AC_CHECK_HEADERS` and `AC_CHECK_LIB` for `miniupnpc` packageHennadii Stepanov
2022-04-24build, refactor: Fix indentationHennadii Stepanov
2022-04-21scripted-diff: Rename INSTALLNAMETOOL -> INSTALL_NAME_TOOLHennadii Stepanov
This change makes naming of `install_name_tool` consistent across the whole build system. -BEGIN VERIFY SCRIPT- sed --in-place --expression='s/INSTALLNAMETOOL/INSTALL_NAME_TOOL/g' $(git grep --files-with-matches 'INSTALLNAMETOOL') -END VERIFY SCRIPT-
2022-04-21Merge bitcoin/bitcoin#24031: build: don't compress macOS DMGfanquake
1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 build: don't compress macOS DMG (fanquake) Pull request description: Skip compressing the macOS DMG, and drop related build steps and dependencies. Uncompressed the DMG increases from ~16mb to ~30mb, which compared to other software a user may download, (Firefox 125mb, VLC 52mb, Open Office 176mb), is still relatively small. When contrasted against the 100's of GB of blockchain data a node will download, an additional 15mb to get the release binary, isn't much additional overhead. Note that if / when we build with LTO enabled for releases, this size will shrink back down significantly again. `native_libdmg-hfsplus` is not maintained, and I doubt the DMG creation feature will ever be fixed. If at some point `xorrisofs` supports compressing dmgs, we could enable that. Guix Build on x86_64: ```bash 25b7c8bb7bc8ea014d43cebb844a842d2ac8d5a343039a820d24b649c9e6bc8a guix-build-1dd8cbfbc631/output/arm64-apple-darwin/SHA256SUMS.part 16beb5c52c9bf51b5ce9ef5a0d17c0038238a833383586a1b14acbca78533e4b guix-build-1dd8cbfbc631/output/arm64-apple-darwin/bitcoin-1dd8cbfbc631-arm64-apple-darwin-unsigned.dmg d8f89a61a7448d6334dbb3639386a7b6340542393933f35421a9e6dfc724e455 guix-build-1dd8cbfbc631/output/arm64-apple-darwin/bitcoin-1dd8cbfbc631-arm64-apple-darwin-unsigned.tar.gz 11617dc261ef602433f5bb29956a40a9085dbc783f519f75fbe06e80970148d0 guix-build-1dd8cbfbc631/output/arm64-apple-darwin/bitcoin-1dd8cbfbc631-arm64-apple-darwin.tar.gz aa8550d4a394d3161d14ec5e6012ed07354135afb022e905a1946785b4665664 guix-build-1dd8cbfbc631/output/dist-archive/bitcoin-1dd8cbfbc631.tar.gz 2b837f2f971a9738d0b7b8497f7ded740ef5e67c8baa7f30ca33e6b7d826eec8 guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/SHA256SUMS.part db972b2c06dbde5525a3f9e6ceb9c20a8120bc9a6f15e1d852a4bfac09d88569 guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/bitcoin-1dd8cbfbc631-x86_64-apple-darwin-unsigned.dmg 50fe990c3f9923ee92195125faf6517396e7c1b017a8f4f7d52e991ebce52f0c guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/bitcoin-1dd8cbfbc631-x86_64-apple-darwin-unsigned.tar.gz 1d9022b0ae46ead41046c40f82291ce363760660a3cd6e6ef6a5b1128b90faef guix-build-1dd8cbfbc631/output/x86_64-apple-darwin/bitcoin-1dd8cbfbc631-x86_64-apple-darwin.tar.gz ``` Guix Build on arm64: ```bash ``` ACKs for top commit: Sjors: re-tACK 1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 on Intel macOS laanwj: Build system changes code review ACK 1dd8cbfbc6318308b5e75023568f818ef6a9c7e4, I don't know anything about MacOS application formats and their internals so do not have an opinion on the contents of this change. jarolrod: ACK https://github.com/bitcoin/bitcoin/commit/1dd8cbfbc6318308b5e75023568f818ef6a9c7e4 Tree-SHA512: 04c5bf78f26a9877777093ec4c50c457107bef59d720839ea5e7d7e4f7961dfee9f86b40cf791524a9e60e9e77403a797e9fcdae3849b60b759f9f66cc31b6ab
2022-04-20tidy: Add include-what-you-usefanquake
2022-04-11Merge bitcoin/bitcoin#24337: build: Do not define ↵fanquake
`PROVIDE_FUZZ_MAIN_FUNCTION` macro unconditionally c9c4e6cadda85783a005af773a683d44a208bf67 build: Do not define `PROVIDE_FUZZ_MAIN_FUNCTION` macro unconditionally (Hennadii Stepanov) Pull request description: No need to define the `PROVIDE_FUZZ_MAIN_FUNCTION` macro when the build system has been configured with the `--disable-fuzz-binary` option. See https://github.com/bitcoin/bitcoin/pull/24336#pullrequestreview-881368272. ACKs for top commit: MarcoFalke: Approach ACK c9c4e6cadda85783a005af773a683d44a208bf67 did not review or test 🐤 fanquake: ACK c9c4e6cadda85783a005af773a683d44a208bf67 Checked that `PROVIDE_FUZZ_MAIN_FUNCTION` isn't defined when configuring with `--disable-fuzz-binary`. Tree-SHA512: 54fbf02ba9f5ecc61b176b8ea7d05e308788d4de3f97ed40913e731300d9dc0edfdfcbf8e0a6e74cf1b2e2ae63f6208a34e03b9c8d203d070c457c4a7d9b5f2c
2022-04-11build: don't compress macOS DMGfanquake
2022-04-09Merge bitcoin/bitcoin#24792: Update libsecp256k1 subtree to current masterfanquake
404c53062bb80853d5967187bdb7b5f7e749de7f key: use secp256k1_schnorrsig_sign32 over deprecated secp256k1_schnorrsig_sign (fanquake) ee30bf7c01922938bcf861a57cdf2249edb36256 build: remove some no-longer-needed var unexporting from configure (fanquake) 2656629767b098d17245a66e0bfa4c2c62f20d0c build: remove --enable-experimental from libsecp256k1 configure (fanquake) d960d4fd3a767cf5695bed96c5f329056f77d0da build: fix MSVC build after subtree update (dhruv) afb7a6fe06a33956ef43429d31f5934448f6e671 Squashed 'src/secp256k1/' changes from 0559fc6e41..8746600eec (fanquake) Pull request description: The motivation for this bump is some small build cleanups, including [dropping the `--enable-experimental`](https://github.com/bitcoin-core/secp256k1/commit/80cf4eea5fa0162350614c08f2252a07f9d7804b) flag from the libsecp configure invocation, as well as some [now-redundant](https://github.com/bitcoin-core/secp256k1/pull/1090) `pkg-config` variable exporting from our own configure. We also get the benefit of a slightly more efficient libsecp configure due to https://github.com/bitcoin-core/secp256k1/pull/1088. This also includes a change in our code to migrate from using the [now deprecated](https://github.com/bitcoin-core/secp256k1/commit/99e6568fc6ea2768f5355eb4617283086f756931) `secp256k1_schnorrsig_sign` to `secp256k1_schnorrsig_sign32`. Guix Build (on x86_64): ```bash b9f6ad90c75f7edd7c4444c6c3401d8b6ab29a8da22ae22ddaedd94688227b5d guix-build-404c53062bb8/output/aarch64-linux-gnu/SHA256SUMS.part 250d47ae299d8385d5590518fa2adaabde76e2566fd27e12bf36b62663d13e13 guix-build-404c53062bb8/output/aarch64-linux-gnu/bitcoin-404c53062bb8-aarch64-linux-gnu-debug.tar.gz 48d610dc6f5169f925f782571dac2f082695f89008beadad4adef4c1b583a612 guix-build-404c53062bb8/output/aarch64-linux-gnu/bitcoin-404c53062bb8-aarch64-linux-gnu.tar.gz 8f04ee26e4079719e3935bd0e4287cc11a2a16875bf01e2a63d67492a1fa5367 guix-build-404c53062bb8/output/arm-linux-gnueabihf/SHA256SUMS.part 7d7d7fcfb032bda92e53abd8d608257f0ef17b1e3e52a1414260b896786fb2dc guix-build-404c53062bb8/output/arm-linux-gnueabihf/bitcoin-404c53062bb8-arm-linux-gnueabihf-debug.tar.gz 30bae2ff3d044f4e39f992a68f6b296b7be2aea350bca4a0415c739a32c20bd9 guix-build-404c53062bb8/output/arm-linux-gnueabihf/bitcoin-404c53062bb8-arm-linux-gnueabihf.tar.gz 5f550fb0b950250eeffce3480ec6403530b0880570a5860ef6c32a3e92eac92f guix-build-404c53062bb8/output/arm64-apple-darwin/SHA256SUMS.part c10664d13aeec8c860bf72be833c738973ae18e4d28cdf08b2f9bee960ebff1d guix-build-404c53062bb8/output/arm64-apple-darwin/bitcoin-404c53062bb8-arm64-apple-darwin-unsigned.dmg becab75b11cf4ca6f559f8eef835f3574629f6eb932ac716ed4f8c044a85831f guix-build-404c53062bb8/output/arm64-apple-darwin/bitcoin-404c53062bb8-arm64-apple-darwin-unsigned.tar.gz bc86433652fe3552f6a13088191364ae7514c9fe3a244da86a6db096bb4922fc guix-build-404c53062bb8/output/arm64-apple-darwin/bitcoin-404c53062bb8-arm64-apple-darwin.tar.gz 1f585cb9a1356343df4b2726ecfe2598c9903304afb047c047c2cef318555dd3 guix-build-404c53062bb8/output/dist-archive/bitcoin-404c53062bb8.tar.gz 9ede534ba2c6cecb550473eead195627327e826ebb0118e23d60ab482d40e241 guix-build-404c53062bb8/output/powerpc64-linux-gnu/SHA256SUMS.part 77ddb7d7d639b1dd4508468a8ef27e45b35c8b2f8624584a70e6b64798a4ea7a guix-build-404c53062bb8/output/powerpc64-linux-gnu/bitcoin-404c53062bb8-powerpc64-linux-gnu-debug.tar.gz 36178c1f1c12942ff05275daa3570f8b45419ee8d9f391d750afb405219986f0 guix-build-404c53062bb8/output/powerpc64-linux-gnu/bitcoin-404c53062bb8-powerpc64-linux-gnu.tar.gz 8a15a4da7a9a5e00c49d9aeedf3c6fc666c0d230be1369eac7caf4571d5905e0 guix-build-404c53062bb8/output/powerpc64le-linux-gnu/SHA256SUMS.part 400c58113f2d07c87e03c8528b292c6aca808a2bccae4b041cad3a26a05b6aad guix-build-404c53062bb8/output/powerpc64le-linux-gnu/bitcoin-404c53062bb8-powerpc64le-linux-gnu-debug.tar.gz 3b9f9d8614ac3a27416e53354b2b0a64d364f91493e9d0f41583a6f492546824 guix-build-404c53062bb8/output/powerpc64le-linux-gnu/bitcoin-404c53062bb8-powerpc64le-linux-gnu.tar.gz 98506b23ee08ad8af958f816da2e4518d661e88d5c6308de1f5e3b2fc787b86c guix-build-404c53062bb8/output/riscv64-linux-gnu/SHA256SUMS.part c701a7b77cea4fdc2588b511f1b2c71b89c83bfba19fdb2ac113a5a4b14ac392 guix-build-404c53062bb8/output/riscv64-linux-gnu/bitcoin-404c53062bb8-riscv64-linux-gnu-debug.tar.gz 34d58e6392cd58b3c76e30cd8600c0dbefba7e9c6d5df78c3ef23e81c4e4d26a guix-build-404c53062bb8/output/riscv64-linux-gnu/bitcoin-404c53062bb8-riscv64-linux-gnu.tar.gz 92fa30e9c6d81dd1e1514b65d3e1abe68ded897237cd99f66aa760d445109c04 guix-build-404c53062bb8/output/x86_64-apple-darwin/SHA256SUMS.part bee180b02f178ae9980ef159f65913a71cbd037c4aff5f2906af5f174a677da3 guix-build-404c53062bb8/output/x86_64-apple-darwin/bitcoin-404c53062bb8-x86_64-apple-darwin-unsigned.dmg ad7d18d779ab7a7944817d1f368d0a6bdd174bf1211b0f90180c8ccf04ec4062 guix-build-404c53062bb8/output/x86_64-apple-darwin/bitcoin-404c53062bb8-x86_64-apple-darwin-unsigned.tar.gz 7489d1d5d48ad95cf58bb11b5fdeccadac6fa758784fb498529fca2330abe069 guix-build-404c53062bb8/output/x86_64-apple-darwin/bitcoin-404c53062bb8-x86_64-apple-darwin.tar.gz 74660fb0ebce2a08b03980a57bffcad62e078dc967a74d2395660ff51c019640 guix-build-404c53062bb8/output/x86_64-linux-gnu/SHA256SUMS.part cd377fa6b46276c2f8a32e199e6f9adf6aa67315688656709d6dc0744d54a837 guix-build-404c53062bb8/output/x86_64-linux-gnu/bitcoin-404c53062bb8-x86_64-linux-gnu-debug.tar.gz 919c521950369d8ad46db2d15b00abb488abfb080d157a41b2db429122a428ed guix-build-404c53062bb8/output/x86_64-linux-gnu/bitcoin-404c53062bb8-x86_64-linux-gnu.tar.gz 2debca995d432965a8786b6ff74aed42e9e2f1cb0fecbe2d9fc5b850c192fcff guix-build-404c53062bb8/output/x86_64-w64-mingw32/SHA256SUMS.part e33169f684fb031ec18ed39812617d3eb263257f6c7564b8f4c974ad05fe672c guix-build-404c53062bb8/output/x86_64-w64-mingw32/bitcoin-404c53062bb8-win64-debug.zip 029d0a4180cb908d517fcf689dcf46d42fbf383e11dc609711617066ae039ab0 guix-build-404c53062bb8/output/x86_64-w64-mingw32/bitcoin-404c53062bb8-win64-setup-unsigned.exe 7e349c688cac66436562c4805f420b0536db5a3b3abf54d0e8c7752f59874a5c guix-build-404c53062bb8/output/x86_64-w64-mingw32/bitcoin-404c53062bb8-win64-unsigned.tar.gz 1bff98e82e95c93d6060227408502f5e2d8597d526b912cb6dc0a90ae3094a8f guix-build-404c53062bb8/output/x86_64-w64-mingw32/bitcoin-404c53062bb8-win64.zip ``` ACKs for top commit: laanwj: Code review ACK 404c53062bb80853d5967187bdb7b5f7e749de7f, I checked the changes to our tree thoroughly but didn't review all upstream secp256k1 changes in detail. gruve-p: ACK https://github.com/bitcoin/bitcoin/pull/24792/commits/404c53062bb80853d5967187bdb7b5f7e749de7f real-or-random: utACK 404c53062bb80853d5967187bdb7b5f7e749de7f I reviewed the diff to Core, I'm with updating to libsecp256k1 master, but I haven't verified that the libsecp256k1 tree here has been updated correctly Tree-SHA512: e6a6db93ea60ed500df5065178784a915da94adfa7bd45fdbd7b19d701154987ff38c1df7f318119e6c2cb98e28e1ea2eb725bef93d4088403e14537ebffb032
2022-04-07build: remove some no-longer-needed var unexporting from configurefanquake
2022-04-07build: remove --enable-experimental from libsecp256k1 configurefanquake
2022-04-07lint: codespell 2.1.0fanquake
2022-04-06Merge bitcoin/bitcoin#24681: build: Bump libevent minimum version up to 2.1.8fanquake
e40779a4fee03c6c455149bd8e9d1a7ccd991450 refactor: Remove outdated libevent logging code (Fabian Jahr) 0598f36852199d0cee8fe9e676a2e0bec3ebf624 refactor: account for requiring libevent 2.1.8+ (fanquake) aaf72d62c18f9cb325c150cf0cc21abb201607c8 build: Bump libevent minimum version up to 2.1.8 (Hennadii Stepanov) Pull request description: Required to support new functionality in bitcoin/bitcoin#19420. `libevent` availability: https://repology.org/project/libevent/versions ACKs for top commit: laanwj: Code review ACK e40779a4fee03c6c455149bd8e9d1a7ccd991450 fanquake: ACK e40779a4fee03c6c455149bd8e9d1a7ccd991450 Tree-SHA512: ccb14ea2f591484a3df5bc4a19f4f5400ef6b1cfb7dc45dd99f96cb948748215ed3b5debc34869763c91b8c7a26993fdb9b870950c0743c4d01038ab27c5e4e2
2022-04-06Merge bitcoin/bitcoin#24358: test: USDT tracepoint interface testslaanwj
76c60d7b31ccc50b226cdbc5e38be0bd67603408 test: validation:block_connected tracepoint test (0xb10c) 260e28ece87ba2e732ff8d8a379c4b27e77e3c0d test: utxocache:* tracepoint tests (0xb10c) 34b27bac684f2f373c5e1d90697d6bc8a014f45a test: net:in/out_message tracepoint tests (0xb10c) c934087b627f7d368458781944f990b0eb479634 test: checks for tracepoint tests (0xb10c) Pull request description: This adds functional tests for the USDT tracepoints added in https://github.com/bitcoin/bitcoin/pull/22006 and https://github.com/bitcoin/bitcoin/pull/22902. This partially fixes #23296. The tests **are probably skipped** on most systems as these tests require: - a Linux system with a kernel that supports BPF (and available kernel headers) - that Bitcoin Core is compiled with tracepoints for USDT support (default when compiled with depends) - [bcc](https://github.com/iovisor/bcc) installed - the tests are run with a privileged user that is able to e.g. do BPF syscalls and load BPF maps The tests are not yet run in our CI as the CirrusCI containers lack the required permissions (see https://github.com/bitcoin/bitcoin/issues/23296#issuecomment-1024920845). Running the tests in a VM in the CI could work, but I haven't experimented with this yet. The priority was to get the actual tests done first to ensure the tracepoints work as intended for the v23.0 release. Running the tracepoint tests in the CI is planned as the next step to finish #23296. The tests can, however, be run against e.g. release candidates by hand. Additionally, they provide a starting point for tests for future tracepoints. PRs adding new tracepoint should include tests. This makes reviewing these PRs easier. The tests require privileges to execute BPF sycalls (`CAP_SYS_ADMIN` before Linux kernel 5.8 and `CAP_BPF` and `CAP_PERFMON` on 5.8+) and permissions to `/sys/kernel/debug/tracing/`. It's currently recommended to run the tests in a virtual machine (or on a VPS) where it's sensible to use the `root` user to gain these privileges. Never run python scripts you haven't carefully reviewed with `root` permissions! It's unclear if a non-root user can even gain the required privileges. This needs more experimenting. The goal here is to test the tracepoint interface to make sure the [documented interface](https://github.com/bitcoin/bitcoin/blob/master/doc/tracing.md#tracepoint-documentation) does not break by accident. The tracepoints expose implementation details. This means we also need to rely on implementation details of Bitcoin Core in these functional tests to trigger the tracepoints. An example is the test of the `utxocache:flush` tracepoint: On Bitcoin Core shutdown, the UTXO cache is flushed twice. The corresponding tracepoint test expects two flushes, too - if not, the test fails. Changing implementation details could cause these tests to fail and the tracepoint API to break. However, we purposefully treat the tracepoints only as [**semi-stable**](https://github.com/bitcoin/bitcoin/blob/master/doc/tracing.md#semi-stable-api). The tracepoints should not block refactors or changes to other internals. ACKs for top commit: jb55: tACK 76c60d7b31ccc50b226cdbc5e38be0bd67603408 laanwj: Tested ACK 76c60d7b31ccc50b226cdbc5e38be0bd67603408 Tree-SHA512: 9a63d945c68102e59d751bd8d2805ddd7b37185408fa831d28a9cb6641b701961389b55f216c475df7d4771154e735625067ee957fc74f454ad7a7921255364c
2022-04-06Merge bitcoin/bitcoin#24753: ci: Add clang-tidy taskfanquake
fab24f8c3540b6f1a128cb9d6812df6678472b8d ci: Add clang-tidy task (MarcoFalke) Pull request description: Fixes #24747 ACKs for top commit: fanquake: ACK fab24f8c3540b6f1a128cb9d6812df6678472b8d vincenzopalazzo: Code Review ACK https://github.com/bitcoin/bitcoin/pull/24753/commits/fab24f8c3540b6f1a128cb9d6812df6678472b8d Tree-SHA512: 87a5d67a23d540cea09925a6c186303c1249d4ca244b95940c5214860bf7a849fa12cc4fcf1bb9270b1004407124b3487902969d8ae9d2b14dae1fdfb57cc7e8
2022-04-06build: Do not define `PROVIDE_FUZZ_MAIN_FUNCTION` macro unconditionallyHennadii Stepanov
2022-04-05Merge bitcoin/bitcoin#24391: build: stop overriding user autoconf flagsfanquake
7b00595d335915dc2bf856e3569115996381a402 build: stop overriding user CXXFLAGS (fanquake) 3e2ef23c3e838acbc2cba7d26a36a4c6008faa24 build: stop overriding user LDFLAGS (fanquake) 35c3fd43c3d5a1c7e1b32865ddc2b046ad448986 build: stop overriding user CPPFLAGS (fanquake) bc7cc576072703e4521844b949af5ce7d7e4722a doc: explain why we clear CXXFLAGS with enable-debug (fanquake) Pull request description: Historically our build system has hijacked `CXXFLAGS` and friends, and this has always been a source of complaints from users and developers. With this PR, we move away from using `CXXFLAGS`, `CPPFLAGS` and `LDFLAGS`, and instead use `CORE_*FLAGS` variables for our flags / options, leaving autoconfs `FLAG` vars to the user. Note that there are currently two cases where we will at least clear `CXXFLAGS` (if not alreaddy overridden by the user), when doing debugging or when coverage is enabled, to avoid Autoconfs `-g -O2` CXXFLAG default. ACKs for top commit: hebasto: ACK 7b00595d335915dc2bf856e3569115996381a402 Tree-SHA512: bda936a7aa8f98a1bf1552306845cb4bbab54e19a7a0b9ce3210e10fef70db146e9fe42a0cc8c50b2908506771b5b96f39c334e41323b70ec878e4010373096c
2022-04-04ci: Add clang-tidy taskMarcoFalke
2022-04-04Merge bitcoin/bitcoin#24558: build: explicitly disable Boost multi_index ↵MarcoFalke
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
2022-04-03build: stop overriding user CXXFLAGSfanquake
Let users have the final say in regards to CXXFLAGS.
2022-04-03build: stop overriding user LDFLAGSfanquake
Let the user have the final say in regards to LDFLAGS.
2022-04-03build: stop overriding user CPPFLAGSfanquake
Let the user have the final say in regards to CPPFLAGS
2022-04-02doc: explain why we clear CXXFLAGS with enable-debugfanquake
2022-04-02build: don't use Boost multi_index serializationfanquake
We don't use the serialilzation or archiving facilities of multi_index. So globally disable support, which gives a minor improvement in build time, i.e less preprocessing work. See: https://www.boost.org/doc/libs/1_78_0/libs/multi_index/doc/tutorial/creation.html
2022-04-01build: remove faketime unsetting and comments from configure.acfanquake
2022-03-30Merge bitcoin/bitcoin#24704: compat: remove strnlen back-compat codeMarcoFalke
d4ba2b2cbc3d1ef381fbdbae88cb5b18ca53f678 compat: remove strnlen back-compat code (fanquake) Pull request description: This was needed for mingw (not mingw-w64), and some older versions of macOS, which we no-longer support. ACKs for top commit: hebasto: ACK d4ba2b2cbc3d1ef381fbdbae88cb5b18ca53f678 Tree-SHA512: d1beb9df58464feea3076091361d7d46e4a8901e347644a5fa6f24e052ca24ee0c7c0dd3f2a3d682b0204bf50430fa89eac62121691ea08af6dcf6b907bdec87