Make profile name and for_host target available as environment variables #10387
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.
Motivation
I want to use custom profiles to create special targets like
coverage
orsanitized
. In a mixed Rust and C program this requires per profile control over the environment (CFLAGS
and more), but also over therustc
command line parameters. Using therustc-wrapper
andrustc-workspace-wrapper
this can be controlled very fine grained, but there is information missing:rustc
flags accordinglybuild.rs
andproc-macro
compilationsApproach
This PR makes the cargo profile name available as the environment variable
CARGO_PROFILE_NAME
. Thetarget.for_host()
is made available asCARGO_FOR_HOST
. This seems to be true for build scripts and false in other cases.Discussion
for_host
seems to be true for build scripts and false otherwise, but I am not sure if this is correctproc-macro
crates both variables are just not set