1use_relative_paths = True 2 3vars = { 4 # By default, we should check out everything needed to run on the main 5 # chromium waterfalls. This var can be also be set to "small", in order 6 # to skip things are not strictly needed to build chromium for development 7 # purposes. 8 'checkout_configuration': 'default', 9 10 # TODO(dpranke): change to != "small" once != is supported. 11 'checkout_instrumented_libraries': 'checkout_linux and checkout_configuration == "default"', 12 13 'chromium_git': 'https://chromium.googlesource.com', 14 'pdfium_git': 'https://pdfium.googlesource.com', 15 16 'android_ndk_revision': 'd57523210239b867fa4fb9d05c2aacc3f1802fe0', 17 'binutils_revision': 'e146228c20af6af922887d0be2d3641cbffb33c5', 18 'build_revision': '097c79babc9b2ce40b61c3e33da1c6681acf837c', 19 'buildtools_revision': 'b36c7b60ed73919b157c7d23ec5fce2aa69ab05e', 20 'catapult_revision': 'd624b3ced2c81d4fb4ea98a8dbb4532272cc1e0a', 21 'clang_revision': 'ac1e5f78c39dc2a262af149404dd36c140eecdc1', 22 'cygwin_revision': 'c89e446b273697fadf3a10ff1007a97c0b7de6df', 23 'depot_tools_revision': '2e8d8348b8574f06c26dbf3ef959b5df11ba5148', 24 'freetype_revision': '2c048a8a622e9f44f255aa3316026f124ac9ecbc', 25 'gmock_revision': '29763965ab52f24565299976b936d1265cb6a271', 26 'gtest_revision': '8245545b6dc9c4703e6496d1efd19e975ad2b038', 27 'icu_revision': 'e3b480d3be4446ea17011c0cdc9c4cd380a5c58f', 28 'instrumented_lib_revision': '28417458ac4dc79f68915079d0f283f682504cc0', 29 'jinja2_revision': 'd34383206fa42d52faa10bb9931d6d538f3a57e0', 30 'jpeg_turbo_revision': '7260e4d8b8e1e40b17f03fafdf1cd83296900f76', 31 'markupsafe_revision': '8f45f5cfa0009d2a70589bcda0349b8cb2b72783', 32 'pdfium_tests_revision': '3d6228da656a3974d72223a702e6804df494703e', 33 'skia_revision': '40ca2087ef0752d78fd2e0995471102fe96fe9fe', 34 'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d', 35 'trace_event_revision': '0e9a47d74970bee1bbfc063c47215406f8918699', 36 'v8_revision': '0c287882ea233f299a91f6b72b56d8faaecf52c0', 37 'yasm_source_revision': 'b98114e18d8b9b84586b10d24353ab8616d4c5fc', 38 'zlib_revision': '91155b5d0737713fc7f0499cf0ba2c4f2af24014', 39} 40 41deps = { 42 "base/trace_event/common": 43 Var('chromium_git') + "/chromium/src/base/trace_event/common.git@" + 44 Var('trace_event_revision'), 45 46 "build": 47 Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'), 48 49 "buildtools": 50 Var('chromium_git') + "/chromium/buildtools.git@" + 51 Var('buildtools_revision'), 52 53 "testing/corpus": 54 Var('pdfium_git') + "/pdfium_tests@" + Var('pdfium_tests_revision'), 55 56 "testing/gmock": 57 Var('chromium_git') + "/external/googlemock.git@" + Var('gmock_revision'), 58 59 "testing/gtest": 60 Var('chromium_git') + "/external/googletest.git@" + Var('gtest_revision'), 61 62 "third_party/binutils": 63 Var('chromium_git') + "/chromium/src/third_party/binutils.git@" + 64 Var('binutils_revision'), 65 66 'third_party/depot_tools': 67 Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 68 Var('depot_tools_revision'), 69 70 "third_party/freetype/src": 71 Var('chromium_git') + '/chromium/src/third_party/freetype2.git@' + 72 Var('freetype_revision'), 73 74 "third_party/icu": 75 Var('chromium_git') + "/chromium/deps/icu.git@" + Var('icu_revision'), 76 77 "third_party/instrumented_libraries": 78 Var('chromium_git') + 79 "/chromium/src/third_party/instrumented_libraries.git@" + 80 Var('instrumented_lib_revision'), 81 82 "third_party/jinja2": 83 Var('chromium_git') + "/chromium/src/third_party/jinja2.git@" + 84 Var('jinja2_revision'), 85 86 "third_party/markupsafe": 87 Var('chromium_git') + "/chromium/src/third_party/markupsafe.git@" + 88 Var('markupsafe_revision'), 89 90 "third_party/libjpeg_turbo": 91 Var('chromium_git') + "/chromium/deps/libjpeg_turbo.git@" + 92 Var('jpeg_turbo_revision'), 93 94 "third_party/skia": 95 Var('chromium_git') + '/skia.git@' + Var('skia_revision'), 96 97 "third_party/zlib": 98 Var('chromium_git') + "/chromium/src/third_party/zlib.git@" + 99 Var('zlib_revision'), 100 101 'third_party/yasm/source/patched-yasm': 102 Var('chromium_git') + '/chromium/deps/yasm/patched-yasm.git@' + 103 Var('yasm_source_revision'), 104 105 "tools/clang": 106 Var('chromium_git') + "/chromium/src/tools/clang@" + Var('clang_revision'), 107 108 # TODO(GYP): Remove this when no tools rely on GYP anymore. 109 "tools/gyp": 110 Var('chromium_git') + '/external/gyp.git@' + 111 'eb296f67da078ec01f5e3a9ea9cdc6d26d680161', 112 113 "tools/memory": 114 Var('chromium_git') + "/chromium/src/tools/memory@" + 115 Var('tools_memory_revision'), 116 117 "v8": 118 Var('chromium_git') + "/v8/v8.git@" + Var('v8_revision'), 119} 120 121deps_os = { 122 "android": { 123 "third_party/android_ndk": 124 Var('chromium_git') + "/android_ndk.git@" + Var('android_ndk_revision'), 125 "third_party/catapult": 126 Var('chromium_git') + 127 "/external/github.com/catapult-project/catapult.git@" + 128 Var('catapult_revision'), 129 }, 130 "win": { 131 "v8/third_party/cygwin": 132 Var('chromium_git') + "/chromium/deps/cygwin@" + Var('cygwin_revision'), 133 }, 134} 135 136recursedeps = [ 137 # buildtools provides clang_format, libc++, and libc++abi 138 'buildtools', 139] 140 141include_rules = [ 142 # Basic stuff that everyone can use. 143 # Note: public is not here because core cannot depend on public. 144 '+testing', 145 '+third_party/base', 146] 147 148specific_include_rules = { 149 # Allow embedder tests to use public APIs. 150 "(.*embeddertest\.cpp)": [ 151 "+public", 152 ] 153} 154 155hooks = [ 156 { 157 'name': 'gn_win', 158 'action': [ 'download_from_google_storage', 159 '--no_resume', 160 '--platform=win32', 161 '--no_auth', 162 '--bucket', 'chromium-gn', 163 '-s', 'pdfium/buildtools/win/gn.exe.sha1', 164 ], 165 }, 166 { 167 'name': 'gn_mac', 168 'pattern': '.', 169 'action': [ 'download_from_google_storage', 170 '--no_resume', 171 '--platform=darwin', 172 '--no_auth', 173 '--bucket', 'chromium-gn', 174 '-s', 'pdfium/buildtools/mac/gn.sha1', 175 ], 176 }, 177 { 178 'name': 'gn_linux64', 179 'pattern': '.', 180 'action': [ 'download_from_google_storage', 181 '--no_resume', 182 '--platform=linux*', 183 '--no_auth', 184 '--bucket', 'chromium-gn', 185 '-s', 'pdfium/buildtools/linux64/gn.sha1', 186 ], 187 }, 188 # Pull clang-format binaries using checked-in hashes. 189 { 190 'name': 'clang_format_win', 191 'pattern': '.', 192 'action': [ 'download_from_google_storage', 193 '--no_resume', 194 '--platform=win32', 195 '--no_auth', 196 '--bucket', 'chromium-clang-format', 197 '-s', 'pdfium/buildtools/win/clang-format.exe.sha1', 198 ], 199 }, 200 { 201 'name': 'clang_format_mac', 202 'pattern': '.', 203 'action': [ 'download_from_google_storage', 204 '--no_resume', 205 '--platform=darwin', 206 '--no_auth', 207 '--bucket', 'chromium-clang-format', 208 '-s', 'pdfium/buildtools/mac/clang-format.sha1', 209 ], 210 }, 211 { 212 'name': 'clang_format_linux', 213 'pattern': '.', 214 'action': [ 'download_from_google_storage', 215 '--no_resume', 216 '--platform=linux*', 217 '--no_auth', 218 '--bucket', 'chromium-clang-format', 219 '-s', 'pdfium/buildtools/linux64/clang-format.sha1', 220 ], 221 }, 222 { 223 # Pull clang 224 'name': 'clang', 225 'pattern': '.', 226 'action': ['python', 227 'pdfium/tools/clang/scripts/update.py' 228 ], 229 }, 230 { 231 'name': 'binutils', 232 'pattern': 'src/third_party/binutils', 233 'condition': 'host_os == "linux"', 234 'action': [ 235 'python', 236 'pdfium/third_party/binutils/download.py', 237 ], 238 }, 239 { 240 # Downloads the current stable linux sysroot to build/linux/ if needed. 241 # This sysroot updates at about the same rate that the chrome build deps 242 # change. 243 'name': 'sysroot', 244 'pattern': '.', 245 'action': ['python', 'pdfium/build/linux/sysroot_scripts/install-sysroot.py', 246 '--running-as-hook'], 247 }, 248 { 249 # Update the Windows toolchain if necessary. 250 'name': 'win_toolchain', 251 'pattern': '.', 252 'condition': 'checkout_win', 253 'action': ['vpython', 'pdfium/build/vs_toolchain.py', 'update', '--force'], 254 }, 255 { 256 # Update the Mac toolchain if necessary. 257 'name': 'mac_toolchain', 258 'pattern': '.', 259 'action': ['python', 'pdfium/build/mac_toolchain.py'], 260 }, 261 { 262 'name': 'msan_chained_origins', 263 'pattern': '.', 264 'condition': 'checkout_instrumented_libraries', 265 'action': [ 'python', 266 'pdfium/third_party/depot_tools/download_from_google_storage.py', 267 "--no_resume", 268 "--no_auth", 269 "--bucket", "chromium-instrumented-libraries", 270 "-s", "pdfium/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1", 271 ], 272 }, 273 { 274 'name': 'msan_no_origins', 275 'pattern': '.', 276 'condition': 'checkout_instrumented_libraries', 277 'action': [ 'python', 278 'pdfium/third_party/depot_tools/download_from_google_storage.py', 279 "--no_resume", 280 "--no_auth", 281 "--bucket", "chromium-instrumented-libraries", 282 "-s", "pdfium/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1", 283 ], 284 }, 285] 286