xref: /aosp_15_r20/external/cronet/build/README.md (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1# About
2`//build` contains:
3 * Core GN templates and configuration
4 * Core Python build scripts
5
6Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium,
7v8, etc), it should be kept as self-contained as possible by not referring
8to files outside of it. Some exceptions exist (`//testing`, select
9`//third_party` subdirectories), but new dependencies tend to break these other
10projects, and so should be avoided.
11
12Changes to `//build` should be landed in the Chromium repo. They will then be
13replicated to the stand-alone [build repo](https://chromium.googlesource.com/chromium/src/build)
14by the [gsubtreed tool.](https://chromium.googlesource.com/infra/infra/+/main/infra/services/gsubtreed)
15Note: You can find all directories already  available through gsubtreed in the
16[list of all chromium repos](https://chromium.googlesource.com/).
17
18## Contents
19 * `//build/config` - Common templates via `.gni` files.
20 * `//build/toolchain` - GN toolchain definitions.
21 * `Other .py files` - Some are used by GN/Ninja. Some by gclient hooks, some
22   are just random utilities.
23
24Files referenced by `//.gn`:
25 * `//build/BUILDCONFIG.gn` - Included by all `BUILD.gn` files.
26 * `//build/secondary` - An overlay for `BUILD.gn` files. Enables adding
27   `BUILD.gn` to directories that live in sub-repositories.
28 * `//build_overrides` -
29   Refer to [//build_overrides/README.md](../build_overrides/README.md).
30
31## Docs
32
33* [Writing GN Templates](docs/writing_gn_templates.md)
34* [Debugging Slow Builds](docs/debugging_slow_builds.md)
35* [Mac Hermetic Toolchains](docs/mac_hermetic_toolchain.md)
36* [Android Build Documentation](android/docs/README.md)
37