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}
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:
-
"gen" - the main
gyp_chromium/gn geninvocation that generates the Ninja files needed for the build. -
"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: