x.py 默认配置变更

2020 年 8 月 30 日 · Jynn Nelson 代表编译器团队发布

最近,用于从源代码自举构建 Rust 编译器的工具 x.py 的默认配置发生了变化。如果您经常为 Rust 贡献代码,这可能会影响您的工作流程。

做了哪些变更?

  • 默认阶段现在取决于子命令

    • dist: 阶段 2
    • build: 阶段 1
    • test: 阶段 1
    • doc: 阶段 0
  • x.py build --stage 1 不再构建 阶段 1 的 rustc 产物。要恢复旧的行为,请使用 x.py build --stage 1 src/rustcbuild --stage 1 的新行为是构建除 rustc 之外的所有内容,包括标准库、rustdoc 以及其他各种工具(如果已启用工具)。

  • debug = true 时,debuginfo 现在默认为 1。之前默认值为 2。

为什么进行这些变更?

之前,x.py build 会构建两次 rustc

  1. build/stage0-std
  2. build/stage0-rustc
  3. build/stage1-std
  4. build/stage1-rustc

通常,贡献者只需要构建一次编译器,这样他们就可以快速测试自己的变更。进行此变更后,这成为了默认行为

  1. build/stage0-std
  2. build/stage0-rustc
  3. build/stage1-std

debuginfo = 2 会生成几 GB 的调试信息,这使得之前 debug = true 的默认设置非常麻烦。

有关变更的详细理由以及考虑过的替代方案的更多信息,请参阅