use_relative_paths = True gclient_gn_args_file = 'build/config/gclient_args.gni' gclient_gn_args = [] 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': '62a4d6866aeeca02036c510b2f3f286084dd62af', # 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': '26f8da34750ac3bccf683ed5f70d86f21c54b22b', # 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': '34f9ff8fd5f494bf2b886337e6ef6fcea414cb11', # 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': '1c7fc8f4bdb81fa561152ab0ecb2a5647cb08f8b', # 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': '8b525d2747f2584fc35d8c7e612e66f377858df7', # 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': 'c8f1e5e5b7722962ecb28ba041775939d451ed82', # 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': 'cd81494a2f4903136ac0d73dc296b2064c5bd714', # 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': '5fb99f65c0eacadf2f72618936a3264e72942756', # 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': '2db58e061ecc0d738a41d13ed8908e967bd0014c', # 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:9.20220729.1.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:9ef321772ecc161937db69acb346397e0ccc484d', # 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': '50ec7b3822a90d73aa761b21fc941b485a1cb9d6', # 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': 'e09c4b66b6e87116eb190651421f1a6e2f3b9c52', # 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': 'ee69aa00ee8536f61db6a451f3858745cf587de6', # 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': '22f1a22c99e9dde8cd3c72ead333f425c5a7aa77', # 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': 'b1269813eaf5b8ac78e35e45a0f7cc320bd3e7d6', # 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': '039323b945911a54cb7400da8fb14fcbb0348e97', # 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': '012c3438e0795fa6ad1626f1f5e1c0ab577b91f6', # 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': '1b882ef6372b58bfd55a3285f37ed801be9137cd', # 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': '9215e8e1d0fe474ffd3e16c1a07a0f97089e6224', # 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': '317dd8a84c65676c7ceb6c1dad0e54eaa0b71417', # 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': '3605b5fd7e1ea8191cebb967b1785fd62810866a', # 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': '41d69d665a21f21858f9992bc751c2a94da37f9e', # 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': 'd115b033c4e53666b535cbd1985ffe60badad082', # 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': '709443dcb7102cf51cf3ee8645b784483cd208f8', # 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': 'c4e126880ba30375c69a4ddf2d42274da1600f67', } # 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/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/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/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'), # 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', '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.tgz.sha1', ], }, { 'name': 'msan_no_origins', '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.tgz.sha1', ], }, { # Update LASTCHANGE. 'name': 'lastchange', 'pattern': '.', 'action': ['python3', 'build/util/lastchange.py', '-o', 'build/util/LASTCHANGE'], }, ]