utils: add check_binary_linkage function #19116
Open
+68
−0
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.
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?This PR adds
Utils::check_binary_linkage
, which is a helper-function that is already used in some (primarily Rust-based) formulae.The function is more or less copied verbatim, except types are loosened to accept
String
orPathname
. An optionalprefix
parameter can also be set to change the filtering behavior - this flag really only exists because we have to tweak the filtering behavior a bit in the test. Maybe we can just not do any filtering and that'll be fine - but for now I've kept it as close to the original as possible.Open to suggestions all around, but I'm a bit extra miffed about:
utils
that seemed like a good place, so I created a new one.prefix
in invocations toUtils::check_binary_linkage
because in the test environment,HOMEBREW_CELLAR
is a sibling toHOMEBREW_PREFIX
, not a child, so filtering onHOMEBREW_PREFIX
will exclude all the libraries inHOMEBREW_CELLAR
, unlike in a real Homebrew installation where the cellar is inHOMEBREW_PREFIX/"Cellar"
.