Allow cross-compiling outside of build.rs
#242
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.
Reliance on
CARGO_CFG_TARGET_OS
/CARGO_CFG_TARGET_ARCH
was introduced in #158, but these are not available when outsidebuild.rs
scripts. Instead, we should try to determineCMAKE_SYSTEM_NAME
andCMAKE_SYSTEM_PROCESSOR
based on the target triple.In
cc-rs
, we do this by parsing the target triple, though I suspect that to be overkill forcmake-rs
' purposes, so I've tried to keep it simpler.It's doable for
CMAKE_SYSTEM_NAME
but kinda difficult forCMAKE_SYSTEM_PROCESSOR
, because the values expected that aren't really documented, so it's hard to know if we emit it correctly? In any case, I've written it in a way that the user can overrideCMAKE_SYSTEM_PROCESSOR
if necessary.Fixes #228.
bootstrap
currently has to work around this in rust-lang/rust#138784.