Skip to content

Commit

Permalink
Rollup merge of #128285 - lolbinarycat:rustc-custom-targets, r=jieyouxu
Browse files Browse the repository at this point in the history
rustc book: document how the RUST_TARGET_PATH variable is used

based on the module comment in
rust/compiler/rustc_target/src/spec/mod.rs

Fixes #128280
  • Loading branch information
matthiaskrgr authored Jul 28, 2024
2 parents 6644c87 + 5eea6d7 commit 0b4d21b
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/doc/rustc/src/targets/custom.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,16 @@ rustc +nightly -Z unstable-options --target=wasm32-unknown-unknown --print targe
```

To use a custom target, see the (unstable) [`build-std` feature](../../cargo/reference/unstable.html#build-std) of `cargo`.

## Custom Target Lookup Path

When `rustc` is given an option `--target=TARGET` (where `TARGET` is any string), it uses the following logic:
1. if `TARGET` is the name of a built-in target, use that
2. if `TARGET` is a path to a file, read that file as a json target
3. otherwise, search the colon-seperated list of directories found
in the `RUST_TARGET_PATH` environment variable from left to right
for a file named `TARGET.json`.

These steps are tried in order, so if there are multple potentially valid
interpretations for a target, whichever is found first will take priority.
If none of these methods find a target, an error is thrown.

0 comments on commit 0b4d21b

Please sign in to comment.