tests: stop Meson picking up a compiler launcher - #40
Merged
Merged
Conversation
Taking the launcher directories off PATH fixed Make and CMake, which resolve cc through PATH, but not Meson: it looks for a ccache binary of its own accord and writes `/usr/bin/ccache cc` into build.ninja. Meson leaves the compiler alone once it is told which one to use, so name it.
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.
mainis still red: #39 fixed Make and CMake, which resolveccthroughPATH, but notmeson-ninja.Meson does not take whatever is in front of the compiler on
PATH. It goeslooking for a
ccachebinary itself, finds/usr/bin/ccache, and writes/usr/bin/ccache ccintobuild.ninja, so no amount ofPATHfilteringhelps. It does leave the compiler alone when it is told which one to use, so
the fixture now names it.
The fixture also has to apply to the whole test rather than the recording
alone, since CMake and Meson resolve the compiler when they configure, which
happens before recording starts, and write the result into their build files.
Verified on Linux with ccache installed and
/usr/lib64/ccachefirst onPATH, which is the CI condition:meson-ninjaandcmake-ninjano longermention ccache at all, and the suite is 43 passed, 2 skipped. The two are
deselected there only because that machine's gcc drives
asthroughsh,which is a pre-existing difference on Fedora and not seen on Ubuntu.