Add target="host"
meaning the current host
#13051
Labels
A-configuration
Area: cargo config files and env vars
A-cross-compiling
Area: using --target flag for other platforms
C-feature-request
Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`
S-needs-design
Status: Needs someone to work further on the design for the feature or fix. NOT YET accepted.
Problem
Cargo defaults to compiling for the host's target triple, which is appropriate for most cases, particularly because this is the only (default) way to build tests that can be run. However, once the
target
has been overridden by configuration, there is no way to explicitly request on the command line that it be the host.Proposed Solution
Wherever a target triple is accepted, accept the special string
host
as an alias for the host platform's target triple.Notes
Use cases:
no_std
, or is concerned with other platform limitations such as pointer width and atomics, could have an accompanying configuration file which automatically builds for the host, for testing, and another target, as a compatibility check; e.g.build.target = ["host", "thumbv7em-none-eabihf"]
.cargo test --target=host
to run some platform-independent tests in a package otherwise devoted to being cross-compiled (such that itsconfig.toml
has atarget
specified to enable IDE support and better default behaviors).--target=host
will not be identical to the behavior with no options specified, due to the behavior differences triggered by using--target
at all. This feature will introduce a way to trigger that intentionally without also needing to specify a particular target. This could be considered an alternative totarget-applies-to-host = false
, but specifically does not introduce any new semantics that are not currently obtainable by--target=<whatever the host triple is>
.The text was updated successfully, but these errors were encountered: