v8/tools/mb
Michael Achenbach d08e8691fd [build] Port latest MB from Chromium
This ports the MB script from Chromium until revision:
https://crrev.com/66958462e684149bcb220000868e8247096e435b

The main difference is the removed gyp support.

This reapplies V8-side changes from:
https://crrev.com/41d9e8571419acd3547c9810c55c5516cc4dee79
https://crrev.com/1cd6fd9ff8e88bffa7cbec7131b85ff086dc128c

Bug: chromium:772804
Change-Id: I530e01df0c2343e961519ac27b1e58a01bb63743
Reviewed-on: https://chromium-review.googlesource.com/911073
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51215}
2018-02-09 15:28:09 +00:00
..
docs [build] Update MB fork with upstream changes 2017-11-20 12:29:12 +00:00
mb [mb] Copy MB from Chromium repo 2016-09-01 12:20:20 +00:00
mb_unittest.py [build] Port latest MB from Chromium 2018-02-09 15:28:09 +00:00
mb.bat [mb] Copy MB from Chromium repo 2016-09-01 12:20:20 +00:00
mb.py [build] Port latest MB from Chromium 2018-02-09 15:28:09 +00:00
OWNERS [mb] Copy MB from Chromium repo 2016-09-01 12:20:20 +00:00
PRESUBMIT.py [mb] Copy MB from Chromium repo 2016-09-01 12:20:20 +00:00
README.md [mb] Copy MB from Chromium repo 2016-09-01 12:20:20 +00:00

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: