| use_relative_paths = True |
| |
| gclient_gn_args_file = 'build/config/gclient_args.gni' |
| |
| gclient_gn_args = [ |
| 'build_with_chromium', |
| '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', |
| |
| # Set to True by Chromium if syncing from a Chromium checkout. |
| 'build_with_chromium': False, |
| } |
| |
| deps = { |
| 'buildtools': { |
| 'url': '{chromium_git}/chromium/src/buildtools@628cf12465dae2a157524a23608a58b525d30623', |
| '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-${{arch}}', |
| '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@16dfe4717b0ef0214c66dc2e575a7c0feebfea3c', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/libc++/src': { |
| 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@ddfdbbc1ab109b4fc6171f3d8c38faf4586701d2', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/libc++abi/src': { |
| 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@bb789ae647a626f62dd28806334314fd72071f6f', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| # Required by libc++ |
| 'third_party/llvm-libc/src': { |
| 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libc.git@1f7cf83fb28c5bd777f4cdceed29bd52c69552b0', |
| '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 and //tools/* deps should all be updated in unison, as |
| # there are dependencies between them. |
| 'build': { |
| 'url': '{chromium_git}/chromium/src/build@5ab9444db5e5037291c7dbeaa9b0424ff78103c8', |
| 'condition': 'dawn_standalone', |
| }, |
| 'tools/clang': { |
| 'url': '{chromium_git}/chromium/src/tools/clang@c32a3112f46745b6b0ec81b933bb3bd6303c7af0', |
| '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', |
| }, |
| 'tools/win': { |
| 'url': Var('chromium_git') + '/chromium/src/tools/win@24494b071e019a2baea4355d9870ffc5fc0bbafe', |
| 'condition': 'checkout_win and not build_with_chromium', |
| }, |
| |
| # 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@fec671f0c0fcb50654e60a118bb24051c516bb01', |
| '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@7da12a27312fabf95c54ff3156f08c9259628b84', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/swiftshader': { |
| 'url': '{swiftshader_git}/SwiftShader@153470c12fdfc0293dafd58ae2f9f3eafd480bac', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/vulkan-deps': { |
| 'url': '{chromium_git}/vulkan-deps@2599d7d265472cfde1705d8ee7d10a1ba2868ad2', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/glslang/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@8c056be60a4223da78f9ba9f730fe1397be4209d', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/spirv-headers/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@0ff65315141cf745c1ac286084943409edbe6504', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/spirv-tools/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@3039293356a99e4b4e849c154e63994ce4e8804f', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/vulkan-headers/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@766aaabe571fa32c53606085775340b78ab8d728', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/vulkan-loader/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@8a25939012fb114404594ac0a64478275faa88e6', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/vulkan-tools/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@5f090a13d0629694036efb104f8633af69ba3ce7', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/vulkan-utility-libraries/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Utility-Libraries@e7f2656f161f578e000ec967d4c0cc3fc33c5c52', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/vulkan-validation-layers/src': { |
| 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@42e34636e9b76c76fb28427531f6a728c1b0b2bb', |
| '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@e1655ca1acab4bf3f4f293ac0e14a8ddec440332', |
| 'condition': 'dawn_standalone', |
| }, |
| |
| 'third_party/dxc': { |
| 'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@facd05ab3a87aa3097174715f0d3509d9e5e66ab', |
| }, |
| |
| '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 - Used both by the dawn_node tests and transitively by Chromium. |
| 'third_party/webgpu-cts': { |
| 'url': '{chromium_git}/external/github.com/gpuweb/cts@07253ddadf231da82375cc0fb992b75ee857c1e1', |
| 'condition': 'build_with_chromium or dawn_standalone', |
| }, |
| |
| # 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@9ff5525e146d85b9b950ac344505c27777b63d32', |
| '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@079d4e5153eaabc4033584cc399c27f1acbb2548', |
| }, |
| |
| # Like the Node dependency, architectures are listed out explicitly instead of |
| # using ${{platform}} because the architecture that these are fetched on |
| # can differ from the architecture that they are ultimately run on. |
| 'tools/golang/linux-amd64': { |
| 'packages': [{ |
| 'package': 'infra/3pp/tools/go/linux-amd64', |
| 'version': Var('dawn_go_version'), |
| }], |
| 'dep_type': 'cipd', |
| 'condition': 'checkout_linux and non_git_source', |
| }, |
| 'tools/golang/linux-arm64': { |
| 'packages': [{ |
| 'package': 'infra/3pp/tools/go/linux-arm64', |
| 'version': Var('dawn_go_version'), |
| }], |
| 'dep_type': 'cipd', |
| 'condition': 'checkout_linux and non_git_source', |
| }, |
| 'tools/golang/mac-amd64': { |
| 'packages': [{ |
| 'package': 'infra/3pp/tools/go/mac-amd64', |
| 'version': Var('dawn_go_version'), |
| }], |
| 'dep_type': 'cipd', |
| 'condition': 'checkout_mac and non_git_source', |
| }, |
| 'tools/golang/mac-arm64': { |
| 'packages': [{ |
| 'package': 'infra/3pp/tools/go/mac-arm64', |
| 'version': Var('dawn_go_version'), |
| }], |
| 'dep_type': 'cipd', |
| 'condition': 'checkout_mac and non_git_source', |
| }, |
| 'tools/golang/windows-amd64': { |
| 'packages': [{ |
| 'package': 'infra/3pp/tools/go/windows-amd64', |
| 'version': Var('dawn_go_version'), |
| }], |
| 'dep_type': 'cipd', |
| 'condition': 'checkout_win and non_git_source', |
| }, |
| 'tools/golang/windows-arm64': { |
| 'packages': [{ |
| 'package': 'infra/3pp/tools/go/windows-arm64', |
| 'version': Var('dawn_go_version'), |
| }], |
| 'dep_type': 'cipd', |
| 'condition': 'checkout_win and 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': '{chromium_git}/external/github.com/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', |
| ] |