-
Notifications
You must be signed in to change notification settings - Fork 38.8k
build: Remove negated --enable-fuzz checks from build system #24291
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
Conversation
fa132bf to
fa738dc
Compare
|
Concept ACK. |
|
Concept ACK |
|
Concept ACK, however implementing the logic "don't require boost-test if fuzz enabled" directly feels somewhat contorted to me. Can't we, say, disable Edit: or, even better, get rid of that code entirely as in #24301 |
fa738dc to
fa4bd83
Compare
|
Thanks, I split up the |
5d399f9 build: remove native B2 package (fanquake) 2037a3b build: header-only Boost (fanquake) 39e66e9 build: use header-only Boost unit test (fanquake) Pull request description: This PR converts our Boost usage to header only. We switch from using our last remaining Boost lib (unit test), to using it's header-only implementation (see https://www.boost.org/doc/libs/1_78_0/libs/test/doc/html/boost_test/adv_scenarios/single_header_customizations/multiple_translation_units.html). Also related to #24291. Guix build: ```bash ``` ACKs for top commit: hebasto: re-ACK 5d399f9 MarcoFalke: approach ACK 5d399f9 📞 Tree-SHA512: e60835ee9c11aa941a64679616da2002d6cd86e464895372fafdd42ad6499d7eb1dde6f0013c60adaeb97bd191198430cb158a7a7417b38080dd7106b28e3ba5
|
Is this resolved post-#24301 ? |
fa4bd83 to
ab4b7e8
Compare
ab4b7e8 to
fa2c897
Compare
configure.ac
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i sometimes wonder if we can switch to actual logic instead of this hilarious ever growing nononononono concatenation
(outside scope of this PR obviously)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree. Maybe the build people can shed some light on this?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we used true/false instead of yes/no, we could just do
if $build_bitcoin_cli || $build_bitcoind || $bitcoin_enable_qt || $enable_fuzz_binary || $use_tests || $use_bench; thenOr even if we just add a:
yes() { true; } no() { false; }somewhere...
|
Code review ACK fa2c8979e8114a2b6b57a547e97e61bac8cfaa75 |
theStack
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
configure.ac
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems to be a typo
| if test "$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$enable_fuzz_binary$use_tests$use_bench" != "nonnoononono"; then | |
| if test "$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$enable_fuzz_binary$use_tests$use_bench" != "nononononono"; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So the construction is not only absurd but also error-prone and hard to review, as proven here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any way to fix this? Switching to cmake, maybe? @fanquake
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If only boolean logic was invented in this timeline !
fa2c897 to
fa4feab
Compare
|
Thanks, fixed nonono typo. Should be trivial to re-ACK with |
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
fa4feab to
fad3d75
Compare
fad3d75 to
fa231f8
Compare
|
Code review ACK fa231f8ffc7337b61b6b6ee8eccbbb1a0ca32b4c |
fa231f8 to
fa7cbc6
Compare
|
Code review re-ACK fa7cbc6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I currently get autogen.sh warnings on master, which I backtraced to this PR:
src/Makefile.bench.include:97: warning: %.raw.h was already defined in condition TRUE, which includes condition ENABLE_BENCH ...
src/Makefile.am:1059: 'src/Makefile.bench.include' included from here
src/Makefile.test.include:420: ... '%.raw.h' previously defined here
src/Makefile.am:1056: 'src/Makefile.test.include' included from here
[Edit] Oh, there is already an issue for this, #25501.

It is confusing to enable the unit test binary with
ENABLE_TESTS && !ENABLE_FUZZ, but every other binary is enabled with a simple flag. For exampleENABLE_BENCH, orENABLE_FUZZ_BINARY.Fix that by turning
ENABLE_TESTSback into meaning "enable unit test binary".