
Seems to shaves about 100ms off of "gn gen" for me locally, although GN runtimes have pretty high variance, so it might even be less than that. gn gen --time shows these as: Script execute times: (total time in ms, # executions, name) 824.36 6 //tools/clang/scripts/update.py 807.49 6 //tools/rust/update_rust.py Bug: 397998718 Change-Id: Ic99b459c958bced9b97c4d81e34a65d1b64a808b Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6488528 Commit-Queue: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/main@{#1452750}
About
//build
contains:
- Core GN templates and configuration
- Core Python build scripts
Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium,
v8, etc), it should be kept as self-contained as possible by not referring
to files outside of it. Some exceptions exist (//testing
, select
//third_party
subdirectories), but new dependencies tend to break these other
projects, and so should be avoided.
Changes to //build
should be landed in the Chromium repo. They will then be
replicated to the stand-alone build repo
by the gsubtreed tool.
Note: You can find all directories already available through gsubtreed in the
list of all chromium repos.
Contents
//build/config
- Common templates via.gni
files.//build/toolchain
- GN toolchain definitions.Other .py files
- Some are used by GN/Ninja. Some by gclient hooks, some are just random utilities.
Files referenced by //.gn
:
//build/BUILDCONFIG.gn
- Included by allBUILD.gn
files.//build/secondary
- An overlay forBUILD.gn
files. Enables addingBUILD.gn
to directories that live in sub-repositories.//build_overrides
- Refer to //build_overrides/README.md.