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}
23 lines
820 B
Markdown
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)
|