8.4 生成 `gn` 构建规则

04-生成 gn 构建规则 — Comprehensive Rust

译文 · 基于 Comprehensive Rust

原文链接: https://google.github.io/comprehensive-rust/chromium/adding-third-party-crates/generating-gn-build-rules.html

8.4 生成 gn 构建规则

下载 crate 后,像这样生成 BUILD.gn 文件:

1
vpython3 tools/crates/run_gnrt.py -- gen

现在运行 git status。你应会发现:

  • 在 third_party/rust/chromium_crates_io/vendor 中至少有一个新的 crate 源码
  • 在 third_party/rust/<crate name>/v<major semver version> 中至少有一个新的 BUILD.gn
  • 一个合适的 README.chromium

“major semver version” 是一个 Rust “semver” 版本号。

仔细查看,尤其是 third_party/rust 中生成的内容。

稍微讲一下 semver——具体来说,在 Chromium 中它是为了允许多个不兼容版本的 crate,这在 Cargo 生态中不鼓励但有时必要。

最后修改 August 11, 2026: 更新 (70a5af133)