• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2016 The V8 project authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5{
6  # This is a map of buildbot master names -> buildbot builder names ->
7  # config names (where each config name is a key in the 'configs' dict,
8  # below). MB uses this dict to look up which config to use for a given bot.
9  # Bots are ordered by appearance on waterfall.
10  'masters': {
11    'developer_default': {
12      'arm.debug': 'default_debug_arm',
13      'arm.optdebug': 'default_optdebug_arm',
14      'arm.release': 'default_release_arm',
15      'arm64.debug': 'default_debug_arm64',
16      'arm64.optdebug': 'default_optdebug_arm64',
17      'arm64.release': 'default_release_arm64',
18      'ia32.debug': 'default_debug_x86',
19      'ia32.optdebug': 'default_optdebug_x86',
20      'ia32.release': 'default_release_x86',
21      'mipsel.debug': 'default_debug_mipsel',
22      'mipsel.optdebug': 'default_optdebug_mipsel',
23      'mipsel.release': 'default_release_mipsel',
24      'mips64el.debug': 'default_debug_mips64el',
25      'mips64el.optdebug': 'default_optdebug_mips64el',
26      'mips64el.release': 'default_release_mips64el',
27      'x64.debug': 'default_debug_x64',
28      'x64.optdebug': 'default_optdebug_x64',
29      'x64.release': 'default_release_x64',
30    },
31
32    'client.dart.fyi': {
33      'v8-linux-release': 'gyp_release_x86_disassembler',
34      'v8-win-release': 'gyp_release_x86_disassembler',
35      'v8-mac-release': 'gyp_release_x86_disassembler',
36    },
37    'client.dynamorio': {
38      'linux-v8-dr': 'gyp_release_x64',
39    },
40    'client.v8': {
41      # Linux.
42      'V8 Linux - builder': 'gn_release_x86_gcmole',
43      'V8 Linux - debug builder': 'gn_debug_x86',
44      'V8 Linux - nosnap builder': 'gn_release_x86_no_snap',
45      'V8 Linux - nosnap debug builder': 'gn_debug_x86_no_snap',
46      'V8 Linux - shared': 'gn_release_x86_shared_verify_heap',
47      'V8 Linux - noi18n - debug': 'gn_debug_x86_no_i18n',
48      'V8 Linux - verify csa': 'gn_release_x86_verify_csa',
49      # Linux64.
50      'V8 Linux64 - builder': 'gn_release_x64_valgrind',
51      'V8 Linux64 - debug builder': 'gn_debug_x64_valgrind',
52      'V8 Linux64 - custom snapshot - debug builder': 'gn_debug_x64_custom',
53      'V8 Linux64 - internal snapshot': 'gn_release_x64_internal',
54      'V8 Linux64 - gyp': 'gyp_release_x64',
55      'V8 Linux64 - verify csa': 'gn_release_x64_verify_csa',
56      # Windows.
57      'V8 Win32 - builder': 'gn_release_x86_minimal_symbols',
58      'V8 Win32 - debug builder': 'gn_debug_x86_minimal_symbols',
59      'V8 Win32 - nosnap - shared':
60        'gn_release_x86_no_snap_shared_minimal_symbols',
61      'V8 Win64': 'gn_release_x64_minimal_symbols',
62      'V8 Win64 - debug': 'gn_debug_x64_minimal_symbols',
63      # TODO(machenbach): Switch plugins on when errors are fixed.
64      'V8 Win64 - clang': 'gn_release_x64_clang',
65      # Mac.
66      'V8 Mac': 'gn_release_x86',
67      'V8 Mac - debug': 'gn_debug_x86',
68      'V8 Mac64': 'gn_release_x64',
69      'V8 Mac64 - debug': 'gn_debug_x64',
70      'V8 Mac GC Stress': 'gn_debug_x86',
71      'V8 Mac64 ASAN': 'gn_release_x64_asan_no_lsan',
72      # Sanitizers.
73      'V8 Linux64 ASAN': 'gn_release_x64_asan',
74      'V8 Linux64 TSAN': 'gn_release_x64_tsan',
75      'V8 Linux - arm64 - sim - MSAN': 'gn_release_simulate_arm64_msan',
76      # Clusterfuzz.
77      'V8 Linux64 - release builder': 'gn_release_x64_correctness_fuzzer',
78      'V8 Linux64 ASAN no inline - release builder':
79          'gn_release_x64_asan_symbolized_edge_verify_heap',
80      'V8 Linux64 ASAN - debug builder': 'gn_debug_x64_asan_edge',
81      'V8 Linux64 ASAN arm64 - debug builder':
82          'gn_debug_simulate_arm64_asan_edge',
83      'V8 Linux ASAN arm - debug builder':
84          'gn_debug_simulate_arm_asan_edge',
85      'V8 Linux ASAN mipsel - debug builder':
86          'gn_debug_simulate_mipsel_asan_edge',
87      # Misc.
88      'V8 Linux gcc 4.8': 'gn_release_x86_gcc',
89      # FYI.
90      'V8 Linux - swarming staging': 'gn_release_x64',
91      # TODO(machenbach): Figure out if symbolized is still needed. The
92      # original config also specified -O1, which we dropped because chromium
93      # doesn't have it (anymore).
94      'V8 Linux64 - cfi': 'gyp_release_x64_cfi_symbolized',
95      'V8 Linux - vtunejit': 'gyp_debug_x86_vtunejit',
96      'V8 Linux64 - gcov coverage': 'gyp_release_x64_gcc_coverage',
97      'V8 Linux - predictable': 'gyp_release_x86_predictable',
98      'V8 Linux - full debug': 'gyp_full_debug_x86',
99      'V8 Linux - interpreted regexp': 'gyp_release_x86_interpreted_regexp',
100      'V8 Random Deopt Fuzzer - debug': 'gyp_debug_x86',
101    },
102
103    'client.v8.ports': {
104      # Arm.
105      'V8 Arm - builder': 'gn_release_arm',
106      'V8 Arm - debug builder': 'gn_debug_arm',
107      'V8 Android Arm - builder': 'gn_release_android_arm',
108      'V8 Linux - arm - sim': 'gn_release_simulate_arm',
109      'V8 Linux - arm - sim - debug': 'gn_debug_simulate_arm',
110      # Arm64.
111      'V8 Android Arm64 - builder': 'gn_release_android_arm64',
112      'V8 Linux - arm64 - sim': 'gn_release_simulate_arm64',
113      'V8 Linux - arm64 - sim - debug': 'gn_debug_simulate_arm64',
114      'V8 Linux - arm64 - sim - nosnap - debug':
115          'gn_debug_simulate_arm64_no_snap',
116      'V8 Linux - arm64 - sim - gc stress': 'gn_debug_simulate_arm64',
117      # Mips.
118      'V8 Mips - builder': 'gyp_release_mips_no_snap_no_i18n',
119      'V8 Linux - mipsel - sim - builder': 'gn_release_simulate_mipsel',
120      'V8 Linux - mips64el - sim - builder': 'gn_release_simulate_mips64el',
121      # PPC.
122      'V8 Linux - ppc - sim': 'gyp_release_simulate_ppc',
123      'V8 Linux - ppc64 - sim': 'gyp_release_simulate_ppc64',
124      # S390.
125      'V8 Linux - s390 - sim': 'gyp_release_simulate_s390',
126      'V8 Linux - s390x - sim': 'gyp_release_simulate_s390x',
127      # X87.
128      'V8 Linux - x87 - nosnap - debug builder': 'gyp_debug_simulate_x87',
129    },
130    'client.v8.branches': {
131      'V8 Linux - beta branch': 'gn_release_x86',
132      'V8 Linux - beta branch - debug': 'gn_debug_x86',
133      'V8 Linux - stable branch': 'gn_release_x86',
134      'V8 Linux - stable branch - debug': 'gn_debug_x86',
135      'V8 Linux64 - beta branch': 'gn_release_x64',
136      'V8 Linux64 - beta branch - debug': 'gn_debug_x64',
137      'V8 Linux64 - stable branch': 'gn_release_x64',
138      'V8 Linux64 - stable branch - debug': 'gn_debug_x64',
139      'V8 arm - sim - beta branch': 'gn_release_simulate_arm',
140      'V8 arm - sim - beta branch - debug': 'gn_debug_simulate_arm',
141      'V8 arm - sim - stable branch': 'gn_release_simulate_arm',
142      'V8 arm - sim - stable branch - debug': 'gn_debug_simulate_arm',
143      'V8 mips64el - sim - beta branch': 'gn_release_simulate_mips64el',
144      'V8 mips64el - sim - stable branch': 'gn_release_simulate_mips64el',
145      'V8 mipsel - sim - beta branch': 'gn_release_simulate_mipsel',
146      'V8 mipsel - sim - stable branch': 'gn_release_simulate_mipsel',
147      'V8 ppc - sim - beta branch': 'gyp_release_simulate_ppc',
148      'V8 ppc - sim - stable branch': 'gyp_release_simulate_ppc',
149      'V8 ppc64 - sim - beta branch': 'gyp_release_simulate_ppc64',
150      'V8 ppc64 - sim - stable branch': 'gyp_release_simulate_ppc64',
151      'V8 s390 - sim - beta branch': 'gyp_release_simulate_s390',
152      'V8 s390 - sim - stable branch': 'gyp_release_simulate_s390',
153      'V8 s390x - sim - beta branch': 'gyp_release_simulate_s390x',
154      'V8 s390x - sim - stable branch': 'gyp_release_simulate_s390x',
155    },
156    'tryserver.v8': {
157      'v8_linux_rel_ng': 'gn_release_x86_gcmole_trybot',
158      'v8_linux_verify_csa_rel_ng': 'gn_release_x86_verify_csa',
159      'v8_linux_avx2_dbg': 'gn_debug_x86_trybot',
160      'v8_linux_nodcheck_rel_ng': 'gn_release_x86_minimal_symbols',
161      'v8_linux_dbg_ng': 'gn_debug_x86_trybot',
162      'v8_linux_noi18n_rel_ng': 'gn_release_x86_no_i18n_trybot',
163      'v8_linux_gc_stress_dbg': 'gn_debug_x86_trybot',
164      'v8_linux_nosnap_rel': 'gn_release_x86_no_snap_trybot',
165      'v8_linux_nosnap_dbg': 'gn_debug_x86_no_snap_trybot',
166      'v8_linux_gcc_compile_rel': 'gn_release_x86_gcc_minimal_symbols',
167      'v8_linux_gcc_rel': 'gn_release_x86_gcc_minimal_symbols',
168      'v8_linux64_rel_ng': 'gn_release_x64_valgrind_trybot',
169      'v8_linux64_verify_csa_rel_ng': 'gn_release_x64_verify_csa',
170      'v8_linux64_gyp_rel_ng': 'gyp_release_x64',
171      'v8_linux64_avx2_rel_ng': 'gn_release_x64_trybot',
172      'v8_linux64_avx2_dbg': 'gn_debug_x64_trybot',
173      'v8_linux64_asan_rel_ng': 'gn_release_x64_asan_minimal_symbols',
174      'v8_linux64_msan_rel': 'gn_release_simulate_arm64_msan_minimal_symbols',
175      'v8_linux64_sanitizer_coverage_rel':
176          'gyp_release_x64_asan_minimal_symbols_coverage',
177      'v8_linux64_tsan_rel': 'gn_release_x64_tsan_minimal_symbols',
178      'v8_win_dbg': 'gn_debug_x86_trybot',
179      'v8_win_compile_dbg': 'gn_debug_x86_trybot',
180      'v8_win_rel_ng': 'gn_release_x86_trybot',
181      'v8_win_nosnap_shared_rel_ng':
182        'gn_release_x86_no_snap_shared_minimal_symbols',
183      'v8_win64_dbg': 'gn_debug_x64_minimal_symbols',
184      'v8_win64_rel_ng': 'gn_release_x64_trybot',
185      'v8_mac_rel_ng': 'gn_release_x86_trybot',
186      'v8_mac_dbg': 'gn_debug_x86_trybot',
187      'v8_mac_gc_stress_dbg': 'gn_debug_x86_trybot',
188      'v8_mac64_rel': 'gn_release_x64_trybot',
189      'v8_mac64_dbg': 'gn_debug_x64_minimal_symbols',
190      'v8_mac64_asan_rel': 'gn_release_x64_asan_no_lsan',
191      'v8_linux_arm_rel_ng': 'gn_release_simulate_arm_trybot',
192      'v8_linux_arm_dbg': 'gn_debug_simulate_arm',
193      'v8_linux_arm_armv8a_rel': 'gn_release_simulate_arm_trybot',
194      'v8_linux_arm_armv8a_dbg': 'gn_debug_simulate_arm',
195      'v8_linux_arm64_rel_ng': 'gn_release_simulate_arm64_trybot',
196      'v8_linux_arm64_dbg': 'gn_debug_simulate_arm64',
197      'v8_linux_arm64_gc_stress_dbg': 'gn_debug_simulate_arm64',
198      'v8_linux_mipsel_compile_rel': 'gn_release_simulate_mipsel',
199      'v8_linux_mips64el_compile_rel': 'gn_release_simulate_mips64el',
200      'v8_android_arm_compile_rel': 'gn_release_android_arm',
201    },
202  },
203
204
205  # To ease readability, config values are ordered by:
206  # gyp/gn, release/debug, arch type, other values alphabetically.
207  'configs': {
208    # Developer default configs.
209    'default_debug_arm': [
210      'gn', 'debug', 'simulate_arm', 'v8_enable_slow_dchecks',
211      'v8_full_debug'],
212    'default_optdebug_arm': [
213      'gn', 'debug', 'simulate_arm', 'v8_enable_slow_dchecks'],
214    'default_release_arm': [
215      'gn', 'release', 'simulate_arm'],
216    'default_debug_arm64': [
217      'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks',
218      'v8_full_debug'],
219    'default_optdebug_arm64': [
220      'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks'],
221    'default_release_arm64': [
222      'gn', 'release', 'simulate_arm64'],
223    'default_debug_mipsel': [
224      'gn', 'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks',
225      'v8_full_debug'],
226    'default_optdebug_mipsel': [
227      'gn', 'debug', 'simulate_mipsel', 'v8_enable_slow_dchecks'],
228    'default_release_mipsel': [
229      'gn', 'release', 'simulate_mipsel'],
230    'default_debug_mips64el': [
231      'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks',
232      'v8_full_debug'],
233    'default_optdebug_mips64el': [
234      'gn', 'debug', 'simulate_mips64el', 'v8_enable_slow_dchecks'],
235    'default_release_mips64el': [
236      'gn', 'release', 'simulate_mips64el'],
237    'default_debug_x64': [
238      'gn', 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'],
239    'default_optdebug_x64': [
240      'gn', 'debug', 'x64', 'v8_enable_slow_dchecks'],
241    'default_release_x64': [
242      'gn', 'release', 'x64'],
243    'default_debug_x86': [
244      'gn', 'debug', 'x86', 'v8_enable_slow_dchecks', 'v8_full_debug'],
245    'default_optdebug_x86': [
246      'gn', 'debug', 'x86', 'v8_enable_slow_dchecks'],
247    'default_release_x86': [
248      'gn', 'release', 'x86'],
249
250
251    # GN debug configs for simulators.
252    'gn_debug_simulate_arm': [
253      'gn', 'debug_bot', 'simulate_arm', 'swarming'],
254    'gn_debug_simulate_arm_asan_edge': [
255      'gn', 'debug_bot', 'simulate_arm', 'asan', 'edge'],
256    'gn_debug_simulate_arm64': [
257      'gn', 'debug_bot', 'simulate_arm64', 'swarming'],
258    'gn_debug_simulate_arm64_asan_edge': [
259      'gn', 'debug_bot', 'simulate_arm64', 'asan', 'lsan', 'edge'],
260    'gn_debug_simulate_arm64_no_snap': [
261      'gn', 'debug_bot', 'simulate_arm64', 'swarming', 'v8_snapshot_none'],
262    'gn_debug_simulate_mipsel_asan_edge': [
263      'gn', 'debug_bot', 'simulate_mipsel', 'asan', 'edge'],
264
265    # GN release configs for simulators.
266    'gn_release_simulate_arm': [
267      'gn', 'release_bot', 'simulate_arm', 'swarming'],
268    'gn_release_simulate_arm_trybot': [
269      'gn', 'release_trybot', 'simulate_arm', 'swarming'],
270    'gn_release_simulate_arm64': [
271      'gn', 'release_bot', 'simulate_arm64', 'swarming'],
272    'gn_release_simulate_arm64_msan': [
273      'gn', 'release_bot', 'simulate_arm64', 'msan', 'swarming'],
274    'gn_release_simulate_arm64_msan_minimal_symbols': [
275      'gn', 'release_bot', 'simulate_arm64', 'msan', 'minimal_symbols',
276      'swarming'],
277    'gn_release_simulate_arm64_trybot': [
278      'gn', 'release_trybot', 'simulate_arm64', 'swarming'],
279    'gn_release_simulate_mipsel': [
280      'gn', 'release_bot', 'simulate_mipsel', 'swarming'],
281    'gn_release_simulate_mips64el': [
282      'gn', 'release_bot', 'simulate_mips64el', 'swarming'],
283
284    # GN debug configs for arm.
285    'gn_debug_arm': [
286      'gn', 'debug_bot', 'arm', 'crosscompile', 'hard_float', 'swarming'],
287
288    # GN release configs for arm.
289    'gn_release_arm': [
290      'gn', 'release_bot', 'arm', 'crosscompile', 'hard_float', 'swarming'],
291    'gn_release_android_arm': [
292      'gn', 'release_bot', 'arm', 'android', 'crosscompile',
293      'minimal_symbols', 'swarming'],
294    'gn_release_android_arm64': [
295      'gn', 'release_bot', 'arm64', 'android', 'crosscompile',
296      'minimal_symbols', 'swarming'],
297
298    # GN release configs for x64.
299    'gn_release_x64': [
300      'gn', 'release_bot', 'x64', 'swarming'],
301    'gn_release_x64_asan': [
302      'gn', 'release_bot', 'x64', 'asan', 'lsan', 'swarming'],
303    'gn_release_x64_asan_minimal_symbols': [
304      'gn', 'release_bot', 'x64', 'asan', 'lsan', 'minimal_symbols',
305      'swarming'],
306    'gn_release_x64_asan_no_lsan': [
307      'gn', 'release_bot', 'x64', 'asan', 'swarming'],
308    'gn_release_x64_asan_symbolized_edge_verify_heap': [
309      'gn', 'release_bot', 'x64', 'asan', 'edge', 'lsan', 'symbolized',
310      'v8_verify_heap'],
311    'gn_release_x64_clang': [
312      'gn', 'release_bot', 'x64', 'clang', 'swarming'],
313    'gn_release_x64_correctness_fuzzer' : [
314      'gn', 'release_bot', 'x64', 'v8_correctness_fuzzer'],
315    'gn_release_x64_internal': [
316      'gn', 'release_bot', 'x64', 'swarming', 'v8_snapshot_internal'],
317    'gn_release_x64_minimal_symbols': [
318      'gn', 'release_bot', 'x64', 'minimal_symbols', 'swarming'],
319    'gn_release_x64_trybot': [
320      'gn', 'release_trybot', 'x64', 'swarming'],
321    'gn_release_x64_tsan': [
322      'gn', 'release_bot', 'x64', 'tsan', 'swarming'],
323    'gn_release_x64_tsan_minimal_symbols': [
324      'gn', 'release_bot', 'x64', 'tsan', 'minimal_symbols', 'swarming'],
325    'gn_release_x64_valgrind': [
326      'gn', 'release_bot', 'x64', 'swarming', 'valgrind'],
327    'gn_release_x64_valgrind_trybot': [
328      'gn', 'release_trybot', 'x64', 'swarming', 'valgrind'],
329    'gn_release_x64_verify_csa': [
330      'gn', 'release_bot', 'x64', 'swarming', 'dcheck_always_on',
331      'v8_enable_slow_dchecks', 'v8_verify_csa'],
332
333    # GN debug configs for x64.
334    'gn_debug_x64': [
335      'gn', 'debug_bot', 'x64', 'swarming'],
336    'gn_debug_x64_asan_edge': [
337      'gn', 'debug_bot', 'x64', 'asan', 'lsan', 'edge'],
338    'gn_debug_x64_custom': [
339      'gn', 'debug_bot', 'x64', 'swarming', 'v8_snapshot_custom'],
340    'gn_debug_x64_minimal_symbols': [
341      'gn', 'debug_bot', 'x64', 'minimal_symbols', 'swarming'],
342    'gn_debug_x64_trybot': [
343      'gn', 'debug_trybot', 'x64', 'swarming'],
344    'gn_debug_x64_valgrind': [
345      'gn', 'debug_bot', 'x64', 'swarming', 'valgrind'],
346
347    # GN debug configs for x86.
348    'gn_debug_x86': [
349      'gn', 'debug_bot', 'x86', 'swarming'],
350    'gn_debug_x86_minimal_symbols': [
351      'gn', 'debug_bot', 'x86', 'minimal_symbols', 'swarming'],
352    'gn_debug_x86_no_i18n': [
353      'gn', 'debug_bot', 'x86', 'swarming', 'v8_disable_inspector',
354      'v8_no_i18n'],
355    'gn_debug_x86_no_snap': [
356      'gn', 'debug_bot', 'x86', 'swarming', 'v8_snapshot_none'],
357    'gn_debug_x86_no_snap_trybot': [
358      'gn', 'debug_trybot', 'x86', 'swarming', 'v8_snapshot_none'],
359    'gn_debug_x86_trybot': [
360      'gn', 'debug_trybot', 'x86', 'swarming'],
361
362    # GN release configs for x86.
363    'gn_release_x86': [
364      'gn', 'release_bot', 'x86', 'swarming'],
365    'gn_release_x86_gcc': [
366      'gn', 'release_bot', 'x86', 'gcc'],
367    'gn_release_x86_gcc_minimal_symbols': [
368      'gn', 'release_bot', 'x86', 'gcc', 'minimal_symbols'],
369    'gn_release_x86_gcmole': [
370      'gn', 'release_bot', 'x86', 'gcmole', 'swarming'],
371    'gn_release_x86_gcmole_trybot': [
372      'gn', 'release_trybot', 'x86', 'gcmole', 'swarming'],
373    'gn_release_x86_minimal_symbols': [
374      'gn', 'release_bot', 'x86', 'minimal_symbols', 'swarming'],
375    'gn_release_x86_no_i18n_trybot': [
376      'gn', 'release_trybot', 'x86', 'swarming', 'v8_disable_inspector',
377      'v8_no_i18n'],
378    'gn_release_x86_no_snap': [
379      'gn', 'release_bot', 'x86', 'swarming', 'v8_snapshot_none'],
380    'gn_release_x86_no_snap_shared_minimal_symbols': [
381      'gn', 'release', 'x86', 'goma', 'minimal_symbols', 'shared', 'swarming',
382      'v8_snapshot_none'],
383    'gn_release_x86_no_snap_trybot': [
384      'gn', 'release_trybot', 'x86', 'swarming', 'v8_snapshot_none'],
385    'gn_release_x86_shared_verify_heap': [
386      'gn', 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'],
387    'gn_release_x86_trybot': [
388      'gn', 'release_trybot', 'x86', 'swarming'],
389    'gn_release_x86_verify_csa': [
390      'gn', 'release_bot', 'x86', 'swarming', 'dcheck_always_on',
391      'v8_enable_slow_dchecks', 'v8_verify_csa'],
392
393    # Gyp debug configs for simulators.
394    'gyp_debug_simulate_x87': [
395      'gyp', 'debug_bot_static', 'simulate_x87', 'swarming'],
396
397    # Gyp debug configs for x86.
398    'gyp_debug_x86': [
399      'gyp', 'debug_bot', 'x86', 'swarming'],
400    'gyp_debug_x86_vtunejit': [
401      'gyp', 'debug_bot', 'x86', 'v8_enable_vtunejit'],
402    'gyp_full_debug_x86': [
403      'gyp', 'debug', 'x86', 'goma', 'static', 'v8_enable_slow_dchecks',
404      'v8_full_debug'],
405
406    # Gyp release configs for mips.
407    'gyp_release_mips_no_snap_no_i18n': [
408      'gyp', 'release', 'mips', 'crosscompile', 'static', 'v8_no_i18n',
409      'v8_snapshot_none'],
410
411    # Gyp release configs for simulators.
412    'gyp_release_simulate_ppc': [
413      'gyp', 'release_bot', 'simulate_ppc', 'swarming'],
414    'gyp_release_simulate_ppc64': [
415      'gyp', 'release_bot', 'simulate_ppc64', 'swarming'],
416    'gyp_release_simulate_s390': [
417      'gyp', 'release_bot', 'simulate_s390', 'swarming'],
418    'gyp_release_simulate_s390x': [
419      'gyp', 'release_bot', 'simulate_s390x', 'swarming'],
420
421    # Gyp release configs for x64.
422    'gyp_release_x64': [
423      'gyp', 'release_bot', 'x64', 'swarming'],
424    'gyp_release_x64_asan_minimal_symbols_coverage': [
425      'gyp', 'release_bot', 'x64', 'asan', 'bb', 'coverage', 'lsan',
426      'minimal_symbols', 'swarming'],
427    'gyp_release_x64_cfi_symbolized': [
428      'gyp', 'release_bot', 'x64', 'cfi', 'swarming', 'symbolized'],
429    'gyp_release_x64_gcc_coverage': [
430      'gyp', 'release_bot', 'x64', 'coverage', 'gcc'],
431
432    # Gyp release configs for x86.
433    'gyp_release_x86_disassembler': [
434      'gyp', 'release_bot', 'x86', 'v8_enable_disassembler'],
435    'gyp_release_x86_interpreted_regexp': [
436      'gyp', 'release_bot', 'x86', 'v8_interpreted_regexp'],
437    'gyp_release_x86_predictable': [
438      'gyp', 'release_bot', 'x86', 'v8_enable_verify_predictable'],
439  },
440
441  'mixins': {
442    'android': {
443      'gn_args': 'target_os="android" v8_android_log_stdout=true',
444      'gyp_defines': 'OS=android v8_android_log_stdout=1',
445    },
446
447    'arm': {
448      'gn_args': 'target_cpu="arm"',
449      'gyp_defines': 'target_arch=arm',
450    },
451
452    'arm64': {
453      'gn_args': 'target_cpu="arm64"',
454      'gyp_defines': 'target_arch=arm64',
455    },
456
457    'asan': {
458      'gn_args': 'is_asan=true',
459      'gyp_defines': 'clang=1 asan=1',
460    },
461
462    'bb': {
463      'gn_args': 'sanitizer_coverage_flags="bb"',
464      'gyp_defines': 'sanitizer_coverage=bb',
465    },
466
467    'cfi': {
468      'gn_args': 'is_cfi=true use_cfi_diag=true',
469      'gyp_defines': 'cfi_vptr=1 cfi_diag=1',
470    },
471
472    'clang': {
473      'gn_args': 'is_clang=true',
474      'gyp_defines': 'clang=1',
475    },
476
477    'coverage': {
478      # TODO(machenbach): Add this to gn.
479      'gyp_defines': 'coverage=1',
480    },
481
482    'crosscompile': {
483      'gyp_crosscompile': True,
484    },
485
486    'dcheck_always_on': {
487      'gn_args': 'dcheck_always_on=true',
488      'gyp_defines': 'dcheck_always_on=1',
489    },
490
491    'debug': {
492      'gn_args': 'is_debug=true v8_enable_backtrace=true',
493      'gyp_defines': 'v8_enable_backtrace=1',
494    },
495
496    'debug_bot': {
497      'mixins': [
498        'debug', 'shared', 'goma', 'v8_enable_slow_dchecks',
499        'v8_optimized_debug'],
500    },
501
502    'debug_bot_static': {
503      'mixins': [
504        'debug', 'static', 'goma', 'v8_enable_slow_dchecks',
505        'v8_optimized_debug'],
506    },
507
508    'debug_trybot': {
509      'mixins': ['debug_bot', 'minimal_symbols'],
510    },
511
512    'edge': {
513      'gn_args': 'sanitizer_coverage_flags="edge"',
514      'gyp_defines': 'sanitizer_coverage=edge',
515    },
516
517    'gcc': {
518      'gn_args': 'is_clang=false use_sysroot=false',
519      'gyp_defines': 'clang=0',
520    },
521
522    'gcmole': {
523      'gn_args': 'v8_gcmole=true',
524      'gyp_defines': 'gcmole=1',
525    },
526
527    'gn': {'type': 'gn'},
528
529    'goma': {
530      # The MB code will properly escape goma_dir if necessary in the GYP
531      # code path; the GN code path needs no escaping.
532      'gn_args': 'use_goma=true',
533      'gyp_defines': 'use_goma=1',
534    },
535
536    'gyp': {'type': 'gyp'},
537
538    'hard_float': {
539      'gn_args': 'arm_float_abi="hard"',
540      'gyp_defines': 'arm_float_abi=hard',
541    },
542
543    'lsan': {
544      'gn_args': 'is_lsan=true',
545      'gyp_defines': 'lsan=1',
546    },
547
548    'minimal_symbols': {
549      'gn_args': 'symbol_level=1',
550      'gyp_defines': 'fastbuild=1',
551    },
552
553    'mips': {
554      'gn_args': 'target_cpu="mips"',
555      'gyp_defines': 'target_arch=mips',
556    },
557
558    'msan': {
559      'gn_args': ('is_msan=true msan_track_origins=2 '
560                  'use_prebuilt_instrumented_libraries=true'),
561      'gyp_defines': ('clang=1 msan=1 msan_track_origins=2 '
562                      'use_prebuilt_instrumented_libraries=1'),
563    },
564
565    'release': {
566      'gn_args': 'is_debug=false',
567    },
568
569    'release_bot': {
570      'mixins': ['release', 'static', 'goma'],
571    },
572
573    'release_trybot': {
574      'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'],
575    },
576
577    'shared': {
578      'gn_args': 'is_component_build=true',
579      'gyp_defines': 'component=shared_library',
580    },
581
582    'simulate_arm': {
583      'gn_args': 'target_cpu="x86" v8_target_cpu="arm"',
584      'gyp_defines': 'target_arch=ia32 v8_target_arch=arm',
585    },
586
587    'simulate_arm64': {
588      'gn_args': 'target_cpu="x64" v8_target_cpu="arm64"',
589      'gyp_defines': 'target_arch=x64 v8_target_arch=arm64',
590    },
591
592    'simulate_mipsel': {
593      'gn_args':
594          'target_cpu="x86" v8_target_cpu="mipsel" mips_arch_variant="r2"',
595      'gyp_defines': 'target_arch=ia32 v8_target_arch=mipsel',
596    },
597
598    'simulate_mips64el': {
599      'gn_args': 'target_cpu="x64" v8_target_cpu="mips64el"',
600      'gyp_defines': 'target_arch=x64 v8_target_arch=mips64el',
601    },
602
603    'simulate_ppc': {
604      'gn_args': 'target_cpu="x86" v8_target_cpu="ppc"',
605      'gyp_defines': 'target_arch=ia32 v8_target_arch=ppc',
606    },
607
608    'simulate_ppc64': {
609      'gn_args': 'target_cpu="x64" v8_target_cpu="ppc64"',
610      'gyp_defines': 'target_arch=x64 v8_target_arch=ppc64',
611    },
612
613    'simulate_s390': {
614      'gn_args': 'target_cpu="x86" v8_target_cpu="s390"',
615      'gyp_defines': 'target_arch=ia32 v8_target_arch=s390',
616    },
617
618    'simulate_s390x': {
619      'gn_args': 'target_cpu="x64" v8_target_cpu="s390x"',
620      'gyp_defines': 'target_arch=x64 v8_target_arch=s390x',
621    },
622
623    'simulate_x87': {
624      'gn_args': 'target_cpu="x86" v8_target_cpu="x87"',
625      'gyp_defines': 'target_arch=ia32 v8_target_arch=x87',
626    },
627
628    'static': {
629      'gn_args': 'is_component_build=false',
630      'gyp_defines': 'component=static_library',
631    },
632
633    'swarming': {
634      'gn_args': 'v8_test_isolation_mode="prepare"',
635      'gyp_defines': 'test_isolation_mode=prepare',
636    },
637
638    # TODO(machenbach): Remove the symbolized config after the bots are gone.
639    'symbolized': {
640      'gn_args': 'v8_no_inline=true',
641      'gyp_defines':
642        'release_extra_cflags="-fno-inline-functions -fno-inline"',
643    },
644
645    'tsan': {
646      'gn_args': 'is_tsan=true',
647      'gyp_defines': 'clang=1 tsan=1',
648    },
649
650    'valgrind': {
651      'gn_args': 'v8_has_valgrind=true',
652      'gyp_defines': 'has_valgrind=1',
653    },
654
655    'v8_no_i18n': {
656      'gn_args': 'v8_enable_i18n_support=false icu_use_data_file=false',
657      'gyp_defines': 'v8_enable_i18n_support=0 icu_use_data_file_flag=0',
658    },
659
660    'v8_correctness_fuzzer': {
661      'gn_args': 'v8_correctness_fuzzer=true v8_multi_arch_build=true',
662    },
663
664    'v8_disable_inspector': {
665      'gn_args': 'v8_enable_inspector=false',
666      'gyp_defines': 'v8_enable_inspector=0 ',
667    },
668
669    'v8_enable_disassembler': {
670      'gn_args': 'v8_enable_disassembler=true',
671      'gyp_defines': 'v8_enable_disassembler=1',
672    },
673
674    'v8_enable_slow_dchecks': {
675      'gn_args': 'v8_enable_slow_dchecks=true',
676      'gyp_defines': 'v8_enable_slow_dchecks=1',
677    },
678
679    'v8_enable_verify_predictable': {
680      'gn_args': 'v8_enable_verify_predictable=true',
681      'gyp_defines': 'v8_enable_verify_predictable=1',
682    },
683
684    'v8_enable_vtunejit': {
685      'gn_args': 'v8_enable_vtunejit=true',
686      'gyp_defines': 'v8_enable_vtunejit=1',
687    },
688
689    'v8_full_debug': {
690      'gn_args': 'v8_optimized_debug=false',
691      'gyp_defines': 'v8_optimized_debug=0',
692    },
693
694    'v8_interpreted_regexp': {
695      'gn_args': 'v8_interpreted_regexp=true',
696      'gyp_defines': 'v8_interpreted_regexp=1',
697    },
698
699    'v8_optimized_debug': {
700      # This is the default in gn for debug.
701      'gyp_defines': 'v8_optimized_debug=1',
702    },
703
704    'v8_snapshot_custom': {
705      # GN path is relative to project root.
706      'gn_args': 'v8_embed_script="test/mjsunit/mjsunit.js"',
707
708      # Gyp path is relative to src/v8.gyp.
709      'gyp_defines': 'embed_script=../test/mjsunit/mjsunit.js',
710    },
711
712    'v8_snapshot_internal': {
713      'gn_args': 'v8_use_external_startup_data=false',
714      'gyp_defines': 'v8_use_external_startup_data=0',
715    },
716
717    'v8_snapshot_none': {
718      'gn_args': 'v8_use_snapshot=false',
719      'gyp_defines': 'v8_use_snapshot=false',
720    },
721
722    'v8_verify_heap': {
723      'gn_args': 'v8_enable_verify_heap=true',
724      'gyp_defines': 'v8_enable_verify_heap=1',
725    },
726
727    'v8_verify_csa': {
728      'gn_args': 'v8_enable_verify_csa=true',
729    },
730
731    'x64': {
732      'gn_args': 'target_cpu="x64"',
733      'gyp_defines': 'target_arch=x64',
734    },
735
736    'x86': {
737      'gn_args': 'target_cpu="x86"',
738      'gyp_defines': 'target_arch=ia32',
739    },
740  },
741}
742