定制目标
如果你想为一个 rustc 尚未支持的目标进行构建,你可以使用“定制目标规范”来定义一个目标。这些目标规范文件是 JSON 格式的。要查看主机目标的 JSON,你可以运行
rustc +nightly -Z unstable-options --print target-spec-json
要查看不同目标的 JSON,添加 --target 标志
rustc +nightly -Z unstable-options --target=wasm32-unknown-unknown --print target-spec-json
要使用定制目标,请参阅 cargo 的(不稳定)build-std 特性。
定制目标查找路径
当为 rustc 提供选项 --target=TARGET 时(其中 TARGET 是任何字符串),它会使用以下逻辑
- 如果
TARGET是内置目标的名称,使用该目标 - 如果
TARGET是一个文件路径,将该文件作为 json 目标读取 - 否则,从左到右在
RUST_TARGET_PATH环境变量中找到的由冒号分隔的目录列表中搜索名为TARGET.json的文件。
这些步骤按顺序尝试,因此,如果一个目标有多种潜在有效的解释,则首先找到的那个将优先。如果这些方法都没有找到目标,则会抛出错误。