summaryrefslogtreecommitdiff
path: root/chromium/tools/mb/README.md
blob: 6483f0e31524c616dc22f2313aff8ac0c084146a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# MB - The Meta-Build wrapper

MB is a simple wrapper around the GN build tool.

It was originally written as part of the GYP->GN migration, in order to
provide a uniform interface to either GYP or GN, such that users and bots
can call one script and not need to worry about whether a given bot was
meant to use GN or GYP.

It eventually grew additional functionality and is now still used even
though everything is GN-only.

It supports two main functions:

1. "gen" - the main `gn gen` invocation that generates the Ninja files
   needed for the build.

2. "analyze" - the step that takes a list of modified files and a list of
   desired targets and reports which targets will need to be rebuilt.

We also use MB as a forcing function to collect all of the different 
build configurations that we actually support for Chromium builds into
one place, in `//tools/mb/mb_config.pyl`.

For more information, see:

* [The User Guide](docs/user_guide.md)
* [The Design Spec](docs/design_spec.md)