use_relative_paths = True gclient_gn_args_file = 'build/config/gclient_args.gni' gclient_gn_args = [ 'checkout_skia', ] vars = { # By default, we should check out everything needed to run on the main # pdfium waterfalls. This var can be also be set to 'small', in order to skip # things are not strictly needed to build pdfium for development purposes, # by adding the following line to the .gclient file inside a solutions entry: # "custom_vars": { "checkout_configuration": "small" }, # Similarly, this var can be set to 'minimal' to also skip the Skia and V8 # checkouts for the smallest possible checkout, where some features will not # work. 'checkout_configuration': 'default', 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration != "small" and checkout_configuration != "minimal"', 'checkout_skia': 'checkout_configuration != "minimal"', 'checkout_testing_corpus': 'checkout_configuration != "small" and checkout_configuration != "minimal"', 'checkout_v8': 'checkout_configuration != "minimal"', # By default, download the fuchsia sdk from the public sdk directory. 'fuchsia_sdk_cipd_prefix': 'fuchsia/sdk/gn/', 'chromium_git': 'https://chromium.googlesource.com', 'pdfium_git': 'https://pdfium.googlesource.com', 'skia_git': 'https://skia.googlesource.com', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling abseil # and whatever else without interference from each other. 'abseil_revision': '20c8ae002db022653b94e80dec69306558818ebf', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling android_ndk # and whatever else without interference from each other. 'android_ndk_revision': '8388a2be5421311dc75c5f937aae13d821a27f3d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling build # and whatever else without interference from each other. 'build_revision': 'c44ccbfc028a136e7d39bf79e45a92a91d7b5beb', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling buildtools # and whatever else without interference from each other. 'buildtools_revision': '3ee69a5c6bc8d115dea09bbf8e536f529e7e12a8', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling catapult # and whatever else without interference from each other. 'catapult_revision': 'ac30cc4bc7d30e574625e1f6a77fba5df0719ed6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling clang format # and whatever else without interference from each other. 'clang_format_revision': 'f97059df7f8b205064625cdb5f97b56668a125ef', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling clang # and whatever else without interference from each other. 'clang_revision': 'f6862472607fa628642713b615a9e119d51bd43d', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling code_coverage # and whatever else without interference from each other. 'code_coverage_revision': '9b51524c4f7575ee90d9173507e6f13f814d7001', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling depot_tools # and whatever else without interference from each other. 'depot_tools_revision': 'ab117384e6c0384ba5aab66c13d8f1008d964655', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling freetype # and whatever else without interference from each other. 'freetype_revision': 'b0a4f99278aa7e14bd1d0d9e40ad28dce543fde6', # 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:12.20230330.3.1', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling GN CIPD package version # and whatever else without interference from each other. 'gn_version': 'git_revision:41fef642de70ecdcaaa26be96d56a0398f95abd4', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling gtest # and whatever else without interference from each other. 'gtest_revision': 'af29db7ec28d6df1c7f0f745186884091e602e07', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling icu # and whatever else without interference from each other. 'icu_revision': '1e49ac26ddc712b1ab702f69023cbc57e9ae6628', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling instrumented_lib # and whatever else without interference from each other. 'instrumented_lib_revision': '0f536d22dbed454b1254c7e6d7130eab28fba1fa', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling jinja2 # and whatever else without interference from each other. 'jinja2_revision': '264c07d7e64f2874434a3b8039e101ddf1b01e7e', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling jpeg_turbo # and whatever else without interference from each other. 'jpeg_turbo_revision': 'aa4075f116e4312537d0d3e9dbd5e31096539f94', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libc++ # and whatever else without interference from each other. # If you change this, also update the libc++ revision in # //buildtools/deps_revisions.gni. 'libcxx_revision': 'ab37483b426c16ce33f8f0064be571513d5a8c34', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libc++abi # and whatever else without interference from each other. 'libcxxabi_revision': '4a9d0560b481a96821bec591325b50a5063f4a32', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libpng # and whatever else without interference from each other. 'libpng_revision': '805df541c44099bb20d425ac47c666e29b1f7a80', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libunwind # and whatever else without interference from each other. 'libunwind_revision': 'f3464caa6aa83a5eb924a5ae3779e974bd1bebf4', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling lss # and whatever else without interference from each other. 'lss_revision': 'ce877209e11aa69dcfffbd53ef90ea1d07136521', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling markupsafe # and whatever else without interference from each other. 'markupsafe_revision': '13f4e8c9e206567eeb13bf585406ddc574005748', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling nasm_source # and whatever else without interference from each other. 'nasm_source_revision': '7fc833e889d1afda72c06220e5bed8fb43b2e5ce', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Ninja CIPD package version # and whatever else without interference from each other. 'ninja_version': 'version:2@1.11.1.chromium.6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling partition_allocator # and whatever else without interference from each other. 'partition_allocator_revision': '118936d6793d0c259bd9023717d37367a7b04320', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling pdfium_tests # and whatever else without interference from each other. 'pdfium_tests_revision': 'd1386521f5d606b9110143aa40b23651b17aded2', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling resultdb # and whatever else without interference from each other. 'resultdb_version': 'git_revision:ebc74d10fa0d64057daa6f128e89f3672eeeec95', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling skia # and whatever else without interference from each other. 'skia_revision': 'ad459a5b8df474d881209696b3fb4f038e0d3a55', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling test_fonts # and whatever else without interference from each other. 'test_fonts_revision': '7f51783942943e965cd56facf786544ccfc07713', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling tools_memory # and whatever else without interference from each other. 'tools_memory_revision': '13f0b81ce581364c5f0f2e9e16d6120073dc56a6', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling trace_event # and whatever else without interference from each other. 'trace_event_revision': '147f65333c38ddd1ebf554e89965c243c8ce50b3', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling v8 # and whatever else without interference from each other. 'v8_revision': 'f66b0bc93b1edc09a6ff66c2e0ae0f2848d90be7', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling zlib # and whatever else without interference from each other. 'zlib_revision': 'b890619bc2b193b8fbe9c1c053f4cd19a9791d92', } # Only these hosts are allowed for dependencies in this DEPS file. # If you need to add a new host, and the new host is not in Chromium's DEPS # file's allowed_hosts list, contact Chrome infrastructure team. allowed_hosts = [ 'chromium.googlesource.com', 'pdfium.googlesource.com', 'skia.googlesource.com', ] deps = { 'base/allocator/partition_allocator': Var('chromium_git') + '/chromium/src/base/allocator/partition_allocator.git@' + Var('partition_allocator_revision'), 'base/trace_event/common': Var('chromium_git') + '/chromium/src/base/trace_event/common.git@' + Var('trace_event_revision'), 'build': Var('chromium_git') + '/chromium/src/build.git@' + Var('build_revision'), 'buildtools': Var('chromium_git') + '/chromium/src/buildtools.git@' + Var('buildtools_revision'), 'buildtools/clang_format/script': Var('chromium_git') + '/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@' + Var('clang_format_revision'), 'buildtools/linux64': { 'packages': [ { 'package': 'gn/gn/linux-amd64', 'version': Var('gn_version'), } ], 'dep_type': 'cipd', 'condition': 'host_os == "linux"', }, 'buildtools/mac': { 'packages': [ { 'package': 'gn/gn/mac-${{arch}}', 'version': Var('gn_version'), } ], 'dep_type': 'cipd', 'condition': 'host_os == "mac"', }, 'buildtools/third_party/libc++/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git@' + Var('libcxx_revision'), 'buildtools/third_party/libc++abi/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxxabi.git@' + Var('libcxxabi_revision'), 'buildtools/third_party/libunwind/trunk': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libunwind.git@' + Var('libunwind_revision'), 'buildtools/win': { 'packages': [ { 'package': 'gn/gn/windows-amd64', 'version': Var('gn_version'), } ], 'dep_type': 'cipd', 'condition': 'host_os == "win"', }, 'testing/corpus': { 'url': Var('pdfium_git') + '/pdfium_tests@' + Var('pdfium_tests_revision'), 'condition': 'checkout_testing_corpus', }, 'third_party/abseil-cpp': Var('chromium_git') + '/chromium/src/third_party/abseil-cpp.git@' + Var('abseil_revision'), 'third_party/android_ndk': { 'url': Var('chromium_git') + '/android_ndk.git@' + Var('android_ndk_revision'), 'condition': 'checkout_android', }, 'third_party/catapult': { 'url': Var('chromium_git') + '/catapult.git@' + Var('catapult_revision'), 'condition': 'checkout_android', }, 'third_party/depot_tools': Var('chromium_git') + '/chromium/tools/depot_tools.git@' + Var('depot_tools_revision'), 'third_party/freetype/src': Var('chromium_git') + '/chromium/src/third_party/freetype2.git@' + Var('freetype_revision'), 'third_party/fuchsia-sdk/sdk': { 'packages': [ { 'package': Var('fuchsia_sdk_cipd_prefix') + '${{platform}}', 'version': Var('fuchsia_version'), }, ], 'condition': 'checkout_fuchsia', 'dep_type': 'cipd', }, 'third_party/googletest/src': Var('chromium_git') + '/external/github.com/google/googletest.git@' + Var('gtest_revision'), 'third_party/icu': Var('chromium_git') + '/chromium/deps/icu.git@' + Var('icu_revision'), 'third_party/instrumented_libraries': Var('chromium_git') + '/chromium/src/third_party/instrumented_libraries.git@' + Var('instrumented_lib_revision'), 'third_party/jinja2': Var('chromium_git') + '/chromium/src/third_party/jinja2.git@' + Var('jinja2_revision'), 'third_party/libjpeg_turbo': Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git@' + Var('jpeg_turbo_revision'), 'third_party/libpng': Var('chromium_git') + '/chromium/src/third_party/libpng.git@' + Var('libpng_revision'), 'third_party/lss': { 'url': Var('chromium_git') + '/linux-syscall-support.git' + '@' + Var('lss_revision'), 'condition': 'checkout_android or checkout_linux', }, 'third_party/markupsafe': Var('chromium_git') + '/chromium/src/third_party/markupsafe.git@' + Var('markupsafe_revision'), 'third_party/nasm': Var('chromium_git') + '/chromium/deps/nasm.git@' + Var('nasm_source_revision'), 'third_party/ninja': { 'packages': [ { # https://chrome-infra-packages.appspot.com/p/infra/3pp/tools/ninja 'package': 'infra/3pp/tools/ninja/${{platform}}', 'version': Var('ninja_version'), } ], 'dep_type': 'cipd', }, 'third_party/skia': { 'url': Var('skia_git') + '/skia.git@' + Var('skia_revision'), 'condition': 'checkout_skia', }, 'third_party/test_fonts': Var('chromium_git') + '/chromium/src/third_party/test_fonts.git@' + Var('test_fonts_revision'), 'third_party/zlib': Var('chromium_git') + '/chromium/src/third_party/zlib.git@' + Var('zlib_revision'), 'tools/clang': Var('chromium_git') + '/chromium/src/tools/clang@' + Var('clang_revision'), 'tools/code_coverage': Var('chromium_git') + '/chromium/src/tools/code_coverage.git@' + Var('code_coverage_revision'), 'tools/memory': Var('chromium_git') + '/chromium/src/tools/memory@' + Var('tools_memory_revision'), 'tools/resultdb': { 'packages': [ { 'package': 'infra/tools/result_adapter/${{platform}}', 'version': Var('resultdb_version'), }, ], 'dep_type': 'cipd', }, # TODO(crbug.com/pdfium/1650): Set up autorollers for goldctl. 'tools/skia_goldctl/linux': { 'packages': [ { 'package': 'skia/tools/goldctl/linux-amd64', 'version': 'eZ3k373CYgRxlu4JKph6e-_7xkP02swy_jePFFMiyIQC', } ], 'dep_type': 'cipd', 'condition': 'checkout_linux', }, 'tools/skia_goldctl/mac_amd64': { 'packages': [ { 'package': 'skia/tools/goldctl/mac-amd64', 'version': 'nHUjLIViYsLxRjv-zDdmzqT8p1R3VoyHq5gdGkKeMYwC', } ], 'dep_type': 'cipd', 'condition': 'checkout_mac', }, 'tools/skia_goldctl/mac_arm64': { 'packages': [ { 'package': 'skia/tools/goldctl/mac-arm64', 'version': '-mc865SGfJAqreLZM6fkn8tgCJ7u5QLk5zm7r-ZRJ9gC', } ], 'dep_type': 'cipd', 'condition': 'checkout_mac', }, 'tools/skia_goldctl/win': { 'packages': [ { 'package': 'skia/tools/goldctl/windows-amd64', 'version': 'iEqqRADI7znrc6pG-MVnc5pBZwD25koILREPC6x2AFAC', } ], 'dep_type': 'cipd', 'condition': 'checkout_win', }, 'v8': { 'url': Var('chromium_git') + '/v8/v8.git@' + Var('v8_revision'), 'condition': 'checkout_v8', }, } recursedeps = [] include_rules = [ # Basic stuff that everyone can use. # Note: public is not here because core cannot depend on public. '+build/build_config.h', '+constants', '+testing', '+third_party/base', # Abseil features must be allowlisted explicitly for now. See Chromium's # //styleguide/c++/c++11.html. Allowed features' headers will be listed # explicitly here. '-absl', '-third_party/abseil-cpp', '+third_party/abseil-cpp/absl/types/optional.h', '+third_party/abseil-cpp/absl/types/variant.h', ] specific_include_rules = { # Allow embedder tests to use public APIs. '(.*embeddertest\.cpp)': [ '+public', ] } 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', ], }, { # 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. Must run before 'clang' below. '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'], }, # 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', ], }, # Pull clang-format binaries using checked-in hashes. { 'name': 'clang_format_win', 'pattern': '.', 'condition': 'host_os == "win"', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'buildtools/win/clang-format.exe.sha1', ], }, { 'name': 'clang_format_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-clang-format', '-s', 'buildtools/mac/clang-format.x64.sha1', '-o', 'buildtools/mac/clang-format', ], }, { 'name': 'clang_format_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-clang-format', '-s', 'buildtools/mac/clang-format.arm64.sha1', '-o', 'buildtools/mac/clang-format', ], }, { 'name': 'clang_format_linux', 'pattern': '.', 'condition': 'host_os == "linux"', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'buildtools/linux64/clang-format.sha1', ], }, { # Note: On Win, this should run after win_toolchain, as it may use it. 'name': 'clang', 'pattern': '.', 'action': ['python3', 'tools/clang/scripts/update.py' ], }, { 'name': 'sysroot_arm', 'pattern': '.', 'condition': 'checkout_linux and checkout_arm', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm'], }, { 'name': 'sysroot_arm64', 'pattern': '.', 'condition': 'checkout_linux and checkout_arm64', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=arm64'], }, { 'name': 'sysroot_x86', 'pattern': '.', 'condition': 'checkout_linux and (checkout_x86 or checkout_x64)', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=x86'], }, { 'name': 'sysroot_mips', 'pattern': '.', 'condition': 'checkout_linux and checkout_mips', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=mips'], }, { 'name': 'sysroot_x64', 'pattern': '.', 'condition': 'checkout_linux and checkout_x64', 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py', '--arch=x64'], }, { 'name': 'test_fonts', 'pattern': '.', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--extract', '--no_auth', '--bucket', 'chromium-fonts', '-s', 'third_party/test_fonts/test_fonts.tar.gz.sha1', ], }, { 'name': 'msan_chained_origins_focal', 'pattern': '.', 'condition': 'checkout_instrumented_libraries', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-instrumented-libraries', '-s', 'third_party/instrumented_libraries/binaries/msan-chained-origins-focal.tgz.sha1', ], }, { 'name': 'msan_no_origins_focal', 'pattern': '.', 'condition': 'checkout_instrumented_libraries', 'action': [ 'python3', 'third_party/depot_tools/download_from_google_storage.py', '--no_resume', '--no_auth', '--bucket', 'chromium-instrumented-libraries', '-s', 'third_party/instrumented_libraries/binaries/msan-no-origins-focal.tgz.sha1', ], }, { # Update LASTCHANGE. 'name': 'lastchange', 'pattern': '.', 'action': ['python3', 'build/util/lastchange.py', '-o', 'build/util/LASTCHANGE'], }, ]