use_relative_paths = True vars = { 'chromium_git': 'https://chromium.googlesource.com', 'pdfium_git': 'https://pdfium.googlesource.com', 'build_revision': '28e8fda8744c8c44bac72eee610642798daf2705', 'buildtools_revision': '5378d73123b64907773cc5c1bb027b2f765ff00a', 'clang_revision': 'b6f620b311665e2d96d0921833f54295b9bbf925', 'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df', 'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271', 'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038', 'icu_revision': 'c291cde264469b20ca969ce8832088acb21e0c48', 'pdfium_tests_revision': '7e5050a49256a7350df9b8d7ad86e911eb83c021', 'skia_revision': '0a291c7b7eea1807bd58bdaa60c258fd0ebeb257', 'trace_event_revision': 'd83d44b13d07c2fd0a40101a7deef9b93b841732', 'v8_revision': '5cd0d8f27e3f740179a8a3de7b9d2c0cfae7afb9', } deps = { "build": Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'), "buildtools": Var('chromium_git') + "/chromium/buildtools.git@" + Var('buildtools_revision'), "testing/corpus": Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'), "testing/gmock": Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'), "testing/gtest": Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'), "third_party/icu": Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'), "third_party/skia": Var('chromium_git') + '/skia.git' + '@' + Var('skia_revision'), "tools/clang": Var('chromium_git') + "/chromium/src/tools/clang@" + Var('clang_revision'), "tools/gyp": Var('chromium_git') + "/external/gyp", "v8": Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'), "v8/base/trace_event/common": Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" + Var('trace_event_revision'), } deps_os = { "win": { "v8/third_party/cygwin": Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'), }, } include_rules = [ # Basic stuff that everyone can use. # Note: public is not here because core cannot depend on public. '+testing', '+third_party/base', ] specific_include_rules = { # Allow embedder tests to use public APIs. "(.*embeddertest\.cpp)": [ "+public", ] } hooks = [ # Pull GN binaries. This needs to be before running GYP below. { 'name': 'gn_win', 'action': [ 'download_from_google_storage', '--no_resume', '--platform=win32', '--no_auth', '--bucket', 'chromium-gn', '-s', 'pdfium/buildtools/win/gn.exe.sha1', ], }, { 'name': 'gn_mac', 'pattern': '.', 'action': [ 'download_from_google_storage', '--no_resume', '--platform=darwin', '--no_auth', '--bucket', 'chromium-gn', '-s', 'pdfium/buildtools/mac/gn.sha1', ], }, { 'name': 'gn_linux64', 'pattern': '.', 'action': [ 'download_from_google_storage', '--no_resume', '--platform=linux*', '--no_auth', '--bucket', 'chromium-gn', '-s', 'pdfium/buildtools/linux64/gn.sha1', ], }, { # Downloads the current stable linux sysroot to build/linux/ if needed. # This sysroot updates at about the same rate that the chrome build deps # change. This script is a no-op except for linux users who are doing # official chrome builds or cross compiling. 'name': 'sysroot', 'pattern': '.', 'action': ['python', 'pdfium/build/linux/sysroot_scripts/install-sysroot.py', '--running-as-hook' ], }, { # A change to a .gyp, .gypi, or to GYP itself should run the generator. 'name': 'gyp', 'pattern': '.', 'action': ['python', 'pdfium/build_gyp/gyp_pdfium'], }, # Pull clang-format binaries using checked-in hashes. { 'name': 'clang_format_win', 'pattern': '.', 'action': [ 'download_from_google_storage', '--no_resume', '--platform=win32', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'pdfium/buildtools/win/clang-format.exe.sha1', ], }, { 'name': 'clang_format_mac', 'pattern': '.', 'action': [ 'download_from_google_storage', '--no_resume', '--platform=darwin', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'pdfium/buildtools/mac/clang-format.sha1', ], }, { 'name': 'clang_format_linux', 'pattern': '.', 'action': [ 'download_from_google_storage', '--no_resume', '--platform=linux*', '--no_auth', '--bucket', 'chromium-clang-format', '-s', 'pdfium/buildtools/linux64/clang-format.sha1', ], }, { # Pull clang if needed or requested via GYP_DEFINES. 'name': 'clang', 'pattern': '.', 'action': ['python', 'pdfium/tools/clang/scripts/update.py', '--if-needed' ], }, { # Update the Windows toolchain if necessary. 'name': 'win_toolchain', 'pattern': '.', 'action': ['python', 'pdfium/build/vs_toolchain.py', 'update'], }, ]