summaryrefslogtreecommitdiffstats
path: root/tools/mb/README.md
diff options
context:
space:
mode:
authordpranke <dpranke@chromium.org>2015-04-08 09:20:35 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-08 16:21:17 +0000
commitfe4602310d2a93867c24dbd28447a26fb991540f (patch)
tree9cde6167a80e2c273771161936eae995c3ea473f /tools/mb/README.md
parent56312cdf58df182ce892e333c99c54090edd8593 (diff)
downloadchromium_src-fe4602310d2a93867c24dbd28447a26fb991540f.zip
chromium_src-fe4602310d2a93867c24dbd28447a26fb991540f.tar.gz
chromium_src-fe4602310d2a93867c24dbd28447a26fb991540f.tar.bz2
Implement mb - a meta-build wrapper for bots to use in the GYP->GN migration.
This CL implements a new tool called mb (//tools/mb) that wraps both GYP and GN to implement the 'gen' and 'analyze' steps on the bots. It serves three purposes: 1. To move the decision to use GYP or GN to generate the build files to a configuration stored in the repo (and to hide it from the bots). 2. To move which flags are used to a configuration stored in the repo, so that we can version the flags alongside the code, and change the flags without needing to change things in the build repo. 3. To consolidate a list of all of the different build configs we need to support and verify for the GYP->GN migration. For more details on the above, see //tools/md/README.md and the linked docs. R=scottmg@chromium.org, brettw@chromium.org BUG=466436 Review URL: https://codereview.chromium.org/1062613004 Cr-Commit-Position: refs/heads/master@{#324231}
Diffstat (limited to 'tools/mb/README.md')
-rw-r--r--tools/mb/README.md22
1 files changed, 22 insertions, 0 deletions
diff --git a/tools/mb/README.md b/tools/mb/README.md
new file mode 100644
index 0000000..beba946
--- /dev/null
+++ b/tools/mb/README.md
@@ -0,0 +1,22 @@
+# MB - The Meta-Build wrapper
+
+MB is a simple wrapper intended 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 is meant to use GN or GYP.
+
+It supports two main functions:
+
+1. "gen" - the main `gyp_chromium` / `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)