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

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

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