webrtc_m130/tools/mb/README.md
kjellander a013a02e01 MB: Copy MB from Chromium repo
Essentially a copy of https://codereview.chromium.org/2299953002/
plus changes to WebRTC's license, changed OWNERS and additional
MB updates up to Chromium revision http://crrev.com/f1e2718a3ff.

The PRESUBMIT.py check was updated to use the existing
webrtc/build/mb_config.pyl to avoid breaking bots (that have
this path hardcoded).

This replaces the previously symlinked MB, which already
runs validation of the WebRTC configs as part of
webrtc/build/PRESUBMIT.py.

BUG=chromium:664425
NOTRY=True
TESTED=Ran:
tools/mb/mb.py gen -m client.webrtc -b 'Mac64 Release' --config-file webrtc/build/mb_config.pyl --isolate-map-file=webrtc/build/gn_isolate_map.pyl --gyp-script=webrtc/build/gyp_webrtc.py //out/Release

Review-Url: https://codereview.webrtc.org/2306163002
Cr-Commit-Position: refs/heads/master@{#15068}
2016-11-14 13:54:29 +00:00

23 lines
820 B
Markdown

# 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)