Clone this repo:

Branches

  1. 8a46caa [mb] Stop after runtime dependency GN failure by Eldar Pulatov · 18 hours ago main
  2. 3b4dd27 [mb] Stop when configuration generation fails by Eldar Pulatov · 18 hours ago
  3. b95a6bc [mb] Define missing GN output option defaults by Eldar Pulatov · 18 hours ago
  4. 268ff43 Ruff lint: relint tools (part 2/4: gerrit .. origin_trials). by Alex Ovsienko · 2 days ago
  5. 46d00d0 Remove devtools_skip_typecheck from configs by Nikolay Vitkov · 11 days ago

MB - The Meta-Build wrapper

MB is a simple wrapper around the GN build tool.

It was originally written as part of the GYP->GN migration, in order 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 was meant to use GN or GYP.

It eventually grew additional functionality and is now still used even though everything is GN-only.

It supports two main functions:

  1. “gen” - the main 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: