# Copyright (c) 2016 The WebRTC 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 in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

# FOR DETAILS ON THIS FILE SEE THE MAIN COPY IN //tools/mb/mb_config.pyl.
# This is configuration for standalone WebRTC bots. It is used to keep the bot
# configurations source-side instead of in the buildbot scripts. That makes it
# easy to try different configurations of GYP and GN in tryjob patches.

{
  # This is a map of buildbot master names -> buildbot builder names ->
  # config names (where each config name is a key in the 'configs' dict,
  # above). mb uses this dict to look up which config to use for a given bot.
  # The builders should be sorted by the order they appear in the /builders
  # page on the buildbots, *not* alphabetically.
  'masters': {
    'client.webrtc': {
      # iOS
      'iOS32 Debug': 'ios_gyp_debug_static_bot_arm_device',
      'iOS32 Release': 'ios_gyp_release_bot_arm_device',
      'iOS64 Debug': 'ios_gyp_debug_static_bot_arm64_device',
      'iOS64 Release': 'ios_gyp_release_bot_arm64_device',
      'iOS32 Simulator Debug': 'ios_gyp_debug_static_bot_x86',
      'iOS64 Simulator Debug': 'ios_gyp_debug_static_bot_x64',
      'iOS64 Debug (GN)': 'ios_gn_debug_static_bot_arm64_device',
      'iOS64 Release (GN)': 'ios_gn_release_bot_arm64_device',

      # Mac
      'Mac64 Debug': 'gn_debug_bot_x64',
      'Mac64 Release': 'gn_release_bot_x64',
      'Mac Asan': 'mac_gn_asan_clang_release_bot_x64',
      'Mac64 Release [large tests]': 'gn_release_bot_x64',
      # TODO(kjellander): Remove the two GN configs below as soon we've renamed
      # the bots to the GYP versions (duplicated now).
      'Mac64 Debug (GN)': 'gyp_debug_bot_x64_exclude_tests',
      'Mac64 Release (GN)': 'gyp_release_bot_x64_exclude_tests',
      'Mac64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
      'Mac64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',

      # Linux
      'Linux32 ARM': 'gyp_crosscompile_release_bot_arm',
      'Linux32 Debug': 'gyp_debug_bot_x86',
      'Linux32 Release': 'gyp_release_bot_x86',
      'Linux64 Debug': 'gyp_debug_bot_x64',
      'Linux64 Release': 'gyp_release_bot_x64',
      'Linux Asan': 'gyp_asan_lsan_clang_release_bot_x64',
      'Linux Memcheck': 'gyp_memcheck_release_bot_x64',
      'Linux MSan': 'gyp_msan_clang_release_bot_x64',
      'Linux Tsan v2': 'gyp_tsan_clang_release_bot_x64',
      'Linux UBSan': 'gyp_ubsan_clang_release_bot_x64',
      'Linux UBSan vptr': 'gyp_ubsan_vptr_clang_release_bot_x64',
      'Linux64 Release [large tests]': 'gyp_release_bot_x64',
      'Linux64 Debug (GN)': 'gn_debug_bot_x64',
      'Linux64 Release (GN)': 'gn_release_bot_x64',

      # Android
      'Android32 Builder': 'android_gn_release_bot_arm',
      'Android32 Builder (dbg)': 'android_gn_debug_static_bot_arm',
      'Android32 Builder x86': 'android_gn_release_bot_x86',
      'Android32 Builder x86 (dbg)': 'android_gn_debug_static_bot_x86',
      'Android32 Builder MIPS (dbg)': 'android_gn_clang_debug_static_bot_mipsel',
      'Android32 Clang (dbg)': 'android_gn_clang_debug_static_bot_arm',
      'Android64 Builder': 'android_gn_release_bot_arm64',
      'Android64 Builder (dbg)': 'android_gn_debug_static_bot_arm64',
      'Android64 Builder x64 (dbg)': 'android_gn_debug_static_bot_x64',
      # TODO(kjellander): Remove the 'Android32 GN' configs as soon we've
      # renamed these bots to Android32 GYP in the main waterfall.
      'Android32 GN': 'android_gyp_release_bot_arm',
      'Android32 GN (dbg)': 'android_gyp_debug_static_bot_arm',
      'Android32 GYP': 'android_gyp_release_bot_arm',
      'Android32 GYP (dbg)': 'android_gyp_debug_static_bot_arm',
      'Android32 Tests (L Nexus5)(dbg)': 'none',
      'Android32 Tests (L Nexus5)': 'none',
      'Android32 Tests (L Nexus7.2)(dbg)': 'none',
      'Android32 Tests (L Nexus7.2)': 'none',
      'Android64 Tests (L Nexus9)': 'none',

      # Windows
      'Win32 Debug': 'gyp_debug_bot_x86',
      'Win32 Release': 'gyp_release_bot_x86',
      'Win64 Debug': 'gyp_debug_bot_x64',
      'Win64 Release': 'gyp_release_bot_x64',
      'Win64 Debug (GN)': 'gn_debug_bot_x64',
      'Win64 Release (GN)': 'gn_release_bot_x64',
      'Win32 Debug (Clang)': 'win_gyp_clang_debug_bot_x86',
      'Win32 Release (Clang)': 'win_gyp_clang_release_bot_x86',
      'Win64 Debug (Clang)': 'win_gyp_clang_debug_bot_x64',
      'Win64 Release (Clang)': 'win_gyp_clang_release_bot_x64',
      'Win SyzyASan': 'win_gyp_syzyasan_release_bot_x86',
      'Win DrMemory Full': 'win_gyp_drmemory_debug_bot_x86',
      'Win DrMemory Light': 'win_gyp_drmemory_debug_bot_x86',
      'Win32 Release [large tests]': 'gyp_release_bot_x86',
    },
    'tryserver.webrtc': {
      # iOS
      'ios_dbg': 'ios_gyp_debug_static_bot_arm_device',
      'ios_rel': 'ios_gyp_release_bot_arm_device',
      'ios_arm64_dbg': 'ios_gyp_debug_static_bot_arm64_device',
      'ios_arm64_rel': 'ios_gyp_release_bot_arm64_device',
      'ios32_sim_dbg': 'ios_gyp_debug_static_bot_x86',
      'ios64_sim_dbg': 'ios_gyp_debug_static_bot_x64',
      'ios64_gn_dbg': 'ios_gn_debug_static_bot_arm64_device',
      'ios64_gn_rel': 'ios_gn_release_bot_arm64_device',

      # Mac
      'mac_compile_dbg': 'gn_debug_bot_x64',
      'mac_compile_rel': 'gn_release_bot_x64',
      'mac_dbg': 'gn_debug_bot_x64',
      'mac_rel': 'gn_release_bot_x64',
      'mac_asan': 'mac_gn_asan_clang_release_bot_x64',
      'mac_baremetal': 'gn_release_bot_x64',
      'mac_swarming': 'swarming_gn_debug_bot_x64',
      # TODO(kjellander): Remove the two GN configs below as soon we've renamed
      # the bots to the GYP versions (duplicated now).
      'mac_gn_dbg': 'gyp_debug_bot_x64_exclude_tests',
      'mac_gn_rel': 'gyp_release_bot_x64_exclude_tests',
      'mac_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
      'mac_gyp_rel': 'gyp_release_bot_x64_exclude_tests',

      # Linux
      'linux_compile_dbg': 'gyp_debug_bot_x64',
      'linux_compile_rel': 'gyp_release_bot_x64',
      'linux_dbg': 'gyp_debug_bot_x64',
      'linux_rel': 'gyp_release_bot_x64',
      'linux_gn_dbg': 'gn_debug_bot_x64',
      'linux_gn_rel': 'gn_release_bot_x64',
      'linux_arm': 'gyp_crosscompile_release_bot_arm',
      'linux_asan': 'gyp_asan_lsan_clang_release_bot_x64',
      'linux_memcheck': 'gyp_memcheck_release_bot_x64',
      'linux_msan': 'gyp_msan_clang_release_bot_x64',
      'linux_tsan2': 'gyp_tsan_clang_release_bot_x64',
      'linux_ubsan': 'gyp_ubsan_clang_release_bot_x64',
      'linux_ubsan_vptr': 'gyp_ubsan_vptr_clang_release_bot_x64',
      'linux_baremetal': 'gyp_release_bot_x64',
      'linux_swarming': 'swarming_gyp_debug_bot_x64',

      # Android
      'android_compile_dbg': 'android_gn_debug_static_bot_arm',
      'android_compile_rel': 'android_gn_release_bot_arm',
      'android_compile_arm64_dbg': 'android_gn_debug_static_bot_arm64',
      'android_compile_arm64_rel': 'android_gn_release_bot_arm64',
      'android_compile_x86_dbg': 'android_gn_debug_static_bot_x86',
      'android_compile_x86_rel': 'android_gn_release_bot_x86',
      'android_compile_x64_dbg': 'android_gn_debug_static_bot_x64',
      'android_compile_mips_dbg': 'android_gn_clang_debug_static_bot_mipsel',
      'android_dbg': 'android_gn_debug_static_bot_arm',
      'android_rel': 'android_gn_release_bot_arm',
      'android_clang_dbg': 'android_gn_clang_debug_static_bot_arm',
      'android_arm64_rel': 'android_gn_release_bot_arm64',
      'android_n6': 'android_gn_debug_static_bot_arm',
      # TODO(kjellander): Remove the android_gn_* configs as soon we've renamed
      # the bots to the GYP versions at the tryserver.
      'android_gn_dbg': 'android_gyp_debug_static_bot_arm',
      'android_gn_rel': 'android_gyp_release_bot_arm',
      'android_gyp_dbg': 'android_gyp_debug_static_bot_arm',
      'android_gyp_rel': 'android_gyp_release_bot_arm',

      # Windows
      'win_compile_dbg': 'gyp_debug_bot_x86',
      'win_compile_rel': 'gyp_release_bot_x86',
      'win_compile_x64_dbg': 'gyp_debug_bot_x64',
      'win_compile_x64_rel': 'gyp_release_bot_x64',
      'win_dbg': 'gyp_debug_bot_x86',
      'win_rel': 'gyp_release_bot_x86',
      'win_x64_dbg': 'gyp_debug_bot_x64',
      'win_x64_rel': 'gyp_release_bot_x64',
      'win_x64_gn_dbg': 'gn_debug_bot_x64',
      'win_x64_gn_rel': 'gn_release_bot_x64',
      'win_clang_dbg': 'win_gyp_clang_debug_bot_x86',
      'win_clang_rel': 'win_gyp_clang_release_bot_x86',
      'win_x64_clang_dbg': 'win_gyp_clang_debug_bot_x64',
      'win_x64_clang_rel': 'win_gyp_clang_release_bot_x64',
      'win_asan': 'win_gyp_syzyasan_release_bot_x86',
      'win_drmemory_light': 'win_gyp_drmemory_debug_bot_x86',
      'win_drmemory_full': 'win_gyp_drmemory_debug_bot_x86',
      'win_baremetal': 'gyp_release_bot_x86',
      'win_swarming': 'swarming_gyp_debug_bot_x64',
    },
  },

  # This is the list of configs that you can pass to mb; each config
  # represents a particular combination of GYP_DEFINES/gn args that
  # we must support. A given config *may* be platform-specific but
  # is not necessarily so (i.e., we might have mac, win, and linux
  # bots all using the 'gn_release_bot' config).
  'configs': {
    # iOS
    'ios_gn_debug_static_bot_arm64_device': [
      'ios', 'gn', 'debug_static_bot', 'arm64', 'device'
    ],
    'ios_gn_release_bot_arm64_device': [
      'ios', 'gn', 'release_bot', 'arm64', 'device'
    ],
    'ios_gyp_debug_static_bot_arm_device': [
      'ios', 'gyp', 'debug_static_bot', 'arm', 'device'
    ],
    'ios_gyp_release_bot_arm_device': [
      'ios', 'gyp', 'release_bot', 'arm', 'device'
    ],
    'ios_gyp_debug_static_bot_arm64_device': [
      'ios', 'gyp', 'debug_static_bot', 'arm64', 'device'
    ],
    'ios_gyp_release_bot_arm64_device': [
      'ios', 'gyp', 'release_bot', 'arm64', 'device'
    ],
    'ios_gyp_debug_static_bot_x86': [
      'ios', 'gyp', 'debug_static_bot', 'x86'
    ],
    'ios_gyp_debug_static_bot_x64': [
      'ios', 'gyp', 'release_bot', 'x64'
    ],

    # Linux, Mac and Windows
    'gyp_crosscompile_release_bot_arm': [
      'gyp', 'crosscompile', 'openh264_release_bot', 'arm'
    ],
    'gyp_debug_bot_x86': [
      'gyp', 'openh264_debug_bot', 'x86'
    ],
    'gyp_release_bot_x86': [
      'gyp', 'openh264_release_bot', 'x86'
    ],
    'gyp_debug_bot_x64': [
      'gyp', 'openh264_debug_bot', 'x64'
    ],
    'gyp_debug_bot_x64_exclude_tests': [
      'gyp', 'openh264_debug_bot', 'x64', 'exclude_tests', 'exclude_examples'
    ],
    'gyp_release_bot_x64': [
      'gyp', 'openh264_release_bot', 'x64'
    ],
    'gyp_release_bot_x64_exclude_tests': [
      'gyp', 'openh264_release_bot', 'x64', 'exclude_tests', 'exclude_examples'
    ],
    'gyp_asan_lsan_clang_release_bot_x64': [
      'gyp', 'asan', 'lsan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gyp_memcheck_release_bot_x64': [
      'gyp', 'memcheck', 'openh264_release_bot', 'x64'
    ],
    'gyp_msan_clang_release_bot_x64': [
      'gyp', 'msan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gyp_tsan_clang_release_bot_x64': [
      'gyp', 'tsan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gyp_ubsan_clang_release_bot_x64': [
      'gyp', 'ubsan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gyp_ubsan_vptr_clang_release_bot_x64': [
      'gyp', 'ubsan_vptr', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gn_debug_bot_x64': [
      'gn', 'openh264_debug_bot', 'x64'
    ],
    'gn_release_bot_x64': [
      'gn', 'openh264_release_bot', 'x64'
    ],
    'swarming_gn_debug_bot_x64': [
      'swarming', 'gn', 'openh264_debug_bot', 'x64'
    ],
    'swarming_gyp_debug_bot_x64': [
      'swarming', 'gyp', 'openh264_debug_bot', 'x64'
    ],

    # Windows
    'win_gyp_clang_debug_bot_x86': [
      'gyp', 'clang', 'openh264_debug_bot', 'x86',
    ],
    'win_gyp_clang_release_bot_x86': [
      'gyp', 'clang', 'openh264_release_bot', 'x86',
    ],
    'win_gyp_clang_debug_bot_x64': [
      'gyp', 'clang', 'openh264_debug_bot', 'x64',
    ],
    'win_gyp_clang_release_bot_x64': [
      'gyp', 'clang', 'openh264_release_bot', 'x64',
    ],
    'win_gyp_syzyasan_release_bot_x86': [
      'gyp', 'syzyasan', 'minimal_symbols', 'openh264_release_bot', 'x86',
    ],
    # TODO(kjellander): Flip DrMemory bots over to Release after GN migration
    # (http://crbug.com/636414).
    'win_gyp_drmemory_debug_bot_x86': [
      'gyp', 'drmemory', 'minimal_symbols', 'openh264_debug_bot', 'x86',
    ],

    # Mac
    'mac_gn_asan_clang_release_bot_x64': [
      'gn', 'asan', 'clang', 'openh264_release_bot', 'x64',
    ],

    # Android
    'android_gyp_debug_static_bot_arm': [
      'android', 'gyp', 'debug_static_bot', 'arm', 'exclude_tests',
      'exclude_examples'
    ],
    'android_gyp_release_bot_arm': [
      'android', 'gyp', 'release_bot', 'arm', 'exclude_tests',
      'exclude_examples'
    ],
    'android_gn_debug_static_bot_arm': [
      'android', 'gn', 'debug_static_bot', 'arm'
    ],
    'android_gn_release_bot_arm': [
      'android', 'gn', 'release_bot', 'arm'
    ],
    'android_gn_debug_static_bot_x86': [
      'android', 'gn', 'debug_static_bot', 'x86'
    ],
    'android_gn_release_bot_x86': [
      'android', 'gn', 'release_bot', 'x86'
    ],
    'android_gn_clang_debug_static_bot_arm': [
      'android', 'gn', 'clang', 'debug_static_bot', 'arm'
    ],
    'android_gn_clang_debug_static_bot_mipsel': [
      'android', 'gn', 'clang', 'debug_static_bot', 'mipsel'
    ],
    'android_gn_debug_static_bot_arm64': [
      'android', 'gn', 'debug_static_bot', 'arm64'
    ],
    'android_gn_release_bot_arm64': [
      'android', 'gn', 'release_bot', 'arm64'
    ],
    'android_gn_debug_static_bot_x64': [
      'android', 'gn', 'debug_static_bot', 'x64'
    ],

    # This is used for tracking purposes; any bot that uses this config
    # should never actually run MB.
    'none': [
      'error',
    ],
  },

  # This is a dict mapping a given 'mixin' name to a dict of settings that
  # mb should use. See //tools/mb/docs/user_guide.md for more information.
  'mixins': {
    'android': {
      'gn_args': 'target_os="android"',
      'gyp_defines': 'OS=android',
    },

    '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': 'asan=1',
    },

    'clang': {
      'gn_args': 'is_clang=true',
      'gyp_defines': 'clang=1',
    },

    'crosscompile': {
      # This mixin is only needed on GYP bots that are doing cross-compiles
      # but are *not* targetting Android or iOS (where
      # webrtc/build/gyp_webrtc.py will set the crosscompile variable
      # automatically). It is not need in GN at all.
      'gyp_crosscompile': True,
    },

    'dcheck_always_on': {
      'gn_args': 'dcheck_always_on=true',
      'gyp_defines': 'dcheck_always_on=1',
    },

    'debug': {
      'gn_args': 'is_debug=true',
    },

    'debug_bot': {
      'mixins': ['debug', 'shared', 'goma'],
    },

    'debug_static_bot': {
      'mixins': ['debug', 'static', 'minimal_symbols', 'goma'],
    },

    'device': {
      'gn_args': 'ios_enable_code_signing=false',
      'gyp_defines': 'chromium_ios_signing=0',
    },

    'drmemory': {
      'gn_args': 'is_component_build=true enable_iterator_debugging=false',
      'gyp_defines': 'component=shared_library build_for_tool=drmemory',
    },

    # This mixin is used to force configs that use it to fail. It
    # is used in two cases: when we have bots that we haven't looked
    # at yet and don't know whether they need MB or not, and for bots
    # that are test-only and should never run MB.
    'error': {
      'gn_args': 'error',
      'gyp_defines': 'target_arch=unknown',
    },

    'exclude_examples': {
      'gyp_defines': 'include_examples=0',
    },

    'exclude_tests': {
      'gn_args': 'rtc_include_tests=false',
      'gyp_defines': 'include_tests=0',
    },

    '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'},

    'ios': {
      'gn_args': 'target_os="ios"',
      'gyp_defines': 'OS=ios',
    },

    'lsan': {
      'gn_args': 'is_lsan=true',
      'gyp_defines': 'lsan=1',
    },

    'memcheck': {
      'gyp_defines': 'build_for_tool=memcheck',
    },

    'minimal_symbols': {
      'gn_args': 'symbol_level=1',
      'gyp_defines': 'fastbuild=1',
    },

    'mipsel': {
      'gn_args': 'target_cpu="mipsel"',
      'gyp_defines': 'target_arch=mipsel',
    },

    'minimal_symbols': {
      'gn_args': 'symbol_level=1',
      'gyp_defines': 'fastbuild=1',
    },

    'msan': {
      'gn_args': ('is_msan=true msan_track_origins=2 '
                  'use_prebuilt_instrumented_libraries=true'),
      'gyp_defines': ('msan=1 msan_track_origins=2 '
                      'use_prebuilt_instrumented_libraries=1'),
    },

    'openh264': {
      'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true',
      'gyp_defines': 'ffmpeg_branding=Chrome rtc_use_h264=1',
    },

    'openh264_debug_bot': {
      'mixins': ['openh264', 'debug_bot'],
    },

    'openh264_release_bot': {
      'mixins': ['openh264', 'release_bot'],
    },

    'release': {
      'gn_args': 'is_debug=false',
    },

    'release_bot': {
      'mixins': ['release', 'static', 'dcheck_always_on', 'goma'],
    },

    'shared': {
      'gn_args': 'is_component_build=true',
      'gyp_defines': 'component=shared_library',
    },

    'static': {
      'gn_args': 'is_component_build=false',
      'gyp_defines': 'component=static_library',
    },

    'swarming': {
      'gn_args': '',
      'gyp_defines': 'test_isolation_mode=prepare',
    },

    'syzyasan': {
      'gn_args': 'is_syzyasan=true',
      'gyp_defines': 'syzyasan=1'
    },

    'tsan': {
      'gn_args': 'is_tsan=true',
      'gyp_defines': 'tsan=1',
    },

    'ubsan': {
      'gn_args': 'is_ubsan=true',
      'gyp_defines': 'ubsan=1',
    },

    'ubsan_vptr': {
      'gn_args': 'is_ubsan_vptr=true',
      'gyp_defines': 'ubsan_vptr=1',
    },

    'x64': {
      'gn_args': 'target_cpu="x64"',
      'gyp_defines': 'target_arch=x64',
    },

    'x86': {
      'gn_args': 'target_cpu="x86"',
      'gyp_defines': 'target_arch=ia32',
    },
  },
}
