# 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_gn_debug_static_bot_arm_device',
      'iOS32 Release': 'ios_gn_release_bot_arm_device',
      'iOS64 Debug': 'ios_gn_debug_static_bot_arm64_device',
      'iOS64 Release': 'ios_gn_release_bot_arm64_device',
      'iOS32 Simulator Debug': 'ios_gn_debug_static_bot_x86',
      'iOS64 Simulator Debug': 'ios_gn_debug_static_bot_x64',
      'iOS64 Debug (GYP)': 'ios_gyp_debug_static_bot_arm64_device',
      'iOS64 Release (GYP)': 'ios_gyp_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',
      'Mac64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
      'Mac64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',

      # Linux
      'Linux32 Debug': 'gn_debug_bot_x86',
      'Linux32 Release': 'gn_release_bot_x86',
      'Linux32 ARM': 'gn_crosscompile_release_bot_arm',
      'Linux64 Debug': 'gn_debug_bot_x64',
      'Linux64 Release': 'gn_release_bot_x64',
      'Linux Asan': 'gn_asan_lsan_clang_release_bot_x64',
      'Linux Memcheck': 'gn_memcheck_release_bot_x64',
      'Linux MSan': 'gn_msan_clang_release_bot_x64',
      'Linux Tsan v2': 'gn_tsan_clang_release_bot_x64',
      'Linux UBSan': 'gn_ubsan_clang_release_bot_x64',
      'Linux UBSan vptr': 'gn_ubsan_vptr_clang_release_bot_x64',
      'Linux64 Release [large tests]': 'gn_release_bot_x64',
      'Linux64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
      'Linux64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',

      # 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_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',
      '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': 'gn_debug_bot_x86',
      'Win32 Release': 'gn_release_bot_x86',
      'Win64 Debug': 'gn_debug_bot_x64',
      'Win64 Release': 'gn_release_bot_x64',
      'Win32 Debug (Clang)': 'win_gn_clang_debug_bot_x86',
      'Win32 Release (Clang)': 'win_gn_clang_release_bot_x86',
      'Win64 Debug (Clang)': 'win_gn_clang_debug_bot_x64',
      'Win64 Release (Clang)': 'win_gn_clang_release_bot_x64',
      'Win SyzyASan': 'win_gn_syzyasan_release_bot_x86',
      'Win DrMemory Full': 'win_gn_drmemory_debug_bot_x86',
      'Win DrMemory Light': 'win_gn_drmemory_debug_bot_x86',
      'Win32 Release [large tests]': 'gn_release_bot_x86',
      'Win64 Debug (GYP)': 'gyp_debug_bot_x64_exclude_tests',
      'Win64 Release (GYP)': 'gyp_release_bot_x64_exclude_tests',
    },
    'tryserver.webrtc': {
      # iOS
      'ios_dbg': 'ios_gn_debug_static_bot_arm_device',
      'ios_rel': 'ios_gn_release_bot_arm_device',
      'ios_arm64_dbg': 'ios_gn_debug_static_bot_arm64_device',
      'ios_arm64_rel': 'ios_gn_release_bot_arm64_device',
      'ios32_sim_dbg': 'ios_gn_debug_static_bot_x86',
      'ios64_sim_dbg': 'ios_gn_debug_static_bot_x64',
      'ios64_gyp_dbg': 'ios_gyp_debug_static_bot_arm64_device',
      'ios64_gyp_rel': 'ios_gyp_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',
      'mac_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
      'mac_gyp_rel': 'gyp_release_bot_x64_exclude_tests',

      # Linux
      'linux_compile_dbg': 'gn_debug_bot_x64',
      'linux_compile_rel': 'gn_release_bot_x64',
      'linux_dbg': 'gn_debug_bot_x64',
      'linux_rel': 'gn_release_bot_x64',
      'linux32_dbg': 'gn_debug_bot_x86',
      'linux32_rel': 'gn_release_bot_x86',
      'linux_arm': 'gn_crosscompile_release_bot_arm',
      'linux_asan': 'gn_asan_lsan_clang_release_bot_x64',
      'linux_memcheck': 'gn_memcheck_release_bot_x64',
      'linux_msan': 'gn_msan_clang_release_bot_x64',
      'linux_tsan2': 'gn_tsan_clang_release_bot_x64',
      'linux_ubsan': 'gn_ubsan_clang_release_bot_x64',
      'linux_ubsan_vptr': 'gn_ubsan_vptr_clang_release_bot_x64',
      'linux_baremetal': 'gn_release_bot_x64',
      'linux_swarming': 'swarming_gn_debug_bot_x64',
      'linux_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
      'linux_gyp_rel': 'gyp_release_bot_x64_exclude_tests',

      # 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_bot_arm',
      'android_arm64_rel': 'android_gn_release_bot_arm64',
      'android_n6': 'android_gn_debug_static_bot_arm',
      'android_gyp_dbg': 'android_gyp_debug_static_bot_arm',
      'android_gyp_rel': 'android_gyp_release_bot_arm',
      'android_swarming': 'swarming_android_gn_release_bot_arm',

      # Windows
      'win_compile_dbg': 'gn_debug_bot_x86',
      'win_compile_rel': 'gn_release_bot_x86',
      'win_compile_x64_dbg': 'gn_debug_bot_x64',
      'win_compile_x64_rel': 'gn_release_bot_x64',
      'win_dbg': 'gn_debug_bot_x86',
      'win_rel': 'gn_release_bot_x86',
      'win_x64_dbg': 'gn_debug_bot_x64',
      'win_x64_rel': 'gn_release_bot_x64',
      'win_clang_dbg': 'win_gn_clang_debug_bot_x86',
      'win_clang_rel': 'win_gn_clang_release_bot_x86',
      'win_x64_clang_dbg': 'win_gn_clang_debug_bot_x64',
      'win_x64_clang_rel': 'win_gn_clang_release_bot_x64',
      'win_asan': 'win_gn_syzyasan_release_bot_x86',
      'win_drmemory_light': 'win_gn_drmemory_debug_bot_x86',
      'win_drmemory_full': 'win_gn_drmemory_debug_bot_x86',
      'win_baremetal': 'gn_release_bot_x86',
      'win_swarming': 'swarming_gn_debug_bot_x64',
      'win_x64_gyp_dbg': 'gyp_debug_bot_x64_exclude_tests',
      'win_x64_gyp_rel': 'gyp_release_bot_x64_exclude_tests',
    },
    'client.webrtc.fyi': {
      # Mac
      'Mac64 Release (swarming)': 'swarming_gn_release_bot_x64',

      # Linux
      'Linux64 GCC': 'gn_gcc_release_bot_x64',
      'Linux64 Release (swarming)': 'swarming_gn_release_bot_x64',

      # Android
      'Android32 Release (swarming)': 'swarming_android_gn_release_bot_arm',
      'Android32 ASan (L Nexus6)': 'android_gn_asan_shared_release_bot_arm',
      'Android32 Builder': 'android_gn_release_bot_arm',
      'Android32 Tests (J Nexus4)': 'none',
      'Android32 Tests (K Nexus5)': 'none',
      'Android32 Tests (L Nexus6)': 'none',

      # Windows
      'Win32 Release (swarming)': 'swarming_gn_release_bot_x86',
    }
  },

  # 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_gn_debug_static_bot_arm_device': [
      'ios', 'gn', 'debug_static_bot', 'arm', 'device'
    ],
    'ios_gn_release_bot_arm_device': [
      'ios', 'gn', 'release_bot', 'arm', 'device'
    ],
    'ios_gn_debug_static_bot_x86': [
      'ios', 'gn', 'debug_static_bot', 'x86'
    ],
    'ios_gn_debug_static_bot_x64': [
      'ios', 'gn', 'debug_static_bot', 'x64'
    ],
    'ios_gyp_debug_static_bot_arm64_device': [
      'ios', 'gyp', 'gyp_limited_support_build', 'debug_static_bot', 'arm64',
      'device'
    ],
    'ios_gyp_release_bot_arm64_device': [
      'ios', 'gyp', 'gyp_limited_support_build', 'release_bot', 'arm64',
      'device'
    ],

    # Linux, Mac and Windows
    'gn_gcc_release_bot_x64': [
      'gn', 'gcc', 'release_bot', 'x64'
    ],
    'gn_crosscompile_release_bot_arm': [
      'gn', 'crosscompile', 'openh264_release_bot', 'arm'
    ],
    'gyp_debug_bot_x64_exclude_tests': [
      'gyp', 'gyp_limited_support_build', 'debug_bot', 'x64'
    ],
    'gyp_release_bot_x64_exclude_tests': [
      'gyp', 'gyp_limited_support_build', 'release_bot', 'x64'
    ],
    'gn_asan_lsan_clang_release_bot_x64': [
      'gn', 'asan', 'lsan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gn_memcheck_release_bot_x64': [
      'gn', 'memcheck', 'openh264_release_bot', 'x64'
    ],
    'gn_msan_clang_release_bot_x64': [
      'gn', 'msan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gn_tsan_clang_release_bot_x64': [
      'gn', 'tsan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gn_ubsan_clang_release_bot_x64': [
      'gn', 'ubsan', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gn_ubsan_vptr_clang_release_bot_x64': [
      'gn', 'ubsan_vptr', 'clang', 'openh264_release_bot', 'x64'
    ],
    'gn_debug_bot_x86': [
      'gn', 'openh264_debug_bot', 'x86'
    ],
    'gn_release_bot_x86': [
      'gn', 'openh264_release_bot', 'x86'
    ],
    'gn_debug_bot_x64': [
      'gn', 'openh264_debug_bot', 'x64'
    ],
    'gn_release_bot_x64': [
      'gn', 'openh264_release_bot', 'x64'
    ],
    'swarming_gn_release_bot_x86': [
      'swarming', 'gn', 'openh264_release_bot', 'x86'
    ],
    'swarming_gn_debug_bot_x64': [
      'swarming', 'gn', 'openh264_debug_bot', 'x64'
    ],
    'swarming_gn_release_bot_x64': [
      'swarming', 'gn', 'openh264_release_bot', 'x64'
    ],

    # Windows
    'win_gn_clang_debug_bot_x86': [
      'gn', 'clang', 'openh264_debug_bot', 'x86',
    ],
    'win_gn_clang_release_bot_x86': [
      'gn', 'clang', 'openh264_release_bot', 'x86',
    ],
    'win_gn_clang_debug_bot_x64': [
      'gn', 'clang', 'openh264_debug_bot', 'x64',
    ],
    'win_gn_clang_release_bot_x64': [
      'gn', 'clang', 'openh264_release_bot', 'x64',
    ],
    'win_gn_syzyasan_release_bot_x86': [
      'gn', 'syzyasan', 'minimal_symbols', 'openh264_release_bot', 'x86',
    ],
    # TODO(kjellander): Flip DrMemory bots over to Release after GN migration
    # (http://crbug.com/636414).
    'win_gn_drmemory_debug_bot_x86': [
      'gn', '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', 'gyp_limited_support_build', 'debug_static_bot', 'arm'
    ],
    'android_gyp_release_bot_arm': [
      'android', 'gyp', 'gyp_limited_support_build', 'release_bot', 'arm'
    ],
    '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_bot_arm': [
      'android', 'gn', 'clang', 'debug_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'
    ],
    'android_gn_asan_shared_release_bot_arm': [
      'android', 'gn', 'asan', 'clang', 'shared', 'release_bot', 'arm'
    ],
    'swarming_android_gn_release_bot_arm': [
      'swarming', 'android', 'gn', 'release_bot', 'arm'
    ],

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

    'gcc': {
      'gn_args': 'is_clang=false use_sysroot=false',
      'gyp_defines': 'clang=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'},

    'gyp_limited_support_build': {
      'gyp_defines': (
          'include_examples=0 include_tests=0 include_ilbc=0 '
          'build_expat=0 build_json=0 build_libevent=0 build_libjpeg=0 '
          'build_libsrtp=0 build_libvpx=0 build_libyuv=0 build_openmax_dl=0 '
          'build_opus=0 build_protobuf=0 build_ssl=0 build_usrsctp=0 '
          'enable_video=0 linux_use_bundled_binutils=0 rtc_use_openmax_dl=1 '
          'use_openssl=1 use_x11=0 use_gtk=0'),
    },

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