Index: tools/mb/docs/user_guide.md |
diff --git a/tools/mb/docs/user_guide.md b/tools/mb/docs/user_guide.md |
index 7f002919aeae663b30d4339d48f79957a0c793bb..46e8c144c1899227122b23944edf4b2130d4f223 100644 |
--- a/tools/mb/docs/user_guide.md |
+++ b/tools/mb/docs/user_guide.md |
@@ -177,7 +177,7 @@ following keys: |
* `gyp_defines`: a string containing a list of GYP_DEFINES. |
* `gn_args`: a string containing a list of values passed to gn --args. |
* `mixins`: a list of other mixins that should be included. |
- * `type`: a string with either the value `gyp` or `gn`; |
+ * `type`: a string with either the value `gn`, `gyp`, or `passthrough`; |
setting this indicates which meta-build tool to use. |
When `mb gen` or `mb analyze` executes, it takes a config name, looks it |
@@ -228,6 +228,17 @@ translate into a call to `gyp_chromium -G Release` with `GYP_DEFINES` set to |
(From that you can see that mb is intentionally dumb and does not |
attempt to de-dup the flags, it lets gyp do that). |
+If `type` is set to `passthrough`, then MB will look for the variable |
+`MB_TYPE` in the environment, which should be set to either `gyp` or |
+`gn`. If it is set to `gyp`, MB will also look for the GYP_DEFINES |
+and GYP_CROSSCOMPILE variables in the environment. If it is set to `gn`, |
+MB will look for the `GN_ARGS` variable in the environment. MB will |
+throw away whatever values were set by the mixins and replace them |
+with the values from the environment variables. This functionality exists |
+in order to make bots that are otherwise already configured by src-side |
+files happy. It is an error if GYP_DEFINES or GN_ARGS is expected to |
+be set and isn't; GYP_CROSSCOMPILE is optional. |
+ |
## Debugging MB |
By design, MB should be simple enough that very little can go wrong. |