| # Note: The buildbots evaluate this file with CWD set to the parent | 
 | # directory and assume that the root of the checkout is in ./v8/, so | 
 | # all paths in here must match this assumption. | 
 |  | 
 | use_relative_paths = True | 
 |  | 
 | gclient_gn_args_file = 'build/config/gclient_args.gni' | 
 | gclient_gn_args = [ | 
 | ] | 
 |  | 
 | vars = { | 
 |   # Fetches only the SDK boot images which match at least one of the whitelist | 
 |   # entries in a comma-separated list. | 
 |   # | 
 |   # Available images: | 
 |   #   Emulation: | 
 |   #   - terminal.qemu-x64 | 
 |   #   - terminal.qemu-arm64 | 
 |   #   - workstation.qemu-x64-release | 
 |   #   Hardware: | 
 |   #   - minimal.x64 | 
 |   #   - core.x64-dfv2 | 
 |   # | 
 |   # Since the images are hundreds of MB, default to only downloading the image | 
 |   # most commonly useful for developers. Bots and developers that need to use | 
 |   # other images (e.g., qemu.arm64) can override this with additional images. | 
 |   'checkout_fuchsia_boot_images': "terminal.x64", | 
 |   'checkout_fuchsia_product_bundles': '"{checkout_fuchsia_boot_images}" != ""', | 
 |  | 
 |   'checkout_instrumented_libraries': False, | 
 |   'checkout_ittapi': False, | 
 |  | 
 |   # Fetch the prebuilt binaries for llvm-cov and llvm-profdata. Needed to | 
 |   # process the raw profiles produced by instrumented targets (built with | 
 |   # the gn arg 'use_clang_coverage'). | 
 |   'checkout_clang_coverage_tools': False, | 
 |  | 
 |   # Fetch clang-tidy into the same bin/ directory as our clang binary. | 
 |   'checkout_clang_tidy': False, | 
 |  | 
 |   # Fetch clangd into the same bin/ directory as our clang binary. | 
 |   'checkout_clangd': False, | 
 |  | 
 |   # Fetch and build V8 builtins with PGO profiles | 
 |   'checkout_v8_builtins_pgo_profiles': False, | 
 |  | 
 |   'android_url': 'https://android.googlesource.com', | 
 |   'chromium_url': 'https://chromium.googlesource.com', | 
 |   'download_gcmole': False, | 
 |   'download_jsfunfuzz': False, | 
 |   'download_prebuilt_bazel': False, | 
 |   'check_v8_header_includes': False, | 
 |  | 
 |   # By default, download the fuchsia sdk from the public sdk directory. | 
 |   'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/core/', | 
 |  | 
 |   # Used for downloading the Fuchsia SDK without running hooks. | 
 |   'checkout_fuchsia_no_hooks': False, | 
 |  | 
 |   # reclient CIPD package version | 
 |   'reclient_version': 're_client_version:0.177.1.e58c0145-gomaip', | 
 |  | 
 |   # Fetch configuration files required for the 'use_remoteexec' gn arg | 
 |   'download_remoteexec_cfg': False, | 
 |  | 
 |   # RBE instance to use for running remote builds | 
 |   'rbe_instance': Str('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': Str(''), | 
 |  | 
 |   # This variable is overrided in Chromium's DEPS file. | 
 |   'build_with_chromium': False, | 
 |  | 
 |   # GN CIPD package version. | 
 |   'gn_version': 'git_revision:6e8e0d6d4a151ab2ed9b4a35366e630c55888444', | 
 |  | 
 |   # ninja CIPD package version | 
 |   # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja | 
 |   'ninja_version': 'version:3@1.12.1.chromium.4', | 
 |  | 
 |   # siso CIPD package version | 
 |   'siso_version': 'git_revision:9e4e007a51fdfd51e809d2817a3d6bbd3ec3b648', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling Fuchsia sdk | 
 |   # and whatever else without interference from each other. | 
 |   'fuchsia_version': 'version:27.20250326.5.1', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling partition_alloc_version | 
 |   # and whatever else without interference from each other. | 
 |   'partition_alloc_version': 'a9e3cecf8ea5c8da254d98bab323142e17229b0c', | 
 |  | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_build-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_build-tools_version': 'y3EsZLg4bxPmpW0oYsAHylywNyMnIwPS3kh1VbQLAFAC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_emulator_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_emulator_version': '9lGp8nTUCRRWGMnI_96HcKfzjnxEJKUcfvfwmA3wXNkC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_extras_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_extras_version': 'bY55nDqO6FAm6FkGIj09sh2KW9oqAkCGKjYok5nUvBMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_patcher_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_patcher_version': 'I6FNMhrXlpB-E1lOhMlvld7xt9lBVNOO83KIluXDyA0C', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platform-tools_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platform-tools_version': 'mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_platforms_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_platforms_version': '_YHemUrK49JrE7Mctdf5DDNOHu1VKBx_PTcWnZ-cbOAC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_sources_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_sources_version': 'qfTSF99e29-w3eIVPpfcif0Em5etyvxuicTDTntWHQMC', | 
 |   # Three lines of non-changing comments so that | 
 |   # the commit queue can handle CLs rolling android_sdk_tools-lint_version | 
 |   # and whatever else without interference from each other. | 
 |   'android_sdk_cmdline-tools_version': 'gekOVsZjseS1w9BXAT3FsoW__ByGDJYS9DgqesiwKYoC', | 
 | } | 
 |  | 
 | deps = { | 
 |   'build': | 
 |     Var('chromium_url') + '/chromium/src/build.git' + '@' + 'a76e32acabccaf07e8a141d9268b030ea5ad78fc', | 
 |   'buildtools': | 
 |     Var('chromium_url') + '/chromium/src/buildtools.git' + '@' + '299cb62c60f608d3b152fd3ba337f4e084e1a3b4', | 
 |   'buildtools/linux64': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/linux-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "linux" and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"', | 
 |   }, | 
 |   'buildtools/mac': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/mac-${{arch}}', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "mac"', | 
 |   }, | 
 |   'buildtools/win': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'gn/gn/windows-amd64', | 
 |         'version': Var('gn_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_os == "win"', | 
 |   }, | 
 |   'buildtools/reclient': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/rbe/client/${{platform}}', | 
 |         'version': Var('reclient_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': '(host_os == "linux" or host_os == "mac" or host_os == "win") and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc" and (host_cpu != "arm64" or host_os == "mac")', | 
 |   }, | 
 |   'test/benchmarks/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', | 
 |   'test/mozilla/data': | 
 |     Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', | 
 |   'test/test262/data': | 
 |     Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'ce7e72d2107f99d165f4259571f10aa75753d997', | 
 |   'third_party/android_platform': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/android_platform.git' + '@' + '98aee46efb1cc4e09fa0e3ecaa6b19dc258645fa', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/android_sdk/public': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/build-tools/36.0.0', | 
 |               'version': Var('android_sdk_build-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/emulator', | 
 |               'version': Var('android_sdk_emulator_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/extras', | 
 |               'version': Var('android_sdk_extras_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/patcher', | 
 |               'version': Var('android_sdk_patcher_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platform-tools', | 
 |               'version': Var('android_sdk_platform-tools_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/platforms/android-36', | 
 |               'version': Var('android_sdk_platforms_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/sources/android-30', | 
 |               'version': Var('android_sdk_sources_version'), | 
 |           }, | 
 |           { | 
 |               'package': 'chromium/third_party/android_sdk/public/cmdline-tools', | 
 |               'version': Var('android_sdk_cmdline-tools_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_android', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/android_toolchain/ndk': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'chromium/third_party/android_toolchain/android_toolchain', | 
 |         'version': 'Idl-vYnWGnM8K3XJhM3h6zjYVDXlnljVz3FE00V9IM8C', | 
 |       }, | 
 |     ], | 
 |     'condition': 'checkout_android', | 
 |     'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/catapult': { | 
 |     'url': Var('chromium_url') + '/catapult.git' + '@' + '209015f5d215c29ba16912c2241349bce575bc1b', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/clang-format/script': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git' + '@' + '37f6e68a107df43b7d7e044fd36a13cbae3413f2', | 
 |   'third_party/colorama/src': { | 
 |     'url': Var('chromium_url') + '/external/colorama.git' + '@' + '3de9f013df4b470069d03d250224062e8cf15c49', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/cpu_features/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/cpu_features.git' + '@' + '936b9ab5515dead115606559502e3864958f7f6e', | 
 |     'condition': 'checkout_android', | 
 |   }, | 
 |   'third_party/depot_tools': | 
 |     Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + 'f40ddcd8d51626fb7be3ab3c418b3f3be801623f', | 
 |   'third_party/fp16/src': | 
 |     Var('chromium_url') + '/external/github.com/Maratyszcza/FP16.git' + '@' + '0a92994d729ff76a58f692d3028ca1b64b145d91', | 
 |   'third_party/fast_float/src': | 
 |     Var('chromium_url') + '/external/github.com/fastfloat/fast_float.git' + '@' + 'cb1d42aaa1e14b09e1452cfdef373d051b8c02a4', | 
 |   'third_party/fuchsia-gn-sdk': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-gn-sdk.git' + '@' + '3845a68eb4421e64fbdf9f4805b5ac6d73742e08', | 
 |     'condition': 'checkout_fuchsia', | 
 |   }, | 
 |   'third_party/simdutf': | 
 |     Var('chromium_url') + '/chromium/src/third_party/simdutf' + '@' + '40d1fa26cd5ca221605c974e22c001ca2fb12fde', | 
 |   # Exists for rolling the Fuchsia SDK. Check out of the SDK should always | 
 |   # rely on the hook running |update_sdk.py| script below. | 
 |   'third_party/fuchsia-sdk/sdk': { | 
 |       'packages': [ | 
 |           { | 
 |               'package': Var('fuchsia_sdk_cipd_prefix') + '${{platform}}', | 
 |               'version': Var('fuchsia_version'), | 
 |           }, | 
 |       ], | 
 |       'condition': 'checkout_fuchsia_no_hooks', | 
 |       'dep_type': 'cipd', | 
 |   }, | 
 |   'third_party/google_benchmark_chrome': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/google_benchmark.git' + '@' + '917e1208b42fdce63511e401067677ffee3a5c7d', | 
 |   }, | 
 |   'third_party/google_benchmark_chrome/src': { | 
 |     'url': Var('chromium_url') + '/external/github.com/google/benchmark.git' + '@' + '761305ec3b33abf30e08d50eb829e19a802581cc', | 
 |   }, | 
 |   'third_party/fuzztest': | 
 |     Var('chromium_url') + '/chromium/src/third_party/fuzztest.git' + '@' + 'df29ed1355d06c486e17fc421767ff01af050ca4', | 
 |   'third_party/fuzztest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/fuzztest.git' + '@' + 'c31f0c0e6df5725c6b03124b579c9cf815fd10f4', | 
 |   'third_party/googletest/src': | 
 |     Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + '52204f78f94d7512df1f0f3bea1d47437a2c3a58', | 
 |   'third_party/highway/src': | 
 |     Var('chromium_url') + '/external/github.com/google/highway.git' + '@' + '00fe003dac355b979f36157f9407c7c46448958e', | 
 |   'third_party/icu': | 
 |     Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'c9fb4b3a6fb54aa8c20a03bbcaa0a4a985ffd34b', | 
 |   'third_party/instrumented_libs': { | 
 |     'url': Var('chromium_url') + '/chromium/third_party/instrumented_libraries.git' + '@' + '69015643b3f68dbd438c010439c59adc52cac808', | 
 |     'condition': 'checkout_instrumented_libraries', | 
 |   }, | 
 |   'third_party/ittapi': { | 
 |     # Force checkout ittapi libraries to pass v8 header includes check on | 
 |     # bots that has check_v8_header_includes enabled. | 
 |     'url': Var('chromium_url') + '/external/github.com/intel/ittapi' + '@' + 'a3911fff01a775023a06af8754f9ec1e5977dd97', | 
 |     'condition': "checkout_ittapi or check_v8_header_includes", | 
 |   }, | 
 |   'third_party/jinja2': | 
 |     Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + '5e1ee241ab04b38889f8d517f2da8b3df7cfbd9a', | 
 |   'third_party/jsoncpp/source': | 
 |     Var('chromium_url') + '/external/github.com/open-source-parsers/jsoncpp.git'+ '@' + '42e892d96e47b1f6e29844cc705e148ec4856448', | 
 |   'third_party/libc++/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxx.git' + '@' + '35a5aaad4ac1b87b4f2cc8bc16c2f9c7d9c83e3a', | 
 |   'third_party/libc++abi/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libcxxabi.git' + '@' + '94c5d7a8edc09f0680aee57548c0b5d400c2840d', | 
 |   'third_party/libunwind/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libunwind.git' + '@' + 'e2e6f2a67e9420e770b014ce9bba476fa2ab9874', | 
 |   'third_party/llvm-libc/src': | 
 |     Var('chromium_url') + '/external/github.com/llvm/llvm-project/libc.git' + '@' + '23bef80461faf79b989a090c849f9965c98df463', | 
 |   'third_party/llvm-build/Release+Asserts': { | 
 |     'dep_type': 'gcs', | 
 |     'bucket': 'chromium-browser-clang', | 
 |     'objects': [ | 
 |       { | 
 |         'object_name': 'Linux_x64/clang-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '790fcc5b04e96882e8227ba7994161ab945c0e096057fc165a0f71e32a7cb061', | 
 |         'size_bytes': 54517328, | 
 |         'generation': 1742541959624765, | 
 |         'condition': 'host_os == "linux"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/clang-tidy-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '6e325d9f62e831bfbae23413a75535a851fd2cdf2f7cf06a5b724e86f72b2df0', | 
 |         'size_bytes': 13206280, | 
 |         'generation': 1742541959572183, | 
 |         'condition': 'host_os == "linux" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/clangd-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '95d4146cb0b892db68c55bbb523b30301e538d0f4dc71517612fdee62664b81a', | 
 |         'size_bytes': 13566616, | 
 |         'generation': 1742541959718102, | 
 |         'condition': 'host_os == "linux" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/llvm-code-coverage-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': 'a10c2831ad30275a72f2955e65e62f6af78542f380661443dab4d20c65f203a4', | 
 |         'size_bytes': 2299292, | 
 |         'generation': 1742541960157221, | 
 |         'condition': 'host_os == "linux" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Linux_x64/llvmobjdump-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '56a5bb654a4550d332f86a23e38a0495c6187092868af817ecb999bd9de9c8a0', | 
 |         'size_bytes': 5429676, | 
 |         'generation': 1742541959869492, | 
 |         'condition': '(checkout_linux or checkout_mac or checkout_android and host_os != "mac")', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '330f8c4cdde3095ac54aff772dbf9bbd96a753df58525546931cbd9bb615f793', | 
 |         'size_bytes': 51652432, | 
 |         'generation': 1742541961981004, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-mac-runtime-library-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '013f468c65fae6f736cd380791fef892a0fc9fc107516fcae34d1f998eeb081f', | 
 |         'size_bytes': 978248, | 
 |         'generation': 1742541983231339, | 
 |         'condition': 'checkout_mac and not host_os == "mac"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clang-tidy-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': 'f29391d18e9fa40774e0386224235890933a8b9eddb9b7eb93d2a4a0867241a1', | 
 |         'size_bytes': 13468608, | 
 |         'generation': 1742541962672221, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/clangd-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '06c48661d55a7b465d8fb02be56f8550c34d3962a9d0f8ce19b17bdd37127691', | 
 |         'size_bytes': 15012228, | 
 |         'generation': 1742541962463652, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/llvm-code-coverage-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '12f3accae43fa9591bbf28a8e0785b99ff75ed2c84f89518bd5ef5119a2525f0', | 
 |         'size_bytes': 2255296, | 
 |         'generation': 1742541963013464, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clang-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '49967dab3fa4c5f1ff1fe235059be71727c190ff4ccc80f08d39e1bba4dfed58', | 
 |         'size_bytes': 43810156, | 
 |         'generation': 1742541984650930, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clang-tidy-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '4f5326253ed3736ec262e8e69d93befadf9473419865240673a2ec883c3614b6', | 
 |         'size_bytes': 11607236, | 
 |         'generation': 1742541984970894, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/clangd-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': 'b3da417d27ba5afe6c9f612d5808c416a17ed1b28f2acd745e0cd2962a5eeac1', | 
 |         'size_bytes': 12000852, | 
 |         'generation': 1742541985144552, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/llvm-code-coverage-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '78139b473cdf4d43da880b573661a5d28d94a8bcb4dea41607d324301745f28c', | 
 |         'size_bytes': 1976480, | 
 |         'generation': 1742541985608174, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': 'b46fb4a5cbf9c52d0b345fc2d77ad4ac15dfbb45aa494fb49261786c679af44a', | 
 |         'size_bytes': 46813332, | 
 |         'generation': 1742542010902044, | 
 |         'condition': 'host_os == "win"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-tidy-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '50d527e811ae8543effa2bb5734a1d424d9c497fbf1d96c76d44b6b5ee7f240b', | 
 |         'size_bytes': 13233236, | 
 |         'generation': 1742542011983982, | 
 |         'condition': 'host_os == "win" and checkout_clang_tidy', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clang-win-runtime-library-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': 'bd2ad1930c0ba7d00364dd344886fd57e16aa070ff1b6a1aade72b58d28e8275', | 
 |         'size_bytes': 2474048, | 
 |         'generation': 1742542035740788, | 
 |         'condition': 'checkout_win and not host_os == "win"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/clangd-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '06563cfcb24d7196717551dfcda13ed0b97fb9e795dba06007c55ae563e824b0', | 
 |         'size_bytes': 13759668, | 
 |         'generation': 1742542011820938, | 
 |        'condition': 'host_os == "win" and checkout_clangd', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/llvm-code-coverage-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': '7c2fe8784910dc05445cd7f16742e0b2a09a45fb2ba96ddd5f1d8c895ac65d44', | 
 |         'size_bytes': 2365956, | 
 |         'generation': 1742542013491786, | 
 |         'condition': 'host_os == "win" and checkout_clang_coverage_tools', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/llvmobjdump-llvmorg-21-init-5118-g52cd27e6-5.tar.xz', | 
 |         'sha256sum': 'a07be25cb4d565422b10001ca3595111d40bd42c47b37b41e2fff5708fe82302', | 
 |         'size_bytes': 5527784, | 
 |         'generation': 1742542012678160, | 
 |         'condition': 'checkout_linux or checkout_mac or checkout_android and host_os == "win"', | 
 |       }, | 
 |     ], | 
 |   }, | 
 |   'third_party/logdog/logdog': | 
 |     Var('chromium_url') + '/infra/luci/luci-py/client/libs/logdog' + '@' + '0b2078a90f7a638d576b3a7c407d136f2fb62399', | 
 |   'third_party/markupsafe': | 
 |     Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '9f8efc8637f847ab1ba984212598e6fb9cf1b3d4', | 
 |   'third_party/ninja': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/3pp/tools/ninja/${{platform}}', | 
 |         'version': Var('ninja_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"' | 
 |   }, | 
 |   'third_party/partition_alloc': { | 
 |     'url': Var('chromium_url') + '/chromium/src/base/allocator/partition_allocator.git@' + Var('partition_alloc_version'), | 
 |     'condition': 'not build_with_chromium', | 
 |   }, | 
 |   'third_party/perfetto': | 
 |     Var('android_url') + '/platform/external/perfetto.git' + '@' + '40b529923598b739b2892a536a7692eedbed5685', | 
 |   'third_party/protobuf': | 
 |     Var('chromium_url') + '/chromium/src/third_party/protobuf.git' + '@' + '5f7b95ef681db0e2e5da84bf0f0ab40b3b55dc85', | 
 |   'third_party/re2/src': | 
 |     Var('chromium_url') + '/external/github.com/google/re2.git' + '@' + 'c84a140c93352cdabbfb547c531be34515b12228', | 
 |   'third_party/requests': { | 
 |       'url': Var('chromium_url') + '/external/github.com/kennethreitz/requests.git' + '@' + 'c7e0fc087ceeadb8b4c84a0953a422c474093d6d', | 
 |       'condition': 'checkout_android', | 
 |   }, | 
 |   'tools/rust': | 
 |     Var('chromium_url') + '/chromium/src/tools/rust' + '@' + '7cdd3d9540f3ab428dbcc9ab83c2896c100bcdc5', | 
 |   'third_party/rust': | 
 |     Var('chromium_url') + '/chromium/src/third_party/rust' + '@' + '0f7aa4a0bcca3bbb2bf56071a6063752439c7259', | 
 |   'third_party/rust-toolchain': { | 
 |     'dep_type': 'gcs', | 
 |     'bucket': 'chromium-browser-clang', | 
 |     'objects': [ | 
 |       { | 
 |         'object_name': 'Linux_x64/rust-toolchain-f7b43542838f0a4a6cfdb17fbeadf45002042a77-1-llvmorg-21-init-5118-g52cd27e6.tar.xz', | 
 |         'sha256sum': '213ffcc751ba5f5a4e15fc0dbcbdb94aa7dbc4b6cddd3605121cd26ff8a8b359', | 
 |         'size_bytes': 118223072, | 
 |         'generation': 1741985831167267, | 
 |         'condition': 'host_os == "linux"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac/rust-toolchain-f7b43542838f0a4a6cfdb17fbeadf45002042a77-1-llvmorg-21-init-5118-g52cd27e6.tar.xz', | 
 |         'sha256sum': 'f5ad2fe26336a87713ffcad9e06ae4c1ecb4773ae496a33450a7091c5eec560c', | 
 |         'size_bytes': 111168208, | 
 |         'generation': 1741985832885972, | 
 |         'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Mac_arm64/rust-toolchain-f7b43542838f0a4a6cfdb17fbeadf45002042a77-1-llvmorg-21-init-5118-g52cd27e6.tar.xz', | 
 |         'sha256sum': 'fac3586c08239bbb8fd192a7ba5deaa9ae62f6fde2c1d665953f87176467a156', | 
 |         'size_bytes': 100534232, | 
 |         'generation': 1741985834191792, | 
 |         'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |       }, | 
 |       { | 
 |         'object_name': 'Win/rust-toolchain-f7b43542838f0a4a6cfdb17fbeadf45002042a77-1-llvmorg-21-init-5118-g52cd27e6.tar.xz', | 
 |         'sha256sum': '7b41e74c9b45ca97ca65279c605e6af878de5682fe574d1f1860d9da9b3a5909', | 
 |         'size_bytes': 180896336, | 
 |         'generation': 1741985835535129, | 
 |         'condition': 'host_os == "win"', | 
 |       }, | 
 |     ], | 
 |   }, | 
 |   'third_party/siso': { | 
 |     'packages': [ | 
 |       { | 
 |         'package': 'infra/build/siso/${{platform}}', | 
 |         'version': Var('siso_version'), | 
 |       } | 
 |     ], | 
 |     'dep_type': 'cipd', | 
 |     'condition': 'not build_with_chromium and host_cpu != "s390" and host_os != "zos" and host_cpu != "ppc"', | 
 |   }, | 
 |   'third_party/zlib': | 
 |     Var('chromium_url') + '/chromium/src/third_party/zlib.git'+ '@' + '788cb3c270e8700b425c7bdca1f9ce6b0c1400a9', | 
 |   'tools/clang': | 
 |     Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'd05ab7b5b9eccb00b2a73a1d2d19c1b0594f762e', | 
 |   'tools/protoc_wrapper': | 
 |     Var('chromium_url') + '/chromium/src/tools/protoc_wrapper.git' + '@' + 'dbcbea90c20ae1ece442d8ef64e61c7b10e2b013', | 
 |   'third_party/abseil-cpp': { | 
 |     'url': Var('chromium_url') + '/chromium/src/third_party/abseil-cpp.git' + '@' + '3fbb10e80d80e3430224b75add53c47c7a711612', | 
 |     'condition': 'not build_with_chromium', | 
 |   }, | 
 |   'third_party/zoslib': { | 
 |     'url': Var('chromium_url') + '/external/github.com/ibmruntimes/zoslib.git' + '@' + '1e68de6e37efced3738a88536fccb6bbfe2d70b2', | 
 |     'condition': 'host_os == "zos"', | 
 |   } | 
 | } | 
 |  | 
 | include_rules = [ | 
 |   # Everybody can use some things. | 
 |   '+include', | 
 |   '+unicode', | 
 |   '+third_party/fast_float/src/include', | 
 |   '+third_party/fdlibm', | 
 |   '+third_party/fp16/src/include', | 
 |   '+third_party/fuzztest', | 
 |   '+third_party/ittapi/include', | 
 |   '+third_party/simdutf', | 
 |   '+third_party/v8/codegen', | 
 |   '+third_party/vtune', | 
 |   '+hwy/highway.h', | 
 |   # Abseil features are allow-listed. Please use your best judgement when adding | 
 |   # to this set -- if in doubt, email v8-dev@. For general guidance, refer to | 
 |   # the Chromium guidelines (though note that some requirements in V8 may be | 
 |   # different to Chromium's): | 
 |   # https://chromium.googlesource.com/chromium/src/+/main/styleguide/c++/c++11.md | 
 |   '+absl/container/flat_hash_map.h', | 
 |   '+absl/container/flat_hash_set.h', | 
 |   '+absl/container/btree_map.h', | 
 |   '+absl/status', | 
 |   '+absl/synchronization/mutex.h', | 
 |   '+absl/time/time.h', | 
 |   # Some abseil features are explicitly banned. | 
 |   '-absl/types/any.h', # Requires RTTI. | 
 |   '-absl/types/flags', # Requires RTTI. | 
 | ] | 
 |  | 
 | # checkdeps.py shouldn't check for includes in these directories: | 
 | skip_child_includes = [ | 
 |   'build', | 
 |   'third_party', | 
 | ] | 
 |  | 
 | hooks = [ | 
 |   { | 
 |     # Ensure that the DEPS'd "depot_tools" has its self-update capability | 
 |     # disabled. | 
 |     'name': 'disable_depot_tools_selfupdate', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'third_party/depot_tools/update_depot_tools_toggle.py', | 
 |         '--disable', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # This clobbers when necessary (based on get_landmines.py). It must be the | 
 |     # first hook so that other things that get/generate into the output | 
 |     # directory will not subsequently be clobbered. | 
 |     'name': 'landmines', | 
 |     'pattern': '.', | 
 |     'action': [ | 
 |         'python3', | 
 |         'build/landmines.py', | 
 |         '--landmine-scripts', | 
 |         'tools/get_landmines.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'bazel', | 
 |     'pattern': '.', | 
 |     'condition': 'download_prebuilt_bazel', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chromium-v8-prebuilt-bazel/linux', | 
 |                 '--no_resume', | 
 |                 '-s', 'tools/bazel/bazel.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   # Pull dsymutil binaries using checked-in hashes. | 
 |   { | 
 |     'name': 'dsymutil_mac_arm64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "arm64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.arm64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'dsymutil_mac_x64', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and host_cpu == "x64"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang', | 
 |                 '-s', 'tools/clang/dsymutil/bin/dsymutil.x64.sha1', | 
 |                 '-o', 'tools/clang/dsymutil/bin/dsymutil', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'gcmole', | 
 |     'pattern': '.', | 
 |     'condition': 'download_gcmole', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-gcmole', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/gcmole/gcmole-tools.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'jsfunfuzz', | 
 |     'pattern': '.', | 
 |     'condition': 'download_jsfunfuzz', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--bucket', 'chrome-v8-jsfunfuzz', | 
 |                 '-u', '--no_resume', | 
 |                 '-s', 'tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1', | 
 |                 '--platform=linux*', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_spec_tests', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-spec-tests/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'wasm_js', | 
 |     'pattern': '.', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '-u', | 
 |                 '--bucket', 'v8-wasm-spec-tests', | 
 |                 '-s', 'test/wasm-js/tests.tar.gz.sha1', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Case-insensitivity for the Win SDK. Must run before win_toolchain below. | 
 |     'name': 'ciopfs_linux', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win and host_os == "linux"', | 
 |     'action': [ 'python3', | 
 |                 'third_party/depot_tools/download_from_google_storage.py', | 
 |                 '--no_resume', | 
 |                 '--no_auth', | 
 |                 '--bucket', 'chromium-browser-clang/ciopfs', | 
 |                 '-s', 'build/ciopfs.sha1', | 
 |     ] | 
 |   }, | 
 |   { | 
 |     # Update the Windows toolchain if necessary. | 
 |     'name': 'win_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_win', | 
 |     'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'], | 
 |   }, | 
 |   { | 
 |     # Update the Mac toolchain if necessary. | 
 |     'name': 'mac_toolchain', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_mac', | 
 |     'action': ['python3', 'build/mac_toolchain.py'], | 
 |   }, | 
 |   { | 
 |     # Update LASTCHANGE. | 
 |     'name': 'lastchange', | 
 |     'pattern': '.', | 
 |     'action': ['python3', 'build/util/lastchange.py', | 
 |                '-o', 'build/util/LASTCHANGE'], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia SDK from GCS', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_sdk.py', | 
 |       '--cipd-prefix={fuchsia_sdk_cipd_prefix}', | 
 |       '--version={fuchsia_version}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'Download Fuchsia system images', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_fuchsia and checkout_fuchsia_product_bundles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'build/fuchsia/update_product_bundles.py', | 
 |       '{checkout_fuchsia_boot_images}', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     # Mac does not have llvm-objdump, download it for cross builds in Fuchsia. | 
 |     'name': 'llvm-objdump', | 
 |     'pattern': '.', | 
 |     'condition': 'host_os == "mac" and checkout_fuchsia', | 
 |     'action': ['python3', 'tools/clang/scripts/update.py', | 
 |                '--package=objdump'], | 
 |   }, | 
 |   { | 
 |     'name': 'vpython3_common', | 
 |     'pattern': '.', | 
 |     'action': [ 'vpython3', | 
 |                 '-vpython-spec', '.vpython3', | 
 |                 '-vpython-tool', 'install', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'check_v8_header_includes', | 
 |     'pattern': '.', | 
 |     'condition': 'check_v8_header_includes', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/generate-header-include-checks.py', | 
 |     ], | 
 |   }, | 
 |   { | 
 |     'name': 'checkout_v8_builtins_pgo_profiles', | 
 |     'pattern': '.', | 
 |     'condition': 'checkout_v8_builtins_pgo_profiles', | 
 |     'action': [ | 
 |       'python3', | 
 |       'tools/builtins-pgo/download_profiles.py', | 
 |       'download', | 
 |       '--quiet', | 
 |     ], | 
 |   }, | 
 |   # Configure remote exec cfg files | 
 |   { | 
 |     'name': 'download_and_configure_reclient_cfgs', | 
 |     'pattern': '.', | 
 |     'condition': 'download_remoteexec_cfg and not build_with_chromium', | 
 |     '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': 'not download_remoteexec_cfg and not build_with_chromium', | 
 |     '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', | 
 |                ], | 
 |   }, | 
 |   # Configure Siso for developer builds. | 
 |   { | 
 |     'name': 'configure_siso', | 
 |     'pattern': '.', | 
 |     'condition': 'not build_with_chromium', | 
 |     'action': ['python3', | 
 |                'build/config/siso/configure_siso.py', | 
 |                '--rbe_instance', | 
 |                Var('rbe_instance'), | 
 |                ], | 
 |   }, | 
 | ] | 
 |  | 
 | recursedeps = [ | 
 |   'build', | 
 |   'buildtools', | 
 |   'third_party/instrumented_libs', | 
 | ] |