# Copyright 2016 The V8 project authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. { # This is a map of buildbot master names -> buildbot builder names -> # config names (where each config name is a key in the 'configs' dict, # below). MB uses this dict to look up which config to use for a given bot. # Bots are ordered by appearance on waterfall. 'masters': { 'developer_default': { 'arm.debug': 'default_debug_arm', 'arm.optdebug': 'default_optdebug_arm', 'arm.release': 'default_release_arm', 'arm64.debug': 'default_debug_arm64', 'arm64.optdebug': 'default_optdebug_arm64', 'arm64.release': 'default_release_arm64', 'ia32.debug': 'default_debug_x86', 'ia32.optdebug': 'default_optdebug_x86', 'ia32.release': 'default_release_x86', 'x64.debug': 'default_debug_x64', 'x64.optdebug': 'default_optdebug_x64', 'x64.release': 'default_release_x64', }, 'client.dart.fyi': { 'v8-linux-release': 'gyp_release_x86_disassembler', 'v8-win-release': 'gyp_release_x86_disassembler', 'v8-mac-release': 'gyp_release_x86_disassembler', }, 'client.dynamorio': { 'linux-v8-dr': 'gyp_release_x64', }, 'client.v8': { # Linux. 'V8 Linux - builder': 'gn_release_x86_gcmole', 'V8 Linux - debug builder': 'gn_debug_x86', 'V8 Linux - nosnap builder': 'gn_release_x86_no_snap', 'V8 Linux - nosnap debug builder': 'gn_debug_x86_no_snap', 'V8 Linux - shared': 'gn_release_x86_shared_verify_heap', 'V8 Linux - noi18n - debug': 'gn_debug_x86_no_i18n', 'V8 Linux - verify csa': 'gn_release_x86_verify_csa', # Linux64. 'V8 Linux64 - builder': 'gn_release_x64_valgrind', 'V8 Linux64 - debug builder': 'gn_debug_x64_valgrind', 'V8 Linux64 - custom snapshot - debug builder': 'gn_debug_x64_custom', 'V8 Linux64 - internal snapshot': 'gn_release_x64_internal', 'V8 Linux64 - gyp': 'gyp_release_x64', 'V8 Linux64 - verify csa': 'gn_release_x64_verify_csa', # Windows. 'V8 Win32 - builder': 'gn_release_x86_minimal_symbols', 'V8 Win32 - debug builder': 'gn_debug_x86_minimal_symbols', 'V8 Win32 - nosnap - shared': 'gn_release_x86_no_snap_shared_minimal_symbols', 'V8 Win64': 'gn_release_x64_minimal_symbols', 'V8 Win64 - debug': 'gn_debug_x64_minimal_symbols', # TODO(machenbach): Switch plugins on when errors are fixed. 'V8 Win64 - clang': 'gn_release_x64_clang', # Mac. 'V8 Mac': 'gn_release_x86', 'V8 Mac - debug': 'gn_debug_x86', 'V8 Mac64': 'gn_release_x64', 'V8 Mac64 - debug': 'gn_debug_x64', 'V8 Mac GC Stress': 'gn_debug_x86', 'V8 Mac64 ASAN': 'gn_release_x64_asan_no_lsan', # Sanitizers. 'V8 Linux64 ASAN': 'gn_release_x64_asan', 'V8 Linux64 TSAN': 'gn_release_x64_tsan', 'V8 Linux - arm64 - sim - MSAN': 'gn_release_simulate_arm64_msan', # Clusterfuzz. 'V8 Linux64 - release builder': 'gn_release_x64_correctness_fuzzer', 'V8 Linux64 ASAN no inline - release builder': 'gn_release_x64_asan_symbolized_edge_verify_heap', 'V8 Linux64 ASAN - debug builder': 'gn_debug_x64_asan_edge', 'V8 Linux64 ASAN arm64 - debug builder': 'gn_debug_simulate_arm64_asan_edge', 'V8 Linux ASAN arm - debug builder': 'gn_debug_simulate_arm_asan_edge', 'V8 Linux ASAN mipsel - debug builder': 'gn_debug_simulate_mipsel_asan_edge', # Misc. 'V8 Linux gcc 4.8': 'gn_release_x86_gcc', # FYI. 'V8 Linux - swarming staging': 'gn_release_x64', # TODO(machenbach): Figure out if symbolized is still needed. The # original config also specified -O1, which we dropped because chromium # doesn't have it (anymore). 'V8 Linux64 - cfi': 'gyp_release_x64_cfi_symbolized', 'V8 Linux - vtunejit': 'gyp_debug_x86_vtunejit', 'V8 Linux64 - gcov coverage': 'gyp_release_x64_gcc_coverage', 'V8 Linux - predictable': 'gyp_release_x86_predictable', 'V8 Linux - full debug': 'gyp_full_debug_x86', 'V8 Linux - interpreted regexp': 'gyp_release_x86_interpreted_regexp', 'V8 Random Deopt Fuzzer - debug': 'gyp_debug_x86', }, 'client.v8.ports': { # Arm. 'V8 Arm - builder': 'gn_release_arm', 'V8 Arm - debug builder': 'gn_debug_arm', 'V8 Android Arm - builder': 'gn_release_android_arm', 'V8 Linux - arm - sim': 'gn_release_simulate_arm', 'V8 Linux - arm - sim - debug': 'gn_debug_simulate_arm', # Arm64. 'V8 Android Arm64 - builder': 'gn_release_android_arm64', 'V8 Linux - arm64 - sim': 'gn_release_simulate_arm64', 'V8 Linux - arm64 - sim - debug': 'gn_debug_simulate_arm64', 'V8 Linux - arm64 - sim - nosnap - debug': 'gn_debug_simulate_arm64_no_snap', 'V8 Linux - arm64 - sim - gc stress': 'gn_debug_simulate_arm64', # Mips. 'V8 Mips - builder': 'gyp_release_mips_no_snap_no_i18n', 'V8 Linux - mipsel - sim - builder': 'gn_release_simulate_mipsel', 'V8 Linux - mips64el - sim - builder': 'gn_release_simulate_mips64el', # PPC. 'V8 Linux - ppc - sim': 'gyp_release_simulate_ppc', 'V8 Linux - ppc64 - sim': 'gyp_release_simulate_ppc64', # S390. 'V8 Linux - s390 - sim': 'gyp_release_simulate_s390', 'V8 Linux - s390x - sim': 'gyp_release_simulate_s390x', # X87. 'V8 Linux - x87 - nosnap - debug builder': 'gyp_debug_simulate_x87', }, 'client.v8.branches': { 'V8 Linux - beta branch': 'gn_release_x86', 'V8 Linux - beta branch - debug': 'gn_debug_x86', 'V8 Linux - stable branch': 'gn_release_x86', 'V8 Linux - stable branch - debug': 'gn_debug_x86', 'V8 Linux64 - beta branch': 'gn_release_x64', 'V8 Linux64 - beta branch - debug': 'gn_debug_x64', 'V8 Linux64 - stable branch': 'gn_release_x64', 'V8 Linux64 - stable branch - debug': 'gn_debug_x64', 'V8 arm - sim - beta branch': 'gn_release_simulate_arm', 'V8 arm - sim - beta branch - debug': 'gn_debug_simulate_arm', 'V8 arm - sim - stable branch': 'gn_release_simulate_arm', 'V8 arm - sim - stable branch - debug': 'gn_debug_simulate_arm', 'V8 mips64el - sim - beta branch': 'gn_release_simulate_mips64el', 'V8 mips64el - sim - stable branch': 'gn_release_simulate_mips64el', 'V8 mipsel - sim - beta branch': 'gn_release_simulate_mipsel', 'V8 mipsel - sim - stable branch': 'gn_release_simulate_mipsel', 'V8 ppc - sim - beta branch': 'gyp_release_simulate_ppc', 'V8 ppc - sim - stable branch': 'gyp_release_simulate_ppc', 'V8 ppc64 - sim - beta branch': 'gyp_release_simulate_ppc64', 'V8 ppc64 - sim - stable branch': 'gyp_release_simulate_ppc64', 'V8 s390 - sim - beta branch': 'gyp_release_simulate_s390', 'V8 s390 - sim - stable branch': 'gyp_release_simulate_s390', 'V8 s390x - sim - beta branch': 'gyp_release_simulate_s390x', 'V8 s390x - sim - stable branch': 'gyp_release_simulate_s390x', }, 'tryserver.v8': { 'v8_linux_rel_ng': 'gn_release_x86_gcmole_trybot', 'v8_linux_verify_csa_rel_ng': 'gn_release_x86_verify_csa', 'v8_linux_avx2_dbg': 'gn_debug_x86_trybot', 'v8_linux_nodcheck_rel_ng': 'gn_release_x86_minimal_symbols', 'v8_linux_dbg_ng': 'gn_debug_x86_trybot', 'v8_linux_noi18n_rel_ng': 'gn_release_x86_no_i18n_trybot', 'v8_linux_gc_stress_dbg': 'gn_debug_x86_trybot', 'v8_linux_nosnap_rel': 'gn_release_x86_no_snap_trybot', 'v8_linux_nosnap_dbg': 'gn_debug_x86_no_snap_trybot', 'v8_linux_gcc_compile_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux_gcc_rel': 'gn_release_x86_gcc_minimal_symbols', 'v8_linux64_rel_ng': 'gn_release_x64_valgrind_trybot', 'v8_linux64_verify_csa_rel_ng': 'gn_release_x64_verify_csa', 'v8_linux64_gyp_rel_ng': 'gyp_release_x64', 'v8_linux64_avx2_rel_ng': 'gn_release_x64_trybot', 'v8_linux64_avx2_dbg': 'gn_debug_x64_trybot', 'v8_linux64_asan_rel_ng': 'gn_release_x64_asan_minimal_symbols', 'v8_linux64_msan_rel': 'gn_release_simulate_arm64_msan_minimal_symbols', 'v8_linux64_sanitizer_coverage_rel': 'gyp_release_x64_asan_minimal_symbols_coverage', 'v8_linux64_tsan_rel': 'gn_release_x64_tsan_minimal_symbols', 'v8_win_dbg': 'gn_debug_x86_trybot', 'v8_win_compile_dbg': 'gn_debug_x86_trybot', 'v8_win_rel_ng': 'gn_release_x86_trybot', 'v8_win_nosnap_shared_rel_ng': 'gn_release_x86_no_snap_shared_minimal_symbols', 'v8_win64_dbg': 'gn_debug_x64_minimal_symbols', 'v8_win64_rel_ng': 'gn_release_x64_trybot', 'v8_mac_rel_ng': 'gn_release_x86_trybot', 'v8_mac_dbg': 'gn_debug_x86_trybot', 'v8_mac_gc_stress_dbg': 'gn_debug_x86_trybot', 'v8_mac64_rel': 'gn_release_x64_trybot', 'v8_mac64_dbg': 'gn_debug_x64_minimal_symbols', 'v8_mac64_asan_rel': 'gn_release_x64_asan_no_lsan', 'v8_linux_arm_rel_ng': 'gn_release_simulate_arm_trybot', 'v8_linux_arm_dbg': 'gn_debug_simulate_arm', 'v8_linux_arm_armv8a_rel': 'gn_release_simulate_arm_trybot', 'v8_linux_arm_armv8a_dbg': 'gn_debug_simulate_arm', 'v8_linux_arm64_rel_ng': 'gn_release_simulate_arm64_trybot', 'v8_linux_arm64_dbg': 'gn_debug_simulate_arm64', 'v8_linux_arm64_gc_stress_dbg': 'gn_debug_simulate_arm64', 'v8_linux_mipsel_compile_rel': 'gn_release_simulate_mipsel', 'v8_linux_mips64el_compile_rel': 'gn_release_simulate_mips64el', 'v8_android_arm_compile_rel': 'gn_release_android_arm', }, }, # To ease readability, config values are ordered by: # gyp/gn, release/debug, arch type, other values alphabetically. 'configs': { # Developer default configs. 'default_debug_arm': [ 'gn', 'debug', 'simulate_arm', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_arm': [ 'gn', 'debug', 'simulate_arm', 'v8_enable_slow_dchecks'], 'default_release_arm': [ 'gn', 'release', 'simulate_arm'], 'default_debug_arm64': [ 'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_arm64': [ 'gn', 'debug', 'simulate_arm64', 'v8_enable_slow_dchecks'], 'default_release_arm64': [ 'gn', 'release', 'simulate_arm64'], 'default_debug_x64': [ 'gn', 'debug', 'x64', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_x64': [ 'gn', 'debug', 'x64', 'v8_enable_slow_dchecks'], 'default_release_x64': [ 'gn', 'release', 'x64'], 'default_debug_x86': [ 'gn', 'debug', 'x86', 'v8_enable_slow_dchecks', 'v8_full_debug'], 'default_optdebug_x86': [ 'gn', 'debug', 'x86', 'v8_enable_slow_dchecks'], 'default_release_x86': [ 'gn', 'release', 'x86'], # GN debug configs for simulators. 'gn_debug_simulate_arm': [ 'gn', 'debug_bot', 'simulate_arm', 'swarming'], 'gn_debug_simulate_arm_asan_edge': [ 'gn', 'debug_bot', 'simulate_arm', 'asan', 'edge'], 'gn_debug_simulate_arm64': [ 'gn', 'debug_bot', 'simulate_arm64', 'swarming'], 'gn_debug_simulate_arm64_asan_edge': [ 'gn', 'debug_bot', 'simulate_arm64', 'asan', 'lsan', 'edge'], 'gn_debug_simulate_arm64_no_snap': [ 'gn', 'debug_bot', 'simulate_arm64', 'swarming', 'v8_snapshot_none'], 'gn_debug_simulate_mipsel_asan_edge': [ 'gn', 'debug_bot', 'simulate_mipsel', 'asan', 'edge'], # GN release configs for simulators. 'gn_release_simulate_arm': [ 'gn', 'release_bot', 'simulate_arm', 'swarming'], 'gn_release_simulate_arm_trybot': [ 'gn', 'release_trybot', 'simulate_arm', 'swarming'], 'gn_release_simulate_arm64': [ 'gn', 'release_bot', 'simulate_arm64', 'swarming'], 'gn_release_simulate_arm64_msan': [ 'gn', 'release_bot', 'simulate_arm64', 'msan', 'swarming'], 'gn_release_simulate_arm64_msan_minimal_symbols': [ 'gn', 'release_bot', 'simulate_arm64', 'msan', 'minimal_symbols', 'swarming'], 'gn_release_simulate_arm64_trybot': [ 'gn', 'release_trybot', 'simulate_arm64', 'swarming'], 'gn_release_simulate_mipsel': [ 'gn', 'release_bot', 'simulate_mipsel', 'swarming'], 'gn_release_simulate_mips64el': [ 'gn', 'release_bot', 'simulate_mips64el', 'swarming'], # GN debug configs for arm. 'gn_debug_arm': [ 'gn', 'debug_bot', 'arm', 'crosscompile', 'hard_float', 'swarming'], # GN release configs for arm. 'gn_release_arm': [ 'gn', 'release_bot', 'arm', 'crosscompile', 'hard_float', 'swarming'], 'gn_release_android_arm': [ 'gn', 'release_bot', 'arm', 'android', 'crosscompile', 'minimal_symbols', 'swarming'], 'gn_release_android_arm64': [ 'gn', 'release_bot', 'arm64', 'android', 'crosscompile', 'minimal_symbols', 'swarming'], # GN release configs for x64. 'gn_release_x64': [ 'gn', 'release_bot', 'x64', 'swarming'], 'gn_release_x64_asan': [ 'gn', 'release_bot', 'x64', 'asan', 'lsan', 'swarming'], 'gn_release_x64_asan_minimal_symbols': [ 'gn', 'release_bot', 'x64', 'asan', 'lsan', 'minimal_symbols', 'swarming'], 'gn_release_x64_asan_no_lsan': [ 'gn', 'release_bot', 'x64', 'asan', 'swarming'], 'gn_release_x64_asan_symbolized_edge_verify_heap': [ 'gn', 'release_bot', 'x64', 'asan', 'edge', 'lsan', 'symbolized', 'v8_verify_heap'], 'gn_release_x64_clang': [ 'gn', 'release_bot', 'x64', 'clang', 'swarming'], 'gn_release_x64_correctness_fuzzer' : [ 'gn', 'release_bot', 'x64', 'v8_correctness_fuzzer'], 'gn_release_x64_internal': [ 'gn', 'release_bot', 'x64', 'swarming', 'v8_snapshot_internal'], 'gn_release_x64_minimal_symbols': [ 'gn', 'release_bot', 'x64', 'minimal_symbols', 'swarming'], 'gn_release_x64_trybot': [ 'gn', 'release_trybot', 'x64', 'swarming'], 'gn_release_x64_tsan': [ 'gn', 'release_bot', 'x64', 'tsan', 'swarming'], 'gn_release_x64_tsan_minimal_symbols': [ 'gn', 'release_bot', 'x64', 'tsan', 'minimal_symbols', 'swarming'], 'gn_release_x64_valgrind': [ 'gn', 'release_bot', 'x64', 'swarming', 'valgrind'], 'gn_release_x64_valgrind_trybot': [ 'gn', 'release_trybot', 'x64', 'swarming', 'valgrind'], 'gn_release_x64_verify_csa': [ 'gn', 'release_bot', 'x64', 'swarming', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_verify_csa'], # GN debug configs for x64. 'gn_debug_x64': [ 'gn', 'debug_bot', 'x64', 'swarming'], 'gn_debug_x64_asan_edge': [ 'gn', 'debug_bot', 'x64', 'asan', 'lsan', 'edge'], 'gn_debug_x64_custom': [ 'gn', 'debug_bot', 'x64', 'swarming', 'v8_snapshot_custom'], 'gn_debug_x64_minimal_symbols': [ 'gn', 'debug_bot', 'x64', 'minimal_symbols', 'swarming'], 'gn_debug_x64_trybot': [ 'gn', 'debug_trybot', 'x64', 'swarming'], 'gn_debug_x64_valgrind': [ 'gn', 'debug_bot', 'x64', 'swarming', 'valgrind'], # GN debug configs for x86. 'gn_debug_x86': [ 'gn', 'debug_bot', 'x86', 'swarming'], 'gn_debug_x86_minimal_symbols': [ 'gn', 'debug_bot', 'x86', 'minimal_symbols', 'swarming'], 'gn_debug_x86_no_i18n': [ 'gn', 'debug_bot', 'x86', 'swarming', 'v8_disable_inspector', 'v8_no_i18n'], 'gn_debug_x86_no_snap': [ 'gn', 'debug_bot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_debug_x86_no_snap_trybot': [ 'gn', 'debug_trybot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_debug_x86_trybot': [ 'gn', 'debug_trybot', 'x86', 'swarming'], # GN release configs for x86. 'gn_release_x86': [ 'gn', 'release_bot', 'x86', 'swarming'], 'gn_release_x86_gcc': [ 'gn', 'release_bot', 'x86', 'gcc'], 'gn_release_x86_gcc_minimal_symbols': [ 'gn', 'release_bot', 'x86', 'gcc', 'minimal_symbols'], 'gn_release_x86_gcmole': [ 'gn', 'release_bot', 'x86', 'gcmole', 'swarming'], 'gn_release_x86_gcmole_trybot': [ 'gn', 'release_trybot', 'x86', 'gcmole', 'swarming'], 'gn_release_x86_minimal_symbols': [ 'gn', 'release_bot', 'x86', 'minimal_symbols', 'swarming'], 'gn_release_x86_no_i18n_trybot': [ 'gn', 'release_trybot', 'x86', 'swarming', 'v8_disable_inspector', 'v8_no_i18n'], 'gn_release_x86_no_snap': [ 'gn', 'release_bot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_release_x86_no_snap_shared_minimal_symbols': [ 'gn', 'release', 'x86', 'goma', 'minimal_symbols', 'shared', 'swarming', 'v8_snapshot_none'], 'gn_release_x86_no_snap_trybot': [ 'gn', 'release_trybot', 'x86', 'swarming', 'v8_snapshot_none'], 'gn_release_x86_shared_verify_heap': [ 'gn', 'release', 'x86', 'goma', 'shared', 'swarming', 'v8_verify_heap'], 'gn_release_x86_trybot': [ 'gn', 'release_trybot', 'x86', 'swarming'], 'gn_release_x86_verify_csa': [ 'gn', 'release_bot', 'x86', 'swarming', 'dcheck_always_on', 'v8_enable_slow_dchecks', 'v8_verify_csa'], # Gyp debug configs for simulators. 'gyp_debug_simulate_x87': [ 'gyp', 'debug_bot_static', 'simulate_x87', 'swarming'], # Gyp debug configs for x86. 'gyp_debug_x86': [ 'gyp', 'debug_bot', 'x86', 'swarming'], 'gyp_debug_x86_vtunejit': [ 'gyp', 'debug_bot', 'x86', 'v8_enable_vtunejit'], 'gyp_full_debug_x86': [ 'gyp', 'debug', 'x86', 'goma', 'static', 'v8_enable_slow_dchecks', 'v8_full_debug'], # Gyp release configs for mips. 'gyp_release_mips_no_snap_no_i18n': [ 'gyp', 'release', 'mips', 'crosscompile', 'static', 'v8_no_i18n', 'v8_snapshot_none'], # Gyp release configs for simulators. 'gyp_release_simulate_ppc': [ 'gyp', 'release_bot', 'simulate_ppc', 'swarming'], 'gyp_release_simulate_ppc64': [ 'gyp', 'release_bot', 'simulate_ppc64', 'swarming'], 'gyp_release_simulate_s390': [ 'gyp', 'release_bot', 'simulate_s390', 'swarming'], 'gyp_release_simulate_s390x': [ 'gyp', 'release_bot', 'simulate_s390x', 'swarming'], # Gyp release configs for x64. 'gyp_release_x64': [ 'gyp', 'release_bot', 'x64', 'swarming'], 'gyp_release_x64_asan_minimal_symbols_coverage': [ 'gyp', 'release_bot', 'x64', 'asan', 'bb', 'coverage', 'lsan', 'minimal_symbols', 'swarming'], 'gyp_release_x64_cfi_symbolized': [ 'gyp', 'release_bot', 'x64', 'cfi', 'swarming', 'symbolized'], 'gyp_release_x64_gcc_coverage': [ 'gyp', 'release_bot', 'x64', 'coverage', 'gcc'], # Gyp release configs for x86. 'gyp_release_x86_disassembler': [ 'gyp', 'release_bot', 'x86', 'v8_enable_disassembler'], 'gyp_release_x86_interpreted_regexp': [ 'gyp', 'release_bot', 'x86', 'v8_interpreted_regexp'], 'gyp_release_x86_predictable': [ 'gyp', 'release_bot', 'x86', 'v8_enable_verify_predictable'], }, 'mixins': { 'android': { 'gn_args': 'target_os="android" v8_android_log_stdout=true', 'gyp_defines': 'OS=android v8_android_log_stdout=1', }, 'arm': { 'gn_args': 'target_cpu="arm"', 'gyp_defines': 'target_arch=arm', }, 'arm64': { 'gn_args': 'target_cpu="arm64"', 'gyp_defines': 'target_arch=arm64', }, 'asan': { 'gn_args': 'is_asan=true', 'gyp_defines': 'clang=1 asan=1', }, 'bb': { 'gn_args': 'sanitizer_coverage_flags="bb"', 'gyp_defines': 'sanitizer_coverage=bb', }, 'cfi': { 'gn_args': 'is_cfi=true use_cfi_diag=true', 'gyp_defines': 'cfi_vptr=1 cfi_diag=1', }, 'clang': { 'gn_args': 'is_clang=true', 'gyp_defines': 'clang=1', }, 'coverage': { # TODO(machenbach): Add this to gn. 'gyp_defines': 'coverage=1', }, 'crosscompile': { 'gyp_crosscompile': True, }, 'dcheck_always_on': { 'gn_args': 'dcheck_always_on=true', 'gyp_defines': 'dcheck_always_on=1', }, 'debug': { 'gn_args': 'is_debug=true v8_enable_backtrace=true', 'gyp_defines': 'v8_enable_backtrace=1', }, 'debug_bot': { 'mixins': [ 'debug', 'shared', 'goma', 'v8_enable_slow_dchecks', 'v8_optimized_debug'], }, 'debug_bot_static': { 'mixins': [ 'debug', 'static', 'goma', 'v8_enable_slow_dchecks', 'v8_optimized_debug'], }, 'debug_trybot': { 'mixins': ['debug_bot', 'minimal_symbols'], }, 'edge': { 'gn_args': 'sanitizer_coverage_flags="edge"', 'gyp_defines': 'sanitizer_coverage=edge', }, 'gcc': { 'gn_args': 'is_clang=false use_sysroot=false', 'gyp_defines': 'clang=0', }, 'gcmole': { 'gn_args': 'v8_gcmole=true', 'gyp_defines': 'gcmole=1', }, 'gn': {'type': 'gn'}, 'goma': { # The MB code will properly escape goma_dir if necessary in the GYP # code path; the GN code path needs no escaping. 'gn_args': 'use_goma=true', 'gyp_defines': 'use_goma=1', }, 'gyp': {'type': 'gyp'}, 'hard_float': { 'gn_args': 'arm_float_abi="hard"', 'gyp_defines': 'arm_float_abi=hard', }, 'lsan': { 'gn_args': 'is_lsan=true', 'gyp_defines': 'lsan=1', }, 'minimal_symbols': { 'gn_args': 'symbol_level=1', 'gyp_defines': 'fastbuild=1', }, 'mips': { 'gn_args': 'target_cpu="mips"', 'gyp_defines': 'target_arch=mips', }, 'msan': { 'gn_args': ('is_msan=true msan_track_origins=2 ' 'use_prebuilt_instrumented_libraries=true'), 'gyp_defines': ('clang=1 msan=1 msan_track_origins=2 ' 'use_prebuilt_instrumented_libraries=1'), }, 'release': { 'gn_args': 'is_debug=false', }, 'release_bot': { 'mixins': ['release', 'static', 'goma'], }, 'release_trybot': { 'mixins': ['release_bot', 'minimal_symbols', 'dcheck_always_on'], }, 'shared': { 'gn_args': 'is_component_build=true', 'gyp_defines': 'component=shared_library', }, 'simulate_arm': { 'gn_args': 'target_cpu="x86" v8_target_cpu="arm"', 'gyp_defines': 'target_arch=ia32 v8_target_arch=arm', }, 'simulate_arm64': { 'gn_args': 'target_cpu="x64" v8_target_cpu="arm64"', 'gyp_defines': 'target_arch=x64 v8_target_arch=arm64', }, 'simulate_mipsel': { 'gn_args': 'target_cpu="x86" v8_target_cpu="mipsel" mips_arch_variant="r2"', 'gyp_defines': 'target_arch=ia32 v8_target_arch=mipsel', }, 'simulate_mips64el': { 'gn_args': 'target_cpu="x64" v8_target_cpu="mips64el"', 'gyp_defines': 'target_arch=x64 v8_target_arch=mips64el', }, 'simulate_ppc': { 'gn_args': 'target_cpu="x86" v8_target_cpu="ppc"', 'gyp_defines': 'target_arch=ia32 v8_target_arch=ppc', }, 'simulate_ppc64': { 'gn_args': 'target_cpu="x64" v8_target_cpu="ppc64"', 'gyp_defines': 'target_arch=x64 v8_target_arch=ppc64', }, 'simulate_s390': { 'gn_args': 'target_cpu="x86" v8_target_cpu="s390"', 'gyp_defines': 'target_arch=ia32 v8_target_arch=s390', }, 'simulate_s390x': { 'gn_args': 'target_cpu="x64" v8_target_cpu="s390x"', 'gyp_defines': 'target_arch=x64 v8_target_arch=s390x', }, 'simulate_x87': { 'gn_args': 'target_cpu="x86" v8_target_cpu="x87"', 'gyp_defines': 'target_arch=ia32 v8_target_arch=x87', }, 'static': { 'gn_args': 'is_component_build=false', 'gyp_defines': 'component=static_library', }, 'swarming': { 'gn_args': 'v8_test_isolation_mode="prepare"', 'gyp_defines': 'test_isolation_mode=prepare', }, # TODO(machenbach): Remove the symbolized config after the bots are gone. 'symbolized': { 'gn_args': 'v8_no_inline=true', 'gyp_defines': 'release_extra_cflags="-fno-inline-functions -fno-inline"', }, 'tsan': { 'gn_args': 'is_tsan=true', 'gyp_defines': 'clang=1 tsan=1', }, 'valgrind': { 'gn_args': 'v8_has_valgrind=true', 'gyp_defines': 'has_valgrind=1', }, 'v8_no_i18n': { 'gn_args': 'v8_enable_i18n_support=false icu_use_data_file=false', 'gyp_defines': 'v8_enable_i18n_support=0 icu_use_data_file_flag=0', }, 'v8_correctness_fuzzer': { 'gn_args': 'v8_correctness_fuzzer=true', }, 'v8_disable_inspector': { 'gn_args': 'v8_enable_inspector=false', 'gyp_defines': 'v8_enable_inspector=0 ', }, 'v8_enable_disassembler': { 'gn_args': 'v8_enable_disassembler=true', 'gyp_defines': 'v8_enable_disassembler=1', }, 'v8_enable_slow_dchecks': { 'gn_args': 'v8_enable_slow_dchecks=true', 'gyp_defines': 'v8_enable_slow_dchecks=1', }, 'v8_enable_verify_predictable': { 'gn_args': 'v8_enable_verify_predictable=true', 'gyp_defines': 'v8_enable_verify_predictable=1', }, 'v8_enable_vtunejit': { 'gn_args': 'v8_enable_vtunejit=true', 'gyp_defines': 'v8_enable_vtunejit=1', }, 'v8_full_debug': { 'gn_args': 'v8_optimized_debug=false', 'gyp_defines': 'v8_optimized_debug=0', }, 'v8_interpreted_regexp': { 'gn_args': 'v8_interpreted_regexp=true', 'gyp_defines': 'v8_interpreted_regexp=1', }, 'v8_optimized_debug': { # This is the default in gn for debug. 'gyp_defines': 'v8_optimized_debug=1', }, 'v8_snapshot_custom': { # GN path is relative to project root. 'gn_args': 'v8_embed_script="test/mjsunit/mjsunit.js"', # Gyp path is relative to src/v8.gyp. 'gyp_defines': 'embed_script=../test/mjsunit/mjsunit.js', }, 'v8_snapshot_internal': { 'gn_args': 'v8_use_external_startup_data=false', 'gyp_defines': 'v8_use_external_startup_data=0', }, 'v8_snapshot_none': { 'gn_args': 'v8_use_snapshot=false', 'gyp_defines': 'v8_use_snapshot=false', }, 'v8_verify_heap': { 'gn_args': 'v8_enable_verify_heap=true', 'gyp_defines': 'v8_enable_verify_heap=1', }, 'v8_verify_csa': { 'gn_args': 'v8_enable_verify_csa=true', }, 'x64': { 'gn_args': 'target_cpu="x64"', 'gyp_defines': 'target_arch=x64', }, 'x86': { 'gn_args': 'target_cpu="x86"', 'gyp_defines': 'target_arch=ia32', }, }, }