定制目标

如果你想为一个 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 是任何字符串),它会使用以下逻辑

  1. 如果 TARGET 是内置目标的名称,使用该目标
  2. 如果 TARGET 是一个文件路径,将该文件作为 json 目标读取
  3. 否则,从左到右在 RUST_TARGET_PATH 环境变量中找到的由冒号分隔的目录列表中搜索名为 TARGET.json 的文件。

这些步骤按顺序尝试,因此,如果一个目标有多种潜在有效的解释,则首先找到的那个将优先。如果这些方法都没有找到目标,则会抛出错误。