• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS.  All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9# FOR DETAILS ON THIS FILE SEE THE MAIN COPY IN //tools/mb/mb_config.pyl.
10# This is configuration for standalone WebRTC bots. It is used to keep the bot
11# configurations source-side instead of in the buildbot scripts. That makes it
12# easy to try different configurations of GN args in tryjob patches.
13
14{
15  # This is a map of buildbot master names -> buildbot builder names ->
16  # config names (where each config name is a key in the 'configs' dict,
17  # above). mb uses this dict to look up which config to use for a given bot.
18  # The builders should be sorted by the order they appear in the /builders
19  # page on the buildbots, *not* alphabetically.
20  'masters': {
21    'client.webrtc': {
22      # iOS
23      'iOS32 Debug': 'ios_debug_bot_arm',
24      'iOS32 Release': 'ios_release_bot_arm',
25      'iOS64 Debug': 'ios_debug_bot_arm64',
26      'iOS64 Release': 'ios_release_bot_arm64',
27      'iOS64 Sim Debug (iOS 10.0)': 'ios_debug_bot_x64',
28      'iOS64 Sim Debug (iOS 11)': 'ios_debug_bot_x64',
29      'iOS64 Sim Debug (iOS 12)': 'ios_debug_bot_x64',
30
31      # Mac
32      'Mac64 Debug': 'debug_bot_x64',
33      'Mac64 Release': 'release_bot_x64',
34      'Mac64 Builder': 'pure_release_bot_x64',
35      'Mac Asan': 'mac_asan_clang_release_bot_x64',
36
37      # Linux
38      'Linux32 Debug': 'no_h264_debug_bot_x86',
39      'Linux32 Release': 'release_bot_x86',
40      'Linux32 Debug (ARM)': 'debug_bot_arm',
41      'Linux32 Release (ARM)': 'release_bot_arm',
42      'Linux64 Debug': 'debug_bot_x64',
43      'Linux64 Release': 'release_bot_x64',
44      'Linux64 Builder': 'pure_release_bot_x64',
45      'Linux64 Debug (ARM)': 'debug_bot_arm64',
46      'Linux64 Release (ARM)': 'release_bot_arm64',
47      'Linux64 Release (GCC)': 'gcc_release_bot_x64',
48      'Linux Asan': 'asan_lsan_clang_release_bot_x64',
49      'Linux MSan': 'msan_clang_release_bot_x64',
50      'Linux Tsan v2': 'tsan_clang_release_bot_x64',
51      'Linux UBSan': 'ubsan_clang_release_bot_x64',
52      'Linux UBSan vptr': 'ubsan_vptr_clang_release_bot_x64',
53      'Linux64 Release (Libfuzzer)': 'libfuzzer_asan_release_bot_x64',
54      # "More configs" bots will build all the following configs in sequence.
55      # This is using MB's "phases" feature.
56      'Linux (more configs)': {
57        'bwe_test_logging':
58          'bwe_test_logging_x64',
59        'dummy_audio_file_devices_no_protobuf':
60          'dummy_audio_file_devices_no_protobuf_x64',
61        'rtti_no_sctp':
62          'rtti_no_sctp_x64',
63      },
64
65      # Android
66      'Android32 (M Nexus5X)': 'android_release_bot_arm',
67      'Android32 (M Nexus5X)(dbg)': 'android_debug_static_bot_arm',
68      'Android32 Builder arm': 'android_pure_release_bot_arm',
69      'Android64 (M Nexus5X)': 'android_release_bot_arm64',
70      'Android64 (M Nexus5X)(dbg)': 'android_debug_static_bot_arm64',
71      'Android64 Builder arm64': 'android_pure_release_bot_arm64',
72      'Android32 Builder x86': 'android_release_bot_x86',
73      'Android32 Builder x86 (dbg)': 'android_debug_static_bot_x86',
74      'Android64 Builder x64 (dbg)': 'android_debug_static_bot_x64',
75      'Android32 (more configs)': {
76        'bwe_test_logging':
77          'bwe_test_logging_android_arm',
78        'dummy_audio_file_devices_no_protobuf':
79          'dummy_audio_file_devices_no_protobuf_android_arm',
80        'rtti_no_sctp':
81          'rtti_no_sctp_android_arm',
82      },
83
84      # Windows
85      'Win32 Debug': 'win_msvc_debug_bot_x86',
86      'Win32 Release': 'win_msvc_release_bot_x86',
87      'Win64 Debug': 'win_msvc_debug_bot_x64',
88      'Win64 Release': 'win_msvc_release_bot_x64',
89      'Win32 Debug (Clang)': 'win_clang_debug_bot_x86',
90      'Win32 Release (Clang)': 'win_clang_release_bot_x86',
91      'Win32 Builder (Clang)': 'win_clang_pure_release_bot_x86',
92      'Win64 Debug (Clang)': 'win_clang_debug_bot_x64',
93      'Win64 Release (Clang)': 'win_clang_release_bot_x64',
94      'Win64 ASan': 'win_asan_clang_release_bot_x64',
95      'Win64 UWP': 'win_uwp_release_bot_x64',
96      'Win (more configs)': {
97        'bwe_test_logging':
98          'bwe_test_logging_x86',
99        'dummy_audio_file_devices_no_protobuf':
100          'dummy_audio_file_devices_no_protobuf_x86',
101        'rtti_no_sctp':
102          'rtti_no_sctp_no_unicode_win_x86',
103      },
104    },
105    'client.webrtc.perf': {
106      # These are here because testers need to gn gen + ninja for the
107      # webrtc_dashboard_upload target (otherwise a tester would not need to
108      # build anything).
109      # TODO(http://crbug.com/1029452): Nuke these and isolate on builder
110      # instead?
111      'Perf Android32 (M Nexus5)': 'release_bot_x64',
112      'Perf Android32 (M AOSP Nexus6)': 'release_bot_x64',
113      'Perf Android64 (M Nexus5X)': 'release_bot_x64',
114      'Perf Android64 (O Pixel2)': 'release_bot_x64',
115      'Perf Linux Trusty': 'release_bot_x64',
116      'Perf Mac 10.11': 'release_bot_x64',
117      'Perf Win7': 'release_bot_x64',
118    },
119
120    'client.webrtc.fyi': {
121      # Mac
122      'Mac (swarming)': 'release_bot_x64',
123
124      # Android
125      'Android Perf (swarming)': 'android_pure_release_bot_arm',
126      'Android ASan (swarming)': 'android_asan_shared_release_bot_arm',
127      # Windows
128      'Win (swarming)': 'release_bot_x86',
129      'Win64 Debug (Win8)': 'debug_bot_x64',
130      'Win64 Debug (Win10)': 'debug_bot_x64',
131    },
132    'chromium.infra.codesearch': {
133      'codesearch-gen-webrtc-android': {
134        'android': 'android_debug_static_bot_arm',
135      },
136      'codesearch-gen-webrtc-linux': {
137        'linux': 'codesearch_gen_linux_bot',
138      }
139    },
140    'internal.client.webrtc': {
141      'iOS64 Debug': 'ios_internal_debug_bot_arm64',
142      'iOS64 Release': 'ios_internal_release_bot_arm64',
143      'iOS64 Perf': 'ios_internal_pure_release_bot_arm64',
144    },
145    'internal.tryserver.webrtc': {
146      'ios_arm64_dbg': 'ios_internal_debug_bot_arm64',
147      'ios_arm64_rel': 'ios_internal_release_bot_arm64',
148      'ios_arm64_perf': 'ios_internal_pure_release_bot_arm64',
149    },
150    'tryserver.webrtc': {
151      # iOS
152      'ios_compile_arm_dbg': 'ios_debug_bot_arm',
153      'ios_compile_arm_rel': 'ios_release_bot_arm',
154      'ios_compile_arm64_dbg': 'ios_debug_bot_arm64',
155      'ios_compile_arm64_rel': 'ios_release_bot_arm64',
156      'ios_sim_x64_dbg_ios10': 'ios_debug_bot_x64',
157      'ios_sim_x64_dbg_ios11': 'ios_debug_bot_x64',
158      'ios_sim_x64_dbg_ios12': 'ios_debug_bot_x64',
159
160      # Mac
161      'mac_compile_dbg': 'debug_bot_x64',
162      'mac_compile_rel': 'pure_release_bot_x64',
163      'mac_dbg': 'debug_bot_x64',
164      'mac_rel': 'release_bot_x64',
165      'mac_asan': 'mac_asan_clang_release_bot_x64',
166
167      # Linux
168      'linux_compile_dbg': 'debug_bot_x64',
169      'linux_compile_rel': 'pure_release_bot_x64',
170      'linux_compile_x86_dbg': 'debug_bot_x86',
171      'linux_compile_x86_rel': 'pure_release_bot_x86',
172      'linux_compile_arm_dbg': 'debug_bot_arm',
173      'linux_compile_arm_rel': 'release_bot_arm',
174      'linux_compile_arm64_dbg': 'debug_bot_arm64',
175      'linux_compile_arm64_rel': 'release_bot_arm64',
176      'linux_compile_gcc_rel': 'gcc_release_bot_x64',
177      'linux_dbg': 'debug_bot_x64',
178      'linux_rel': 'release_bot_x64',
179      'linux_x86_rel': 'release_bot_x86',
180      'linux_x86_dbg': 'no_h264_debug_bot_x86',
181      'linux_asan': 'asan_lsan_clang_release_bot_x64',
182      'linux_msan': 'msan_clang_release_bot_x64',
183      'linux_tsan2': 'tsan_clang_release_bot_x64',
184      'linux_ubsan': 'ubsan_clang_release_bot_x64',
185      'linux_ubsan_vptr': 'ubsan_vptr_clang_release_bot_x64',
186      'linux_libfuzzer_rel': 'libfuzzer_asan_release_bot_x64',
187      'linux_more_configs': {
188        'bwe_test_logging':
189          'bwe_test_logging_x64',
190        'dummy_audio_file_devices_no_protobuf':
191          'dummy_audio_file_devices_no_protobuf_x64',
192        'rtti_no_sctp':
193          'rtti_no_sctp_x64',
194      },
195
196      # Android
197      'android_compile_arm_dbg': 'android_debug_static_bot_arm',
198      'android_compile_arm_rel': 'android_pure_release_bot_arm',
199      'android_compile_arm64_dbg': 'android_debug_static_bot_arm64',
200      'android_compile_arm64_rel': 'android_pure_release_bot_arm64',
201      'android_compile_x86_dbg': 'android_debug_static_bot_x86',
202      'android_compile_x86_rel': 'android_release_bot_x86',
203      'android_compile_x64_dbg': 'android_debug_static_bot_x64',
204      'android_compile_x64_rel': 'android_release_bot_x64',
205      'android_arm_dbg': 'android_debug_static_bot_arm',
206      'android_arm_rel': 'android_release_bot_arm',
207      'android_arm64_dbg': 'android_release_bot_arm64',
208      'android_arm64_rel': 'android_release_bot_arm64',
209      'android_arm_more_configs': {
210        'bwe_test_logging':
211          'bwe_test_logging_android_arm',
212        'dummy_audio_file_devices_no_protobuf':
213          'dummy_audio_file_devices_no_protobuf_android_arm',
214        'rtti_no_sctp':
215          'rtti_no_sctp_android_arm',
216      },
217
218      # Windows
219      'win_compile_x86_msvc_dbg': 'win_msvc_debug_bot_x86',
220      'win_compile_x86_msvc_rel': 'win_msvc_release_bot_x86',
221      'win_compile_x64_msvc_dbg': 'win_msvc_debug_bot_x64',
222      'win_compile_x64_msvc_rel': 'win_msvc_release_bot_x64',
223      'win_compile_x86_clang_dbg': 'win_clang_debug_bot_x86',
224      'win_compile_x86_clang_rel': 'win_clang_release_bot_x86',
225      'win_compile_x64_clang_dbg': 'win_clang_debug_bot_x64',
226      'win_compile_x64_clang_rel': 'win_clang_release_bot_x64',
227      'win_x86_msvc_dbg': 'win_msvc_debug_bot_x86',
228      'win_x86_msvc_rel': 'win_msvc_release_bot_x86',
229      'win_x64_msvc_dbg': 'win_msvc_debug_bot_x64',
230      'win_x64_msvc_rel': 'win_msvc_release_bot_x64',
231      'win_x86_clang_dbg': 'win_clang_debug_bot_x86',
232      'win_x86_clang_rel': 'win_clang_release_bot_x86',
233      'win_x64_clang_dbg': 'win_clang_debug_bot_x64',
234      'win_x64_clang_rel': 'win_clang_release_bot_x64',
235      'win_asan': 'win_asan_clang_release_bot_x64',
236      'win_x64_clang_dbg_win8': 'win_clang_debug_bot_x64',
237      'win_x64_clang_dbg_win10': 'win_clang_debug_bot_x64',
238      'win_x64_uwp': 'win_uwp_release_bot_x64',
239      'win_x86_more_configs': {
240        'bwe_test_logging':
241          'bwe_test_logging_x86',
242        'dummy_audio_file_devices_no_protobuf':
243          'dummy_audio_file_devices_no_protobuf_x86',
244        'rtti_no_sctp':
245          'rtti_no_sctp_no_unicode_win_x86',
246      },
247    }
248  },
249
250  # This is the list of configs that you can pass to mb; each config
251  # represents a particular combination of gn args that we must support.
252  # A given config *may* be platform-specific but is not necessarily so (i.e.,
253  # we might have mac, win, and linux bots all using the 'release_bot' config).
254  'configs': {
255    # Linux, Mac and Windows
256    'gcc_release_bot_x64': [
257      'gcc', 'release_bot_no_goma', 'x64', 'no_rtc_tests'
258    ],
259    # TODO(kjellander): Restore Goma for this when crbug.com/726706 is fixed.
260    'debug_bot_arm': [
261      'openh264', 'debug', 'arm'
262    ],
263    'release_bot_arm': [
264      'openh264', 'release_bot', 'arm'
265    ],
266    'debug_bot_arm64': [
267      'openh264', 'debug_bot', 'arm64'
268    ],
269    'release_bot_arm64': [
270      'openh264', 'release_bot', 'arm64'
271    ],
272    'asan_lsan_clang_release_bot_x64': [
273      'asan', 'lsan', 'clang', 'openh264', 'release_bot', 'x64'
274    ],
275    'msan_clang_release_bot_x64': [
276      'msan', 'clang', 'openh264', 'release_bot', 'x64'
277    ],
278    'tsan_clang_release_bot_x64': [
279      'tsan', 'clang', 'openh264', 'release_bot', 'x64'
280    ],
281    'ubsan_clang_release_bot_x64': [
282      'ubsan', 'clang', 'openh264', 'release_bot', 'x64'
283    ],
284    'ubsan_vptr_clang_release_bot_x64': [
285      'ubsan_vptr', 'clang', 'openh264', 'release_bot', 'x64'
286    ],
287    'debug_bot_x86': [
288      'openh264', 'debug_bot', 'x86'
289    ],
290    'no_h264_debug_bot_x86': [
291      'debug_bot', 'x86'
292    ],
293    'release_bot_x86': [
294      'openh264', 'release_bot', 'x86'
295    ],
296    'debug_bot_x64': [
297      'openh264', 'debug_bot', 'x64'
298    ],
299    'codesearch_gen_linux_bot': [
300      'openh264', 'debug_bot', 'minimal_symbols'
301    ],
302    'release_bot_x64': [
303      'openh264', 'release_bot', 'x64'
304    ],
305    'pure_release_bot_x86': [
306      'openh264', 'pure_release_bot', 'x86'
307    ],
308    'pure_release_bot_x64': [
309      'openh264', 'pure_release_bot', 'x64'
310    ],
311    'libfuzzer_asan_release_bot_x64': [
312      'libfuzzer', 'asan', 'optimize_for_fuzzing', 'openh264', 'release_bot',
313      'x64', 'no_rtc_tests'
314    ],
315
316    # Windows
317    'win_clang_debug_bot_x86': [
318      'clang', 'openh264', 'debug_bot', 'x86',
319    ],
320    'win_clang_release_bot_x86': [
321      'clang', 'openh264', 'release_bot', 'x86',
322    ],
323    'win_clang_pure_release_bot_x86': [
324      'clang', 'openh264', 'pure_release_bot', 'x86',
325    ],
326    'win_clang_debug_bot_x64': [
327      'clang', 'openh264', 'debug_bot', 'x64',
328    ],
329    'win_clang_release_bot_x64': [
330      'clang', 'openh264', 'release_bot', 'x64',
331    ],
332    'win_msvc_debug_bot_x86': [
333      'no_clang', 'debug_bot_no_goma', 'x86', 'no_lld', 'minimal_symbols',
334    ],
335    'win_msvc_release_bot_x86': [
336      'no_clang', 'release_bot_no_goma', 'x86', 'no_lld', 'minimal_symbols',
337    ],
338    'win_msvc_debug_bot_x64': [
339      'no_clang', 'debug_bot_no_goma', 'x64', 'no_lld', 'minimal_symbols',
340    ],
341    'win_msvc_release_bot_x64': [
342      'no_clang', 'release_bot_no_goma', 'x64', 'no_lld', 'minimal_symbols',
343    ],
344    'win_asan_clang_release_bot_x64': [
345      'asan', 'clang',  'full_symbols', 'openh264', 'release_bot', 'x64',
346      'win_fastlink',
347    ],
348    'win_uwp_release_bot_x64': [
349      # UWP passes compiler flags that are not supported by goma.
350      'no_clang', 'openh264', 'x64', 'winuwp', 'release_bot_no_goma'
351    ],
352
353    # Mac
354    'mac_asan_clang_release_bot_x64': [
355      'asan', 'clang', 'openh264', 'release_bot', 'x64',
356    ],
357
358    # Android
359    'android_debug_static_bot_arm': [
360      'android', 'debug_static_bot', 'arm'
361    ],
362    'android_release_bot_arm': [
363      'android', 'release_bot', 'arm'
364    ],
365    'android_pure_release_bot_arm': [
366      'android', 'pure_release_bot', 'arm'
367    ],
368    'android_debug_static_bot_x86': [
369      'android', 'debug_static_bot', 'x86'
370    ],
371    'android_release_bot_x86': [
372      'android', 'release_bot', 'x86'
373    ],
374    'android_debug_static_bot_arm64': [
375      'android', 'debug_static_bot', 'arm64'
376    ],
377    'android_release_bot_arm64': [
378      'android', 'release_bot', 'arm64'
379    ],
380    'android_pure_release_bot_arm64': [
381      'android', 'pure_release_bot', 'arm64'
382    ],
383    'android_debug_static_bot_x64': [
384      'android', 'debug_static_bot', 'x64'
385    ],
386    'android_release_bot_x64': [
387      'android', 'release_bot', 'x64'
388    ],
389    'android_asan_shared_release_bot_arm': [
390      'android', 'asan', 'clang', 'release_bot', 'arm'
391    ],
392
393    # iOS
394    'ios_debug_bot_arm': [
395      'ios', 'debug_bot', 'arm', 'no_ios_code_signing', 'ios_use_goma_rbe'
396    ],
397    'ios_release_bot_arm': [
398      'ios', 'release_bot', 'arm', 'no_ios_code_signing', 'ios_use_goma_rbe'
399    ],
400    'ios_debug_bot_arm64': [
401      'ios', 'debug_bot', 'arm64', 'no_ios_code_signing', 'ios_use_goma_rbe'
402    ],
403    'ios_release_bot_arm64': [
404      'ios', 'release_bot', 'arm64', 'no_ios_code_signing', 'ios_use_goma_rbe'
405    ],
406    'ios_internal_debug_bot_arm64': [
407      'ios', 'debug_bot', 'arm64', 'ios_use_goma_rbe',
408      'ios_code_signing_identity_description',
409    ],
410    'ios_internal_release_bot_arm64': [
411      'ios', 'release_bot', 'arm64', 'ios_use_goma_rbe',
412      'ios_code_signing_identity_description',
413    ],
414    'ios_internal_pure_release_bot_arm64': [
415      'ios', 'pure_release_bot', 'arm64', 'ios_use_goma_rbe',
416      'ios_code_signing_identity_description',
417    ],
418    'ios_debug_bot_x64': [
419      'ios', 'debug_bot', 'x64', 'ios_use_goma_rbe'
420    ],
421
422    # More configs
423    'bwe_test_logging_x64': [
424      'debug_bot', 'x64', 'bwe_test_logging'
425    ],
426    'dummy_audio_file_devices_no_protobuf_x64': [
427      'debug_bot', 'x64', 'dummy_audio_file_devices', 'no_protobuf'
428    ],
429    'rtti_no_sctp_x64': [
430      'debug_bot', 'x64', 'rtti', 'no_sctp'
431    ],
432
433    'bwe_test_logging_x86': [
434      'debug_bot', 'x86', 'bwe_test_logging'
435    ],
436    'dummy_audio_file_devices_no_protobuf_x86': [
437      'debug_bot', 'x86', 'dummy_audio_file_devices', 'no_protobuf'
438    ],
439    'rtti_no_sctp_no_unicode_win_x86': [
440      'debug_bot', 'x86', 'rtti', 'no_sctp', 'win_undef_unicode'
441    ],
442
443    'bwe_test_logging_android_arm': [
444      'android', 'debug_static_bot', 'arm', 'bwe_test_logging'
445    ],
446    'dummy_audio_file_devices_no_protobuf_android_arm': [
447      'android', 'debug_static_bot', 'arm',
448      'dummy_audio_file_devices', 'no_protobuf'
449    ],
450    'rtti_no_sctp_android_arm': [
451      'android', 'debug_static_bot', 'arm', 'rtti', 'no_sctp'
452    ],
453  },
454
455  # This is a dict mapping a given 'mixin' name to a dict of settings that
456  # mb should use. See //tools/mb/docs/user_guide.md for more information.
457  'mixins': {
458    'android': {
459      'gn_args': 'target_os="android"',
460    },
461
462    'arm': {
463      'gn_args': 'target_cpu="arm"',
464    },
465
466    'arm64': {
467      'gn_args': 'target_cpu="arm64"',
468    },
469
470    'asan': {
471      'gn_args': 'is_asan=true',
472    },
473
474    # is_clang=true by default, this is only to guard from upstream changes.
475    'clang': {
476      'gn_args': 'is_clang=true',
477    },
478
479    'dcheck_always_on': {
480      'gn_args': 'dcheck_always_on=true',
481    },
482
483    'debug': {
484      'gn_args': 'is_debug=true',
485    },
486
487    'debug_bot': {
488      'mixins': ['debug', 'goma'],
489    },
490
491    'debug_bot_no_goma': {
492      'mixins': ['debug', 'no_goma'],
493    },
494
495    'debug_static_bot': {
496      'mixins': ['debug', 'minimal_symbols', 'goma'],
497    },
498
499    'full_symbols': {
500      'gn_args': 'symbol_level=2',
501    },
502
503    'gcc': {
504      'gn_args': ('is_clang=false use_sysroot=false '
505                  'treat_warnings_as_errors=false'),
506    },
507
508    'goma': {
509      'gn_args': 'use_goma=true',
510    },
511
512    'ios_code_signing_identity_description': {
513      'gn_args': 'ios_code_signing_identity_description="Apple Development"',
514    },
515
516    'ios_use_goma_rbe': {
517      'gn_args': 'ios_use_goma_rbe=true',
518    },
519
520    'ios': {
521      'gn_args': 'target_os="ios"',
522    },
523
524    'no_goma': {
525      'gn_args': 'use_goma=false',
526    },
527
528    'libfuzzer': {
529      'gn_args': 'use_libfuzzer=true',
530    },
531
532    'lsan': {
533      'gn_args': 'is_lsan=true',
534    },
535
536    'minimal_symbols': {
537      'gn_args': 'symbol_level=1',
538    },
539
540    'msan': {
541      'gn_args': 'is_msan=true msan_track_origins=2',
542    },
543
544    'no_clang': {
545      'gn_args': 'is_clang=false',
546    },
547
548    'no_ios_code_signing': {
549      'gn_args': 'ios_enable_code_signing=false',
550    },
551
552    'no_lld': {
553      'gn_args': 'use_lld=false',
554    },
555
556    'no_rtc_tests': {
557      'gn_args': 'rtc_include_tests=false',
558    },
559
560    'openh264': {
561      'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true',
562    },
563
564    'optimize_for_fuzzing': {
565      'gn_args': 'optimize_for_fuzzing=true',
566    },
567
568    'pure_release_bot': {
569      'mixins': ['release', 'goma'],
570    },
571
572    'release': {
573      'gn_args': 'is_debug=false',
574    },
575
576    'release_bot': {
577      'mixins': ['pure_release_bot', 'dcheck_always_on'],
578    },
579
580    'release_bot_no_goma': {
581      'mixins': ['release', 'no_goma', 'dcheck_always_on'],
582    },
583
584    'tsan': {
585      'gn_args': 'is_tsan=true',
586    },
587
588    'ubsan': {
589      'gn_args': 'is_ubsan=true is_ubsan_no_recover=true',
590    },
591
592    'ubsan_vptr': {
593      'gn_args': 'is_ubsan_vptr=true is_ubsan_no_recover=true',
594    },
595
596    'win_fastlink': {
597      'gn_args': 'is_win_fastlink=true',
598    },
599
600    'x64': {
601      'gn_args': 'target_cpu="x64"',
602    },
603
604    'x86': {
605      'gn_args': 'target_cpu="x86"',
606    },
607
608    'bwe_test_logging': {
609      'gn_args': 'rtc_enable_bwe_test_logging=true',
610    },
611
612    'dummy_audio_file_devices': {
613      'gn_args': 'rtc_use_dummy_audio_file_devices=true',
614    },
615
616    'no_protobuf': {
617      'gn_args': 'rtc_enable_protobuf=false',
618    },
619
620    'rtti': {
621      'gn_args': 'use_rtti=true',
622    },
623
624    'no_sctp': {
625      'gn_args': 'rtc_enable_sctp=false',
626    },
627
628    'winuwp': {
629      'gn_args': 'target_os="winuwp"',
630    },
631
632    'win_undef_unicode': {
633      'gn_args': 'rtc_win_undef_unicode=true',
634    },
635  },
636}
637