Build Scripts Which Generate Code

If ninja complains about missing files, check the build.rs to see if it writes source code files.

If so, modify gnrt_config.toml to add build-script-outputs to the crate. If this is a transitive dependency, that is, one on which Chromium code should not directly depend, also add allow-first-party-usage=false. There are several examples already in that file:

  1. [crate.unicode-linebreak]
  2. allow-first-party-usage = false
  3. build-script-outputs = ["tables.rs"]

Now rerun gnrt.py — gen to regenerate BUILD.gn files to inform ninja that this particular output file is input to subsequent build steps.