meson: always build the zstd binary when tests are enabled#3490
Merged
Cyan4973 merged 2 commits intofacebook:devfrom Feb 16, 2023
Merged
meson: always build the zstd binary when tests are enabled#3490Cyan4973 merged 2 commits intofacebook:devfrom
Cyan4973 merged 2 commits intofacebook:devfrom
Conversation
It depends on the zstd program being built, and passes it as an env variable. Just like datagen. But for datagen, we explicitly depend on it, while for zstd, we assume it's built as part of "all". This can be wrong in two cases: - when running individual tests, meson can (re)build just what is needed for that one test - a later patch will handle building zstd but not by default
We need to run it for the tests, even if programs are disabled. So if they are disabled, create a build rule for the program, but don't install it. Just make it available for the test itself.
d004414 to
97ab0e2
Compare
gentoo-bot
pushed a commit
to gentoo/gentoo
that referenced
this pull request
Feb 10, 2023
Thanks to Eli Schwartz for getting things to the point where we could do this (a Meson bug fix [0] for the native override for find_program and a zstd change [1] for letting us build tests but not install programs for multilib). [0] mesonbuild/meson#11372 [1] facebook/zstd#3490 Signed-off-by: Sam James <[email protected]>
Cyan4973
approved these changes
Feb 10, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
We need to run it for the tests, even if programs are disabled. So if they are disabled, create a build rule for the program, but don't install it. Just make it available for the test itself.
/cc @thesamesam
This allows zstd to build with
-Dbin_programs=false -Dbin_tests=true, which is useful when you want to build a multilib library for libzstd, but not programs... and yet you also want to test that library.