another take on guessing BOOST_TOOLSET #694
Open
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.
Follow-up to #692. I was still getting basename errors from
mason install boost ...
andmason link boost ...
. The culprit was that I didn't set CC and CXX, and so basename complained about missing operand. install/link action finished successfully despite the errors. I think it's ok for the toolset variables to remain empty if CC/CXX are empty, and not complain about it right at the start, when it's not known whether they'll be needed.This PR actually fixes #515, the previous one didn't.
Below is the commit message:
Function guess_compiler_name prints the "basename" of its first argument
(or second argument if the first is ccache).
Passing non-quoted $CXX takes care of word splitting.
The "basename" is extracted with simple shell parameter expansion.
It differs from how POSIX basename command works, but in good ways:
POSIX leaves unspecified whether the resulting string is '.' or ''.
Parameter expansion just works, with basename command we would need to
check that the compiler variable is set and non-null.