blob: 65c6cc07e6937cdcde9e18db14356f2f8ca46a85 [file] [log] [blame]
use_relative_paths = True
gclient_gn_args_file = 'build/config/gclient_args.gni'
gclient_gn_args = [
'dawn_wasm',
'generate_location_tags',
]
git_dependencies = 'SYNC'
vars = {
'chromium_git': 'https://chromium.googlesource.com',
'dawn_git': 'https://dawn.googlesource.com',
'github_git': 'https://github.com',
'swiftshader_git': 'https://swiftshader.googlesource.com',
'dawn_standalone': True,
'dawn_node': False, # Also fetches dependencies required for building NodeJS bindings.
'dawn_wasm': False, # Also fetches dependencies required for building WebAssembly.
'dawn_tintd': False, # Also fetches dependencies required for building tintd.
'dawn_cmake_version': 'version:2@3.23.3',
'dawn_cmake_win32_sha1': 'b106d66bcdc8a71ea2cdf5446091327bfdb1bcd7',
'dawn_gn_version': 'git_revision:5d0a4153b0bcc86c5a23310d5b648a587be3c56d',
# ninja CIPD package version.
# https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja
'dawn_ninja_version': 'version:3@1.12.1.chromium.4',
'dawn_go_version': 'version:2@1.21.3',
'dawn_node_version': 'version:2@20.11.0',
# GN variable required by //testing that will be output in the gclient_args.gni
'generate_location_tags': False,
# Fetch clang-tidy into the same bin/ directory as our clang binary.
'checkout_clang_tidy': False,
# Fetch configuration files required for the 'use_remoteexec' gn arg
'download_remoteexec_cfg': False,
# RBE instance to use for running remote builds
'rbe_instance': 'projects/rbe-chrome-untrusted/instances/default_instance',
# RBE project to download rewrapper config files for. Only needed if
# different from the project used in 'rbe_instance'
'rewrapper_cfg_project': '',
# reclient CIPD package
'reclient_package': 'infra/rbe/client/',
# reclient CIPD package version
'reclient_version': 're_client_version:0.176.0.8c46330a-gomaip',
# siso CIPD package version.
'siso_version': 'git_revision:15568691576f74b11a3c73c85a3c8dd5efb72f05',
# 'magic' text to tell depot_tools that git submodules should be accepted
# but parity with DEPS file is expected.
'SUBMODULE_MIGRATION': 'True',
'fetch_cmake': False,
# condition to allowlist deps to be synced in Cider. Allowlisting is needed
# because not all deps are compatible with Cider. Once we migrate everything
# to be compatible we can get rid of this allowlisting mecahnism and remove
# this condition. Tracking bug for removing this condition: b/349365433
'non_git_source': 'True',
}
deps = {
'buildtools': {
'url': '{chromium_git}/chromium/src/buildtools@958004daacdd90070d44b236a1581c81d71740ca',
'condition': 'dawn_standalone',
},
'third_party/clang-format/script': {
'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@911fc51fb4657b50626a915f4a7509c463e4b169',
'condition': 'dawn_standalone',
},
'buildtools/linux64': {
'packages': [{
'package': 'gn/gn/linux-amd64',
'version': Var('dawn_gn_version'),
}],
'dep_type': 'cipd',
'condition': 'dawn_standalone and host_os == "linux"',
},
'buildtools/mac': {
'packages': [{
'package': 'gn/gn/mac-${{arch}}',
'version': Var('dawn_gn_version'),
}],
'dep_type': 'cipd',
'condition': 'dawn_standalone and host_os == "mac"',
},
'buildtools/win': {
'packages': [{
'package': 'gn/gn/windows-amd64',
'version': Var('dawn_gn_version'),
}],
'dep_type': 'cipd',
'condition': 'dawn_standalone and host_os == "win"',
},
'third_party/depot_tools': {
'url': '{chromium_git}/chromium/tools/depot_tools.git@675a3a9ccd7cf9367bb4caa58c30f08b56d45ef5',
'condition': 'dawn_standalone',
},
'third_party/libc++/src': {
'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@d957c6fda58b826b7982d90be9f94d261fe0e22c',
'condition': 'dawn_standalone',
},
'third_party/libc++abi/src': {
'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@f7f5a32b3e9582092d8a4511acec036a09ae8524',
'condition': 'dawn_standalone',
},
# Required by libc++
'third_party/llvm-libc/src': {
'url': '{chromium_git}/external/github.com/llvm/llvm-project/libc.git@c909c9e439a6ac2c15eae2cc43c5b4c9f6ee0f3a',
'condition': 'dawn_standalone',
},
# Required by //build on Linux
'third_party/libdrm/src': {
'url': '{chromium_git}/chromiumos/third_party/libdrm.git@ad78bb591d02162d3b90890aa4d0a238b2a37cde',
'condition': 'dawn_standalone and host_os == "linux"',
},
# Dependencies required to use GN, and Clang in standalone.
# The //build, //tools/clang, //tools/memory, and '//tools/valgrind' deps
# should all be updated in unison, as there are dependencies between them.
'build': {
'url': '{chromium_git}/chromium/src/build@0c8d2cd8fbe6a0755441ba3f6402bb241a3f6f1e',
'condition': 'dawn_standalone',
},
'tools/clang': {
'url': '{chromium_git}/chromium/src/tools/clang@8e6c4696e2aee88cf2c60c1e6a527069fb735c14',
'condition': 'dawn_standalone',
},
'tools/memory': {
'url': '{chromium_git}/chromium/src/tools/memory@3c7b1f4daab1520239cb172059e2e16684fd3128',
'condition': 'dawn_standalone',
},
'tools/valgrind': {
'url': '{chromium_git}/chromium/src/tools/valgrind@da34b95fdbf2032df6cda5f3828c2ba421592644',
'condition': 'dawn_standalone',
},
# Linux sysroots for hermetic builds instead of relying on whatever is
# available from the system used for compilation. Only applicable to
# dawn_standalone since Chromium has its own sysroot copy.
'build/linux/debian_bullseye_armhf-sysroot': {
'bucket': 'chrome-linux-sysroot',
'condition': 'dawn_standalone and checkout_linux and checkout_arm',
'dep_type': 'gcs',
'objects': [
{
'object_name': 'e1ace9eea7f5f8906a5de665022abb745efb47ce4931ae774b58005adaf907e9',
'sha256sum': 'e1ace9eea7f5f8906a5de665022abb745efb47ce4931ae774b58005adaf907e9',
'size_bytes': 96825360,
'generation': 1714159610727506,
},
],
},
'build/linux/debian_bullseye_arm64-sysroot': {
'bucket': 'chrome-linux-sysroot',
'condition': 'dawn_standalone and checkout_linux and checkout_arm64',
'dep_type': 'gcs',
'objects': [
{
'object_name': 'd303cf3faf7804c9dd24c9b6b167d0345d41d7fe4bfb7d34add3ab342f6a236c',
'sha256sum': 'd303cf3faf7804c9dd24c9b6b167d0345d41d7fe4bfb7d34add3ab342f6a236c',
'size_bytes': 103556332,
'generation': 1714159596952688,
},
],
},
'build/linux/debian_bullseye_i386-sysroot': {
'bucket': 'chrome-linux-sysroot',
'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
'dep_type': 'gcs',
'objects': [
{
'object_name': '4300851707ad38b204e7f4912950c05ad51da0251ecc4e410de9b9fb94f7decf',
'sha256sum': '4300851707ad38b204e7f4912950c05ad51da0251ecc4e410de9b9fb94f7decf',
'size_bytes': 116515924,
'generation': 1714159579525878,
},
],
},
'build/linux/debian_bullseye_mipsel-sysroot': {
'bucket': 'chrome-linux-sysroot',
'condition': 'dawn_standalone and checkout_linux and checkout_mips',
'dep_type': 'gcs',
'objects': [
{
'object_name': 'cc3202718a58541488e79b0333ce936a32227e07228f6b3c122d99ee45f83270',
'sha256sum': 'cc3202718a58541488e79b0333ce936a32227e07228f6b3c122d99ee45f83270',
'size_bytes': 93412776,
'generation': 1714159559897107,
},
],
},
'build/linux/debian_bullseye_mips64el-sysroot': {
'bucket': 'chrome-linux-sysroot',
'condition': 'dawn_standalone and checkout_linux and checkout_mips64',
'dep_type': 'gcs',
'objects': [
{
'object_name': 'ee94d723b36d1e643820fe7ee2a8f45b3664b4c5d3c3379ebab39e474a2c9f86',
'sha256sum': 'ee94d723b36d1e643820fe7ee2a8f45b3664b4c5d3c3379ebab39e474a2c9f86',
'size_bytes': 97911708,
'generation': 1714159538956875,
},
],
},
'build/linux/debian_bullseye_amd64-sysroot': {
'bucket': 'chrome-linux-sysroot',
'condition': 'dawn_standalone and checkout_linux and checkout_x64',
'dep_type': 'gcs',
'objects': [
{
'object_name': '5df5be9357b425cdd70d92d4697d07e7d55d7a923f037c22dc80a78e85842d2c',
'sha256sum': '5df5be9357b425cdd70d92d4697d07e7d55d7a923f037c22dc80a78e85842d2c',
'size_bytes': 123084324,
'generation': 1714159395960299,
},
],
},
# Used for Dawn-side GN arg definitions.
'tools/mb': {
'url': '{chromium_git}/chromium/src/tools/mb@6c50647ee969539f9371fafdeeb38d6b2c13dc34',
'condition': 'dawn_standalone',
},
# Testing, GTest and GMock
'testing': {
'url': '{chromium_git}/chromium/src/testing@2b39694741d609b78948e2330a47d684e723f229',
'condition': 'dawn_standalone',
},
'third_party/libFuzzer/src': {
'url': '{chromium_git}/external/github.com/llvm/llvm-project/compiler-rt/lib/fuzzer.git' + '@' + 'bea408a6e01f0f7e6c82a43121fe3af4506c932e',
'condition': 'dawn_standalone',
},
'third_party/googletest': {
'url': '{chromium_git}/external/github.com/google/googletest@309dab8d4bbfcef0ef428762c6fec7172749de0f',
'condition': 'dawn_standalone',
},
# This is a dependency of //testing
'third_party/catapult': {
'url': '{chromium_git}/catapult.git@3b15c113688e725e3249b51e7a34a8d25353ddc7',
'condition': 'dawn_standalone',
},
'third_party/google_benchmark/src': {
'url': '{chromium_git}/external/github.com/google/benchmark.git' + '@' + '761305ec3b33abf30e08d50eb829e19a802581cc',
'condition': 'dawn_standalone',
},
# Jinja2 and MarkupSafe for the code generator
'third_party/jinja2': {
'url': '{chromium_git}/chromium/src/third_party/jinja2@e2d024354e11cc6b041b0cff032d73f0c7e43a07',
'condition': 'dawn_standalone',
},
'third_party/markupsafe': {
'url': '{chromium_git}/chromium/src/third_party/markupsafe@0bad08bb207bbfc1d6f3bbc82b9242b0c50e5794',
'condition': 'dawn_standalone',
},
# GLFW for tests and samples
'third_party/glfw': {
'url': '{chromium_git}/external/github.com/glfw/glfw@b35641f4a3c62aa86a0b3c983d163bc0fe36026d',
},
'third_party/vulkan_memory_allocator': {
'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@cb0597213b0fcb999caa9ed08c2f88dc45eb7d50',
'condition': 'dawn_standalone',
},
'third_party/angle': {
'url': '{chromium_git}/angle/angle@62b00f866364078bf7f58a56970eb2b81a9225cf',
'condition': 'dawn_standalone',
},
'third_party/swiftshader': {
'url': '{swiftshader_git}/SwiftShader@18d4f3db94079d05896692b9c6b3d905ec84bce7',
'condition': 'dawn_standalone',
},
'third_party/vulkan-deps': {
'url': '{chromium_git}/vulkan-deps@3964dd7c126b4c487989aa5906b0e89c435a9960',
'condition': 'dawn_standalone',
},
'third_party/glslang/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@a57276bf558f5cf94d3a9854ebdf5a2236849a5a',
'condition': 'dawn_standalone',
},
'third_party/spirv-cross/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Cross@b8fcf307f1f347089e3c46eb4451d27f32ebc8d3',
'condition': 'dawn_standalone',
},
'third_party/spirv-headers/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@01e0577914a75a2569c846778c2f93aa8e6feddd',
'condition': 'dawn_standalone',
},
'third_party/spirv-tools/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@f932fc23e2f84c8affbca4b2761d1da7dd4e0ccd',
'condition': 'dawn_standalone',
},
'third_party/vulkan-headers/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@a4f8ada9f4f97c45b8c89c57997be9cebaae65d2',
'condition': 'dawn_standalone',
},
'third_party/vulkan-loader/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@0b058dd7537945bdf09d28fd9188ed7639b90f2e',
'condition': 'dawn_standalone',
},
'third_party/vulkan-tools/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@5568ce14705e512113df5b459fc86d857b3d7789',
'condition': 'dawn_standalone',
},
'third_party/vulkan-utility-libraries/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Utility-Libraries@4d0b838ffcf1ef81151f0e7e11fad1d9ff859813',
'condition': 'dawn_standalone',
},
'third_party/vulkan-validation-layers/src': {
'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@eedfe67d440cbf1ad37a8e0539c7df3db5e27403',
'condition': 'dawn_standalone',
},
'third_party/zlib': {
'url': '{chromium_git}/chromium/src/third_party/zlib@caf4afa1afc92e16fef429f182444bed98a46a6c',
'condition': 'dawn_standalone',
},
'third_party/abseil-cpp': {
'url': '{chromium_git}/chromium/src/third_party/abseil-cpp@9d692d669253232c024b20ae19d2ff0b581ee1cd',
'condition': 'dawn_standalone',
},
'third_party/dxc': {
'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@ee1ca1e8f2a140a4267567ed26e18af1b3cabb89',
},
'third_party/dxheaders': {
# The non-Windows build of DXC depends on DirectX-Headers, and at a specific commit (not ToT)
'url': '{chromium_git}/external/github.com/microsoft/DirectX-Headers@980971e835876dc0cde415e8f9bc646e64667bf7',
'condition': 'host_os != "win"',
},
'third_party/khronos/OpenGL-Registry': {
'url': '{chromium_git}/external/github.com/KhronosGroup/OpenGL-Registry@5bae8738b23d06968e7c3a41308568120943ae77',
},
'third_party/khronos/EGL-Registry': {
'url': '{chromium_git}/external/github.com/KhronosGroup/EGL-Registry@7dea2ed79187cd13f76183c4b9100159b9e3e071',
},
# WebGPU CTS - not used directly by Dawn, only transitively by Chromium.
'third_party/webgpu-cts': {
'url': '{chromium_git}/external/github.com/gpuweb/cts@b62c3fc76c9c644a8597399b0d23f7032cabb366',
'condition': 'build_with_chromium',
},
# Dependencies required to build / run WebAssembly bindings
'third_party/emsdk': {
# Note: Always use an emsdk hash referring to a tagged release, just so
# emsdk and emscripten are always in sync with an exact release.
'url': '{chromium_git}/external/github.com/emscripten-core/emsdk.git@eff90ca04a3785f571a8095b3a42b63799cf384a',
'condition': 'dawn_wasm',
},
# Dependencies required to build / run Dawn NodeJS bindings
'third_party/node-api-headers': {
'url': '{chromium_git}/external/github.com/nodejs/node-api-headers@d5cfe19da8b974ca35764dd1c73b91d57cd3c4ce',
'condition': 'dawn_node',
},
'third_party/node-addon-api': {
'url': '{chromium_git}/external/github.com/nodejs/node-addon-api@1e26dcb52829a74260ec262edb41fc22998669b6',
'condition': 'dawn_node',
},
'third_party/gpuweb': {
'url': '{chromium_git}/external/github.com/gpuweb/gpuweb@fa7bf00046ff08740c346b2dc1f302192405bcf7',
'condition': 'dawn_node',
},
# Node binaries, when dawn_node or dawn_wasm is enabled. Architectures are
# listed out explicitly instead of using ${{platform}} because the
# architecture that these are fetched on can differ from the architecture that
# tests are ultimately run on, such as x64 vs. ARM64 Mac.
'third_party/node/linux-amd64': {
'packages': [
{
'package': 'infra/3pp/tools/nodejs/linux-amd64',
'version': Var('dawn_node_version'),
},
],
'condition': 'checkout_linux and (dawn_node or dawn_wasm)',
'dep_type': 'cipd',
},
'third_party/node/linux-arm64': {
'packages': [
{
'package': 'infra/3pp/tools/nodejs/linux-arm64',
'version': Var('dawn_node_version'),
},
],
'condition': 'checkout_linux and (dawn_node or dawn_wasm)',
'dep_type': 'cipd',
},
'third_party/node/mac-amd64': {
'packages': [
{
'package': 'infra/3pp/tools/nodejs/mac-amd64',
'version': Var('dawn_node_version'),
},
],
'condition': 'checkout_mac and (dawn_node or dawn_wasm)',
'dep_type': 'cipd',
},
'third_party/node/mac-arm64': {
'packages': [
{
'package': 'infra/3pp/tools/nodejs/mac-arm64',
'version': Var('dawn_node_version'),
},
],
'condition': 'checkout_mac and (dawn_node or dawn_wasm)',
'dep_type': 'cipd',
},
'third_party/node/windows-amd64': {
'packages': [
{
'package': 'infra/3pp/tools/nodejs/windows-amd64',
'version': Var('dawn_node_version'),
},
],
'condition': 'checkout_win and (dawn_node or dawn_wasm)',
'dep_type': 'cipd',
},
'third_party/node/windows-arm64': {
'packages': [
{
'package': 'infra/3pp/tools/nodejs/windows-arm64',
'version': Var('dawn_node_version'),
},
],
'condition': 'checkout_win and (dawn_node or dawn_wasm)',
'dep_type': 'cipd',
},
# Upstream webgpu.h headers for testing purposes
'third_party/webgpu-headers/src': {
'url': '{chromium_git}/external/github.com/webgpu-native/webgpu-headers@53a87a3d8cb4c32ec026978ce003020741df6f53',
},
'tools/golang': {
'packages': [{
'package': 'infra/3pp/tools/go/${{platform}}',
'version': Var('dawn_go_version'),
}],
'dep_type': 'cipd',
'condition': 'non_git_source',
},
'tools/cmake': {
'condition': '(fetch_cmake or dawn_node)',
'packages': [{
'package': 'infra/3pp/tools/cmake/${{platform}}',
'version': Var('dawn_cmake_version'),
}],
'dep_type': 'cipd',
},
'third_party/ninja': {
'packages': [
{
'package': 'infra/3pp/tools/ninja/${{platform}}',
'version': Var('dawn_ninja_version'),
}
],
'dep_type': 'cipd',
},
'third_party/siso/cipd': {
'packages': [
{
'package': 'build/siso/${{platform}}',
'version': Var('siso_version'),
}
],
'condition': 'dawn_standalone and non_git_source',
'dep_type': 'cipd',
},
# RBE dependencies
'buildtools/reclient': {
'packages': [
{
'package': Var('reclient_package') + '${{platform}}',
'version': Var('reclient_version'),
}
],
'condition': 'dawn_standalone and (host_cpu != "arm64" or host_os == "mac") and non_git_source',
'dep_type': 'cipd',
},
# Misc dependencies inherited from Tint
'third_party/protobuf': {
'url': '{chromium_git}/chromium/src/third_party/protobuf@fef7a765bb0d1122d32b99f588537b83e2dffe7b',
'condition': 'dawn_standalone',
},
'tools/protoc_wrapper': {
'url': '{chromium_git}/chromium/src/tools/protoc_wrapper@8ad6d21544b14c7f753852328d71861b363cc512',
'condition': 'dawn_standalone',
},
'third_party/libprotobuf-mutator/src': {
'url': '{chromium_git}/external/github.com/google/libprotobuf-mutator.git@7bf98f78a30b067e22420ff699348f084f802e12',
'condition': 'dawn_standalone',
},
# Dependencies for tintd.
'third_party/jsoncpp': {
'url': '{github_git}/open-source-parsers/jsoncpp.git@69098a18b9af0c47549d9a271c054d13ca92b006',
'condition': 'dawn_tintd',
},
'third_party/langsvr': {
'url': '{github_git}/google/langsvr.git@303c526231a90049a3e384549720f3fbd453cf66',
'condition': 'dawn_tintd',
},
# Dependencies for PartitionAlloc.
# Doc: https://docs.google.com/document/d/1wz45t0alQthsIU9P7_rQcfQyqnrBMXzrOjSzdQo-V-A
'third_party/partition_alloc': {
'url': '{chromium_git}/chromium/src/base/allocator/partition_allocator.git@fae4df38cef9720a13dd55a6b1d20600919e671b',
'condition': 'dawn_standalone',
},
}
hooks = [
{
# Ensure that the DEPS'd "depot_tools" has its self-update capability
# disabled.
'name': 'disable_depot_tools_selfupdate',
'pattern': '.',
'condition': 'dawn_standalone',
'action': [
'python3',
'third_party/depot_tools/update_depot_tools_toggle.py',
'--disable',
],
},
# Pull the compilers and system libraries for hermetic builds
{
'name': 'sysroot_x86',
'pattern': '.',
'condition': 'dawn_standalone and checkout_linux and (checkout_x86 or checkout_x64)',
'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
'--arch=x86'],
},
{
'name': 'sysroot_x64',
'pattern': '.',
'condition': 'dawn_standalone and checkout_linux and checkout_x64',
'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
'--arch=x64'],
},
{
# Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
# is more consistent (only changes when rolling build/) and is cached.
'name': 'mac_toolchain',
'pattern': '.',
'condition': 'dawn_standalone and checkout_mac',
'action': ['python3', 'build/mac_toolchain.py'],
},
{
# Case-insensitivity for the Win SDK. Must run before win_toolchain below.
'name': 'ciopfs_linux',
'pattern': '.',
'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
'action': [ 'python3',
'third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--bucket', 'chromium-browser-clang/ciopfs',
'-s', 'build/ciopfs.sha1',
]
},
{
# Update the Windows toolchain if necessary. Must run before 'clang' below.
'name': 'win_toolchain',
'pattern': '.',
'condition': 'dawn_standalone and checkout_win',
'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
},
{
# Note: On Win, this should run after win_toolchain, as it may use it.
'name': 'clang',
'pattern': '.',
'action': ['python3', 'tools/clang/scripts/update.py',
'--package=clang'],
'condition': 'dawn_standalone',
},
{
# This is also supposed to support the same set of platforms as 'clang'
# above. LLVM ToT support isn't provided at the moment.
'name': 'clang_tidy',
'pattern': '.',
'condition': 'dawn_standalone and checkout_clang_tidy',
'action': ['python3', 'tools/clang/scripts/update.py',
'--package=clang-tidy'],
},
{
'name': 'objdump',
'pattern': '.',
'action': ['python3', 'tools/clang/scripts/update.py',
'--package=objdump'],
'condition': 'dawn_standalone',
},
# Pull dsymutil binaries using checked-in hashes.
{
'name': 'dsymutil_mac_arm64',
'pattern': '.',
'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "arm64"',
'action': [ 'python3',
'third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--bucket', 'chromium-browser-clang',
'-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1',
'-o', 'tools/clang/dsymutil/bin/dsymutil',
],
},
{
'name': 'dsymutil_mac_x64',
'pattern': '.',
'condition': 'dawn_standalone and host_os == "mac" and host_cpu == "x64"',
'action': [ 'python3',
'third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--bucket', 'chromium-browser-clang',
'-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1',
'-o', 'tools/clang/dsymutil/bin/dsymutil',
],
},
# Pull rc binaries using checked-in hashes.
{
'name': 'rc_win',
'pattern': '.',
'condition': 'dawn_standalone and checkout_win and host_os == "win"',
'action': [ 'python3',
'third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--bucket', 'chromium-browser-clang/rc',
'-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
],
},
{
'name': 'rc_linux',
'pattern': '.',
'condition': 'dawn_standalone and checkout_win and host_os == "linux"',
'action': [ 'python3',
'third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--bucket', 'chromium-browser-clang/rc',
'-s', 'build/toolchain/win/rc/linux64/rc.sha1',
],
},
{
'name': 'rc_mac',
'pattern': '.',
'condition': 'dawn_standalone and checkout_win and host_os == "mac"',
'action': [ 'python3',
'third_party/depot_tools/download_from_google_storage.py',
'--no_resume',
'--bucket', 'chromium-browser-clang/rc',
'-s', 'build/toolchain/win/rc/mac/rc.sha1',
],
},
# Update build/util/LASTCHANGE.
{
'name': 'lastchange',
'pattern': '.',
'condition': 'dawn_standalone',
'action': ['python3', 'build/util/lastchange.py',
'-o', 'build/util/LASTCHANGE'],
},
# Activate emsdk for WebAssembly builds
{
'name': 'activate_emsdk',
'pattern': '.',
'condition': 'dawn_wasm',
'action': [ 'python3', 'tools/activate-emsdk' ],
},
# Configure remote exec cfg files
{
# Use luci_auth if on windows and using chrome-untrusted project
'name': 'download_and_configure_reclient_cfgs',
'pattern': '.',
'condition': 'dawn_standalone and download_remoteexec_cfg and host_os == "win"',
'action': ['python3',
'buildtools/reclient_cfgs/configure_reclient_cfgs.py',
'--rbe_instance',
Var('rbe_instance'),
'--reproxy_cfg_template',
'reproxy.cfg.template',
'--rewrapper_cfg_project',
Var('rewrapper_cfg_project'),
'--use_luci_auth_credshelper',
'--quiet',
],
}, {
'name': 'download_and_configure_reclient_cfgs',
'pattern': '.',
'condition': 'dawn_standalone and download_remoteexec_cfg and not host_os == "win"',
'action': ['python3',
'buildtools/reclient_cfgs/configure_reclient_cfgs.py',
'--rbe_instance',
Var('rbe_instance'),
'--reproxy_cfg_template',
'reproxy.cfg.template',
'--rewrapper_cfg_project',
Var('rewrapper_cfg_project'),
'--quiet',
],
},
{
'name': 'configure_reclient_cfgs',
'pattern': '.',
'condition': 'dawn_standalone and not download_remoteexec_cfg',
'action': ['python3',
'buildtools/reclient_cfgs/configure_reclient_cfgs.py',
'--rbe_instance',
Var('rbe_instance'),
'--reproxy_cfg_template',
'reproxy.cfg.template',
'--rewrapper_cfg_project',
Var('rewrapper_cfg_project'),
'--skip_remoteexec_cfg_fetch',
'--quiet',
],
},
# Configure Siso for developer builds.
{
'name': 'configure_siso',
'pattern': '.',
'condition': 'dawn_standalone',
'action': ['python3',
'build/config/siso/configure_siso.py',
'--rbe_instance',
Var('rbe_instance'),
],
},
]
recursedeps = [
'buildtools',
]