C++ をビルドしたり任意のアクションを実行したりするビルドスクリプト

一部の crate は、C/C++ ライブラリをビルドしてリンクするために cc crate を使用します。ほかの crate は、ビルドスクリプト内で bindgen を使用して C/C++ を解析します。これらのアクションは Chromium のコンテキストではサポートできません — Chromium の gn、ninja、LLVM ビルドシステムでは、ビルドアクション間の関係を表現する方法が非常に厳密に定められているためです。

したがって、選択肢は次のとおりです。

  • これらの crate を避ける
  • crate にパッチを適用する

パッチは third_party/rust/chromium_crates_io/patches/<crate> に置く必要があります。例として cxx crate に対するパッチ を参照してください。これらのパッチは、gnrt が crate をアップグレードするたびに自動的に適用されます。