Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmake: Regular rebasing of the cmake-staging branch #220

Closed
wants to merge 102 commits into from

Conversation

hebasto
Copy link
Owner

@hebasto hebasto commented Jun 4, 2024

This is the cmake-staging branch rebased on the recent bitcoin/master one, which includes the main build system changes, with the squashed "!fixup" commits.

Steps to reproduce:

  1. Run the command as follows:
git checkout 0e6def08d010a971e8ebf9fcd2f83b5bbaba86fe
git rebase -i --autosquash 9efc2af3be5817972d9899893c343fc4deab7df5

There are a few conflicts that have to be resolved.

  1. Squash the commits, which renamed build options, manually (it must be a zero-diff change).

  2. Reorder the recent commits to pop up the docs and CI changes (it must be a zero-diff change).

  3. Port build system changes from:

hebasto and others added 30 commits June 4, 2024 11:52
Also add a sanity check for non-encapsulated (directory-wide) build
properties.
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Co-authored-by: Cory Fields <cory-nospam-@coryfields.com>
If any of {C,CXX,CPP,LD}FLAGS is specified it should be assigned to
a non-type-specific variable.
To configure CMake for cross-compiling, use
`--toolchain depends/${HOST}/toolchain.cmake` command-line option.
@hebasto
Copy link
Owner Author

hebasto commented Jun 4, 2024

For the master branch CI, please refer to bitcoin#29790 (comment):

@hebasto
Copy link
Owner Author

hebasto commented Jun 4, 2024

My Guix build:

x86_64
ce4c09a88313f99c30cfb6a3015cd3911d7cecd95d081f18dc274138eb561489  guix-build-597da8336d19/output/aarch64-linux-gnu/SHA256SUMS.part
0ab20eea9dc674ebdc4d494aa9f280cc4fb13afae3268ad3d3229068476aadfd  guix-build-597da8336d19/output/aarch64-linux-gnu/bitcoin-597da8336d19-aarch64-linux-gnu-debug.tar.gz
b5797838078d6e53f4416dd21b63ba1b7ac0ae8955faa98806ff591ef3827230  guix-build-597da8336d19/output/aarch64-linux-gnu/bitcoin-597da8336d19-aarch64-linux-gnu.tar.gz
69643121ac26d4d57dcde519b6fec5e423fd9fe856cccbc92a36d14b8e2fe336  guix-build-597da8336d19/output/arm-linux-gnueabihf/SHA256SUMS.part
9f05ffc41b93b19ead38d012432c3a17c51fd88c81d4264ad8b991f464ddeade  guix-build-597da8336d19/output/arm-linux-gnueabihf/bitcoin-597da8336d19-arm-linux-gnueabihf-debug.tar.gz
00c7e84ba34d0f83754e7a6d29a13e7155de9a32152e3e7a23b3627506d1d643  guix-build-597da8336d19/output/arm-linux-gnueabihf/bitcoin-597da8336d19-arm-linux-gnueabihf.tar.gz
60a7f969af7f1162f775b78d0f4669d19dd764431f93daec74221b2a1c3e3a54  guix-build-597da8336d19/output/arm64-apple-darwin/SHA256SUMS.part
5612ff259807f653bab66cd70e0bbcafd300dc7eb567bb108f22e5b321c6a350  guix-build-597da8336d19/output/arm64-apple-darwin/bitcoin-597da8336d19-arm64-apple-darwin-unsigned.tar.gz
091aeadc4c747fc7ced171ce0d0025257654d64194ee224370539d7194adf8dd  guix-build-597da8336d19/output/arm64-apple-darwin/bitcoin-597da8336d19-arm64-apple-darwin-unsigned.zip
3ee588b1c8c450374e57e09f44a00d8409fbcb0319cabee30901d18911a4bb42  guix-build-597da8336d19/output/arm64-apple-darwin/bitcoin-597da8336d19-arm64-apple-darwin.tar.gz
7f0bbcc79ad67b583bfbc0ca7b940aec88570f0fb7b5560c4a43d8a74ad7d0be  guix-build-597da8336d19/output/dist-archive/bitcoin-597da8336d19.tar.gz
a52e598ad949aefbdcaa1b3ed29b22422ac1d69753030c52bfc57d46e82bc756  guix-build-597da8336d19/output/powerpc64-linux-gnu/SHA256SUMS.part
090b848c1315b385458227b86946b73754833253609f1ad942c9106bae7dca52  guix-build-597da8336d19/output/powerpc64-linux-gnu/bitcoin-597da8336d19-powerpc64-linux-gnu-debug.tar.gz
1ab96e6c13661d7df87deb93f33333583c2be37d890814333389081b09e88682  guix-build-597da8336d19/output/powerpc64-linux-gnu/bitcoin-597da8336d19-powerpc64-linux-gnu.tar.gz
5992cff7dec390085ccfc2f7b1e044ea41213b6e810aae793e1daecb52eeb8e6  guix-build-597da8336d19/output/riscv64-linux-gnu/SHA256SUMS.part
6c217255e471eae8e5c016cceebaf33fdef97ad5bbfd5e3c04ecad94362340d3  guix-build-597da8336d19/output/riscv64-linux-gnu/bitcoin-597da8336d19-riscv64-linux-gnu-debug.tar.gz
e72595b3e941801c0ac1b1b34bf464a289012ed64f085d8866fbdc6a008004bc  guix-build-597da8336d19/output/riscv64-linux-gnu/bitcoin-597da8336d19-riscv64-linux-gnu.tar.gz
d1fcad809f65a8baaf6f9b986b1e63b334caa90ce1a2f141e67990c99b74b9bc  guix-build-597da8336d19/output/x86_64-apple-darwin/SHA256SUMS.part
2939cbcb8509d7999a09f01388669f3cdca8be4fbdc9c4676601d965cdbe8748  guix-build-597da8336d19/output/x86_64-apple-darwin/bitcoin-597da8336d19-x86_64-apple-darwin-unsigned.tar.gz
8b42ddef549eebfb6cc68cc4bb4acb6aed1b3467483185d014c34cfdfcd58f51  guix-build-597da8336d19/output/x86_64-apple-darwin/bitcoin-597da8336d19-x86_64-apple-darwin-unsigned.zip
315cf4ef6ae511bf753999a8a8b55a3615ba83c205d8889265a41c8b04febacc  guix-build-597da8336d19/output/x86_64-apple-darwin/bitcoin-597da8336d19-x86_64-apple-darwin.tar.gz
255af46dd997dad3d3e28bfccfddaa80b4189dbd989178582c6407cb90c3c01a  guix-build-597da8336d19/output/x86_64-linux-gnu/SHA256SUMS.part
af0c747fa8f5dfa58cf9aa6bc921fea1625bfa92b7e150d37c5e07186ae06ecd  guix-build-597da8336d19/output/x86_64-linux-gnu/bitcoin-597da8336d19-x86_64-linux-gnu-debug.tar.gz
2e03a377f7d597e4105626e55a806b1704790cdfc82058d0774c640c6931a2ff  guix-build-597da8336d19/output/x86_64-linux-gnu/bitcoin-597da8336d19-x86_64-linux-gnu.tar.gz
93ebd99ffc0d37fc4f9f5031d08ebc0504bc90e235dcb0b815ba0d12ecb23891  guix-build-597da8336d19/output/x86_64-w64-mingw32/SHA256SUMS.part
9d7ec48cc17127b4f5ca4c23cbe2cf2792e18344777ae4274519d72d40f15b2d  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64-debug.zip
0f11a0d7a46ffe6f3a4f134d2f185c6fded74ae78ea94aef4dc178c95338bc63  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64-setup-unsigned.exe
bf5dd57209088069ed90a4e7f30b24d766c1323a1c9fe17f521e762c02ebbe83  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64-unsigned.tar.gz
2253c68d644efb5fa5693242ef7525f526d792b689a6de43bccf79e3e5abaaf3  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64.zip

@m3dwards
Copy link

m3dwards commented Jun 5, 2024

LGTM

Found this one a bit of a handful to rebase, I got close (1 line off) and the remaining diff I see should be removed in the staging branch so it looks good to me. Will follow up with guix build.

DebainBuild ➜  bitcoin git:(6fe6ec681f) git --no-pager diff hebasto/240604-linear
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7f032d1f39..bee4d69637 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -104,6 +104,7 @@ if(WITH_BDB)
 endif()
 cmake_dependent_option(BUILD_WALLET_TOOL "Build bitcoin-wallet tool." ${BUILD_TESTS} "ENABLE_WALLET" OFF)

+option(ENABLE_THREADLOCAL "Enable features that depend on the C++ thread_local keyword (currently just thread names in debug logs)." ON)
 option(ENABLE_HARDENING "Attempt to harden the resulting executables." ON)
 option(REDUCE_EXPORTS "Attempt to reduce exported symbols in the resulting executables." OFF)
 option(WERROR "Treat compiler warnings as errors." OFF)

DebainBuild ➜  bitcoin git:(6fe6ec681f)

@hebasto
Copy link
Owner Author

hebasto commented Jun 5, 2024

@m3dwards

Thank you for your review!


This branch has been force pushed into the https://github.com/hebasto/bitcoin/tree/cmake-staging.

Closing.

@hebasto hebasto closed this Jun 5, 2024
@m3dwards
Copy link

m3dwards commented Jun 5, 2024

Post close Guix build:

ce4c09a88313f99c30cfb6a3015cd3911d7cecd95d081f18dc274138eb561489  guix-build-597da8336d19/output/aarch64-linux-gnu/SHA256SUMS.part
0ab20eea9dc674ebdc4d494aa9f280cc4fb13afae3268ad3d3229068476aadfd  guix-build-597da8336d19/output/aarch64-linux-gnu/bitcoin-597da8336d19-aarch64-linux-gnu-debug.tar.gz
b5797838078d6e53f4416dd21b63ba1b7ac0ae8955faa98806ff591ef3827230  guix-build-597da8336d19/output/aarch64-linux-gnu/bitcoin-597da8336d19-aarch64-linux-gnu.tar.gz
69643121ac26d4d57dcde519b6fec5e423fd9fe856cccbc92a36d14b8e2fe336  guix-build-597da8336d19/output/arm-linux-gnueabihf/SHA256SUMS.part
9f05ffc41b93b19ead38d012432c3a17c51fd88c81d4264ad8b991f464ddeade  guix-build-597da8336d19/output/arm-linux-gnueabihf/bitcoin-597da8336d19-arm-linux-gnueabihf-debug.tar.gz
00c7e84ba34d0f83754e7a6d29a13e7155de9a32152e3e7a23b3627506d1d643  guix-build-597da8336d19/output/arm-linux-gnueabihf/bitcoin-597da8336d19-arm-linux-gnueabihf.tar.gz
60a7f969af7f1162f775b78d0f4669d19dd764431f93daec74221b2a1c3e3a54  guix-build-597da8336d19/output/arm64-apple-darwin/SHA256SUMS.part
5612ff259807f653bab66cd70e0bbcafd300dc7eb567bb108f22e5b321c6a350  guix-build-597da8336d19/output/arm64-apple-darwin/bitcoin-597da8336d19-arm64-apple-darwin-unsigned.tar.gz
091aeadc4c747fc7ced171ce0d0025257654d64194ee224370539d7194adf8dd  guix-build-597da8336d19/output/arm64-apple-darwin/bitcoin-597da8336d19-arm64-apple-darwin-unsigned.zip
3ee588b1c8c450374e57e09f44a00d8409fbcb0319cabee30901d18911a4bb42  guix-build-597da8336d19/output/arm64-apple-darwin/bitcoin-597da8336d19-arm64-apple-darwin.tar.gz
7f0bbcc79ad67b583bfbc0ca7b940aec88570f0fb7b5560c4a43d8a74ad7d0be  guix-build-597da8336d19/output/dist-archive/bitcoin-597da8336d19.tar.gz
a52e598ad949aefbdcaa1b3ed29b22422ac1d69753030c52bfc57d46e82bc756  guix-build-597da8336d19/output/powerpc64-linux-gnu/SHA256SUMS.part
090b848c1315b385458227b86946b73754833253609f1ad942c9106bae7dca52  guix-build-597da8336d19/output/powerpc64-linux-gnu/bitcoin-597da8336d19-powerpc64-linux-gnu-debug.tar.gz
1ab96e6c13661d7df87deb93f33333583c2be37d890814333389081b09e88682  guix-build-597da8336d19/output/powerpc64-linux-gnu/bitcoin-597da8336d19-powerpc64-linux-gnu.tar.gz
5992cff7dec390085ccfc2f7b1e044ea41213b6e810aae793e1daecb52eeb8e6  guix-build-597da8336d19/output/riscv64-linux-gnu/SHA256SUMS.part
6c217255e471eae8e5c016cceebaf33fdef97ad5bbfd5e3c04ecad94362340d3  guix-build-597da8336d19/output/riscv64-linux-gnu/bitcoin-597da8336d19-riscv64-linux-gnu-debug.tar.gz
e72595b3e941801c0ac1b1b34bf464a289012ed64f085d8866fbdc6a008004bc  guix-build-597da8336d19/output/riscv64-linux-gnu/bitcoin-597da8336d19-riscv64-linux-gnu.tar.gz
d1fcad809f65a8baaf6f9b986b1e63b334caa90ce1a2f141e67990c99b74b9bc  guix-build-597da8336d19/output/x86_64-apple-darwin/SHA256SUMS.part
2939cbcb8509d7999a09f01388669f3cdca8be4fbdc9c4676601d965cdbe8748  guix-build-597da8336d19/output/x86_64-apple-darwin/bitcoin-597da8336d19-x86_64-apple-darwin-unsigned.tar.gz
8b42ddef549eebfb6cc68cc4bb4acb6aed1b3467483185d014c34cfdfcd58f51  guix-build-597da8336d19/output/x86_64-apple-darwin/bitcoin-597da8336d19-x86_64-apple-darwin-unsigned.zip
315cf4ef6ae511bf753999a8a8b55a3615ba83c205d8889265a41c8b04febacc  guix-build-597da8336d19/output/x86_64-apple-darwin/bitcoin-597da8336d19-x86_64-apple-darwin.tar.gz
255af46dd997dad3d3e28bfccfddaa80b4189dbd989178582c6407cb90c3c01a  guix-build-597da8336d19/output/x86_64-linux-gnu/SHA256SUMS.part
af0c747fa8f5dfa58cf9aa6bc921fea1625bfa92b7e150d37c5e07186ae06ecd  guix-build-597da8336d19/output/x86_64-linux-gnu/bitcoin-597da8336d19-x86_64-linux-gnu-debug.tar.gz
2e03a377f7d597e4105626e55a806b1704790cdfc82058d0774c640c6931a2ff  guix-build-597da8336d19/output/x86_64-linux-gnu/bitcoin-597da8336d19-x86_64-linux-gnu.tar.gz
93ebd99ffc0d37fc4f9f5031d08ebc0504bc90e235dcb0b815ba0d12ecb23891  guix-build-597da8336d19/output/x86_64-w64-mingw32/SHA256SUMS.part
9d7ec48cc17127b4f5ca4c23cbe2cf2792e18344777ae4274519d72d40f15b2d  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64-debug.zip
0f11a0d7a46ffe6f3a4f134d2f185c6fded74ae78ea94aef4dc178c95338bc63  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64-setup-unsigned.exe
bf5dd57209088069ed90a4e7f30b24d766c1323a1c9fe17f521e762c02ebbe83  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64-unsigned.tar.gz
2253c68d644efb5fa5693242ef7525f526d792b689a6de43bccf79e3e5abaaf3  guix-build-597da8336d19/output/x86_64-w64-mingw32/bitcoin-597da8336d19-win64.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants