about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-07-28 08:57:18 +0200
committerGitHub <noreply@github.com>2024-07-28 08:57:18 +0200
commitb801fab0034cd81072825a55213ab76c62e4857e (patch)
tree03ae0ec6432f8479b27a184df8f7186ed8e0b716
parent32f6534c91dbff69ab5db77b3dd033a26fd7f1b6 (diff)
parent5eea6d75426badb7ce4a365ad7ea0cad88e0bdb0 (diff)
downloadrust-b801fab0034cd81072825a55213ab76c62e4857e.tar.gz
rust-b801fab0034cd81072825a55213ab76c62e4857e.zip
Rollup merge of #128285 - lolbinarycat:rustc-custom-targets, r=jieyouxu
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
-rw-r--r--src/doc/rustc/src/targets/custom.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/doc/rustc/src/targets/custom.md b/src/doc/rustc/src/targets/custom.md
index a67cb10fc75..a332d24c9f1 100644
--- a/src/doc/rustc/src/targets/custom.md
+++ b/src/doc/rustc/src/targets/custom.md
@@ -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.