OLD | NEW |
1 # The MB (Meta-Build wrapper) user guide | 1 # The MB (Meta-Build wrapper) user guide |
2 | 2 |
3 [TOC] | 3 [TOC] |
4 | 4 |
5 ## Introduction | 5 ## Introduction |
6 | 6 |
7 `mb` is a simple python wrapper around the GYP and GN meta-build tools to | 7 `mb` is a simple python wrapper around the GYP and GN meta-build tools to |
8 be used as part of the GYP->GN migration. | 8 be used as part of the GYP->GN migration. |
9 | 9 |
10 It is intended to be used by bots to make it easier to manage the configuration | 10 It is intended to be used by bots to make it easier to manage the configuration |
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 'shared': { | 212 'shared': { |
213 'gn_args': 'is_component_build=true', | 213 'gn_args': 'is_component_build=true', |
214 'gyp_defines': 'component=shared_library', | 214 'gyp_defines': 'component=shared_library', |
215 }, | 215 }, |
216 'trybot': { | 216 'trybot': { |
217 'gyp_defines': 'dcheck_always_on=1', | 217 'gyp_defines': 'dcheck_always_on=1', |
218 'gn_args': 'dcheck_always_on=true', | 218 'gn_args': 'dcheck_always_on=true', |
219 } | 219 } |
220 } | 220 } |
221 } | 221 } |
| 222 ``` |
222 | 223 |
223 and you ran `mb gen -c linux_release_trybot //out/Release`, it would | 224 and you ran `mb gen -c linux_release_trybot //out/Release`, it would |
224 translate into a call to `gyp_chromium -G Release` with `GYP_DEFINES` set to | 225 translate into a call to `gyp_chromium -G Release` with `GYP_DEFINES` set to |
225 `"use_goma=true dcheck_always_on=false dcheck_always_on=true"`. | 226 `"use_goma=true dcheck_always_on=false dcheck_always_on=true"`. |
226 | 227 |
227 (From that you can see that mb is intentionally dumb and does not | 228 (From that you can see that mb is intentionally dumb and does not |
228 attempt to de-dup the flags, it lets gyp do that). | 229 attempt to de-dup the flags, it lets gyp do that). |
229 | 230 |
230 ## Debugging MB | 231 ## Debugging MB |
231 | 232 |
232 By design, MB should be simple enough that very little can go wrong. | 233 By design, MB should be simple enough that very little can go wrong. |
233 | 234 |
234 The most obvious issue is that you might see different commands being | 235 The most obvious issue is that you might see different commands being |
235 run than you expect; running `'mb -v'` will print what it's doing and | 236 run than you expect; running `'mb -v'` will print what it's doing and |
236 run the commands; `'mb -n'` will print what it will do but *not* run | 237 run the commands; `'mb -n'` will print what it will do but *not* run |
237 the commands. | 238 the commands. |
238 | 239 |
239 If you hit weirder things than that, add some print statements to the | 240 If you hit weirder things than that, add some print statements to the |
240 python script, send a question to gn-dev@chromium.org, or | 241 python script, send a question to gn-dev@chromium.org, or |
241 [file a bug](https://crbug.com/new) with the label | 242 [file a bug](https://crbug.com/new) with the label |
242 'mb' and cc: dpranke@chromium.org. | 243 'mb' and cc: dpranke@chromium.org. |
243 | 244 |
244 | 245 |
OLD | NEW |