1# Note: The buildbots evaluate this file with CWD set to the parent 2# directory and assume that the root of the checkout is in ./v8/, so 3# all paths in here must match this assumption. 4 5vars = { 6 'checkout_instrumented_libraries': False, 7 'chromium_url': 'https://chromium.googlesource.com', 8 'download_gcmole': False, 9 'download_jsfunfuzz': False, 10 'download_mips_toolchain': False, 11 'check_v8_header_includes': False, 12} 13 14deps = { 15 'v8/build': 16 Var('chromium_url') + '/chromium/src/build.git' + '@' + 'dd6b994b32b498e9e766ce60c44da0aec3a2a188', 17 'v8/tools/gyp': 18 Var('chromium_url') + '/external/gyp.git' + '@' + 'd61a9397e668fa9843c4aa7da9e79460fe590bfb', 19 'v8/third_party/depot_tools': 20 Var('chromium_url') + '/chromium/tools/depot_tools.git' + '@' + 'aaf2cc09c6874e394c6c1e4692360cc400d6b388', 21 'v8/third_party/icu': 22 Var('chromium_url') + '/chromium/deps/icu.git' + '@' + 'a191af9d025859e8368b8b469120d78006e9f5f6', 23 'v8/third_party/instrumented_libraries': 24 Var('chromium_url') + '/chromium/src/third_party/instrumented_libraries.git' + '@' + 'd8cf40c4592dcec7fb01fcbdf1f6d4958b3fbf11', 25 'v8/buildtools': 26 Var('chromium_url') + '/chromium/buildtools.git' + '@' + '2dff9c9c74e9d732e6fe57c84ef7fd044cc45d96', 27 'v8/base/trace_event/common': 28 Var('chromium_url') + '/chromium/src/base/trace_event/common.git' + '@' + '211b3ed9d0481b4caddbee1322321b86a483ca1f', 29 'v8/third_party/android_ndk': { 30 'url': Var('chromium_url') + '/android_ndk.git' + '@' + '4e2cea441bfd43f0863d14f57b1e1844260b9884', 31 'condition': 'checkout_android', 32 }, 33 'v8/third_party/android_tools': { 34 'url': Var('chromium_url') + '/android_tools.git' + '@' + '130499e25286f4d56acafa252fee09f3cc595c49', 35 'condition': 'checkout_android', 36 }, 37 'v8/third_party/catapult': { 38 'url': Var('chromium_url') + '/catapult.git' + '@' + 'bc2c0a9307285fa36e03e7cdb6bf8623390ff855', 39 'condition': 'checkout_android', 40 }, 41 'v8/third_party/colorama/src': { 42 'url': Var('chromium_url') + '/external/colorama.git' + '@' + '799604a1041e9b3bc5d2789ecbd7e8db2e18e6b8', 43 'condition': 'checkout_android', 44 }, 45 'v8/third_party/fuchsia-sdk': { 46 'url': Var('chromium_url') + '/chromium/src/third_party/fuchsia-sdk.git' + '@' + '3ec92c896bcbddc46e2a073ebfdd25aa1194656e', 47 'condition': 'checkout_fuchsia', 48 }, 49 'v8/third_party/googletest/src': 50 Var('chromium_url') + '/external/github.com/google/googletest.git' + '@' + 'd5266326752f0a1dadbd310932d8f4fd8c3c5e7d', 51 'v8/third_party/jinja2': 52 Var('chromium_url') + '/chromium/src/third_party/jinja2.git' + '@' + 'b41863e42637544c2941b574c7877d3e1f663e25', 53 'v8/third_party/markupsafe': 54 Var('chromium_url') + '/chromium/src/third_party/markupsafe.git' + '@' + '8f45f5cfa0009d2a70589bcda0349b8cb2b72783', 55 'v8/third_party/proguard': 56 Var('chromium_url') + '/chromium/src/third_party/proguard.git' + '@' + 'a3729bea473bb5ffc5eaf289f5733bc5e2861c07', 57 'v8/tools/swarming_client': 58 Var('chromium_url') + '/infra/luci/client-py.git' + '@' + '486c9b53c4d54dd4b95bb6ce0e31160e600dfc11', 59 'v8/test/benchmarks/data': 60 Var('chromium_url') + '/v8/deps/third_party/benchmarks.git' + '@' + '05d7188267b4560491ff9155c5ee13e207ecd65f', 61 'v8/test/mozilla/data': 62 Var('chromium_url') + '/v8/deps/third_party/mozilla-tests.git' + '@' + 'f6c578a10ea707b1a8ab0b88943fe5115ce2b9be', 63 'v8/test/test262/data': 64 Var('chromium_url') + '/external/github.com/tc39/test262.git' + '@' + 'a6c1d05ac4fed084fa047e4c52ab2a8c9c2a8aef', 65 'v8/test/test262/harness': 66 Var('chromium_url') + '/external/github.com/test262-utils/test262-harness-py.git' + '@' + '0f2acdd882c84cff43b9d60df7574a1901e2cdcd', 67 'v8/third_party/qemu': { 68 'packages': [ 69 { 70 'package': 'fuchsia/qemu/linux-amd64', 71 'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994' 72 }, 73 ], 74 'condition': 'checkout_fuchsia', 75 'dep_type': 'cipd', 76 }, 77 'v8/tools/clang': 78 Var('chromium_url') + '/chromium/src/tools/clang.git' + '@' + 'bb4146fb8a9dde405b71914657bb461dc93912ab', 79 'v8/tools/luci-go': 80 Var('chromium_url') + '/chromium/src/tools/luci-go.git' + '@' + '445d7c4b6a4f10e188edb395b132e3996b127691', 81 'v8/test/wasm-js': 82 Var('chromium_url') + '/external/github.com/WebAssembly/spec.git' + '@' + '240ea673de6e75d78ae472f66127301ecab22a99', 83} 84 85recursedeps = [ 86 'v8/buildtools', 87 'v8/third_party/android_tools', 88] 89 90include_rules = [ 91 # Everybody can use some things. 92 '+include', 93 '+unicode', 94 '+third_party/fdlibm', 95] 96 97# checkdeps.py shouldn't check for includes in these directories: 98skip_child_includes = [ 99 'build', 100 'third_party', 101] 102 103hooks = [ 104 { 105 # Ensure that the DEPS'd "depot_tools" has its self-update capability 106 # disabled. 107 'name': 'disable_depot_tools_selfupdate', 108 'pattern': '.', 109 'action': [ 110 'python', 111 'v8/third_party/depot_tools/update_depot_tools_toggle.py', 112 '--disable', 113 ], 114 }, 115 { 116 # This clobbers when necessary (based on get_landmines.py). It must be the 117 # first hook so that other things that get/generate into the output 118 # directory will not subsequently be clobbered. 119 'name': 'landmines', 120 'pattern': '.', 121 'action': [ 122 'python', 123 'v8/build/landmines.py', 124 '--landmine-scripts', 125 'v8/tools/get_landmines.py', 126 ], 127 }, 128 # Pull clang-format binaries using checked-in hashes. 129 { 130 'name': 'clang_format_win', 131 'pattern': '.', 132 'condition': 'host_os == "win"', 133 'action': [ 'download_from_google_storage', 134 '--no_resume', 135 '--platform=win32', 136 '--no_auth', 137 '--bucket', 'chromium-clang-format', 138 '-s', 'v8/buildtools/win/clang-format.exe.sha1', 139 ], 140 }, 141 { 142 'name': 'clang_format_mac', 143 'pattern': '.', 144 'condition': 'host_os == "mac"', 145 'action': [ 'download_from_google_storage', 146 '--no_resume', 147 '--platform=darwin', 148 '--no_auth', 149 '--bucket', 'chromium-clang-format', 150 '-s', 'v8/buildtools/mac/clang-format.sha1', 151 ], 152 }, 153 { 154 'name': 'clang_format_linux', 155 'pattern': '.', 156 'condition': 'host_os == "linux"', 157 'action': [ 'download_from_google_storage', 158 '--no_resume', 159 '--platform=linux*', 160 '--no_auth', 161 '--bucket', 'chromium-clang-format', 162 '-s', 'v8/buildtools/linux64/clang-format.sha1', 163 ], 164 }, 165 { 166 'name': 'gcmole', 167 'pattern': '.', 168 'condition': 'download_gcmole', 169 'action': [ 'download_from_google_storage', 170 '--bucket', 'chrome-v8-gcmole', 171 '-u', '--no_resume', 172 '-s', 'v8/tools/gcmole/gcmole-tools.tar.gz.sha1', 173 '--platform=linux*', 174 ], 175 }, 176 { 177 'name': 'jsfunfuzz', 178 'pattern': '.', 179 'condition': 'download_jsfunfuzz', 180 'action': [ 'download_from_google_storage', 181 '--bucket', 'chrome-v8-jsfunfuzz', 182 '-u', '--no_resume', 183 '-s', 'v8/tools/jsfunfuzz/jsfunfuzz.tar.gz.sha1', 184 '--platform=linux*', 185 ], 186 }, 187 # Pull luci-go binaries (isolate, swarming) using checked-in hashes. 188 { 189 'name': 'luci-go_win', 190 'pattern': '.', 191 'condition': 'host_os == "win"', 192 'action': [ 'download_from_google_storage', 193 '--no_resume', 194 '--platform=win32', 195 '--no_auth', 196 '--bucket', 'chromium-luci', 197 '-d', 'v8/tools/luci-go/win64', 198 ], 199 }, 200 { 201 'name': 'luci-go_mac', 202 'pattern': '.', 203 'condition': 'host_os == "mac"', 204 'action': [ 'download_from_google_storage', 205 '--no_resume', 206 '--platform=darwin', 207 '--no_auth', 208 '--bucket', 'chromium-luci', 209 '-d', 'v8/tools/luci-go/mac64', 210 ], 211 }, 212 { 213 'name': 'luci-go_linux', 214 'pattern': '.', 215 'condition': 'host_os == "linux"', 216 'action': [ 'download_from_google_storage', 217 '--no_resume', 218 '--platform=linux*', 219 '--no_auth', 220 '--bucket', 'chromium-luci', 221 '-d', 'v8/tools/luci-go/linux64', 222 ], 223 }, 224 # Pull GN using checked-in hashes. 225 { 226 'name': 'gn_win', 227 'pattern': '.', 228 'condition': 'host_os == "win"', 229 'action': [ 'download_from_google_storage', 230 '--no_resume', 231 '--platform=win32', 232 '--no_auth', 233 '--bucket', 'chromium-gn', 234 '-s', 'v8/buildtools/win/gn.exe.sha1', 235 ], 236 }, 237 { 238 'name': 'gn_mac', 239 'pattern': '.', 240 'condition': 'host_os == "mac"', 241 'action': [ 'download_from_google_storage', 242 '--no_resume', 243 '--platform=darwin', 244 '--no_auth', 245 '--bucket', 'chromium-gn', 246 '-s', 'v8/buildtools/mac/gn.sha1', 247 ], 248 }, 249 { 250 'name': 'gn_linux', 251 'pattern': '.', 252 'condition': 'host_os == "linux"', 253 'action': [ 'download_from_google_storage', 254 '--no_resume', 255 '--platform=linux*', 256 '--no_auth', 257 '--bucket', 'chromium-gn', 258 '-s', 'v8/buildtools/linux64/gn.sha1', 259 ], 260 }, 261 { 262 'name': 'wasm_spec_tests', 263 'pattern': '.', 264 'action': [ 'download_from_google_storage', 265 '--no_resume', 266 '--no_auth', 267 '-u', 268 '--bucket', 'v8-wasm-spec-tests', 269 '-s', 'v8/test/wasm-spec-tests/tests.tar.gz.sha1', 270 ], 271 }, 272 { 273 'name': 'closure_compiler', 274 'pattern': '.', 275 'action': [ 'download_from_google_storage', 276 '--no_resume', 277 '--no_auth', 278 '-u', 279 '--bucket', 'chromium-v8-closure-compiler', 280 '-s', 'v8/src/inspector/build/closure-compiler.tar.gz.sha1', 281 ], 282 }, 283 { 284 'name': 'sysroot_arm', 285 'pattern': '.', 286 'condition': '(checkout_linux and checkout_arm)', 287 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', 288 '--arch=arm'], 289 }, 290 { 291 'name': 'sysroot_arm64', 292 'pattern': '.', 293 'condition': '(checkout_linux and checkout_arm64)', 294 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', 295 '--arch=arm64'], 296 }, 297 { 298 'name': 'sysroot_x86', 299 'pattern': '.', 300 'condition': '(checkout_linux and (checkout_x86 or checkout_x64))', 301 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', 302 '--arch=x86'], 303 }, 304 { 305 'name': 'sysroot_mips', 306 'pattern': '.', 307 'condition': '(checkout_linux and checkout_mips)', 308 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', 309 '--arch=mips'], 310 }, 311 { 312 'name': 'sysroot_x64', 313 'pattern': '.', 314 'condition': 'checkout_linux and checkout_x64', 315 'action': ['python', 'v8/build/linux/sysroot_scripts/install-sysroot.py', 316 '--arch=x64'], 317 }, 318 { 319 'name': 'msan_chained_origins', 320 'pattern': '.', 321 'condition': 'checkout_instrumented_libraries', 322 'action': [ 'download_from_google_storage', 323 '--no_resume', 324 '--no_auth', 325 '--bucket', 'chromium-instrumented-libraries', 326 '-s', 'v8/third_party/instrumented_libraries/binaries/msan-chained-origins-trusty.tgz.sha1', 327 ], 328 }, 329 { 330 'name': 'msan_no_origins', 331 'pattern': '.', 332 'condition': 'checkout_instrumented_libraries', 333 'action': [ 'download_from_google_storage', 334 '--no_resume', 335 '--no_auth', 336 '--bucket', 'chromium-instrumented-libraries', 337 '-s', 'v8/third_party/instrumented_libraries/binaries/msan-no-origins-trusty.tgz.sha1', 338 ], 339 }, 340 { 341 # Update the Windows toolchain if necessary. 342 'name': 'win_toolchain', 343 'pattern': '.', 344 'condition': 'checkout_win', 345 'action': ['python', 'v8/build/vs_toolchain.py', 'update'], 346 }, 347 { 348 # Update the Mac toolchain if necessary. 349 'name': 'mac_toolchain', 350 'pattern': '.', 351 'condition': 'checkout_mac', 352 'action': ['python', 'v8/build/mac_toolchain.py'], 353 }, 354 # Pull binutils for linux, enabled debug fission for faster linking / 355 # debugging when used with clang on Ubuntu Precise. 356 # https://code.google.com/p/chromium/issues/detail?id=352046 357 { 358 'name': 'binutils', 359 'pattern': 'v8/third_party/binutils', 360 'condition': 'host_os == "linux"', 361 'action': [ 362 'python', 363 'v8/third_party/binutils/download.py', 364 ], 365 }, 366 { 367 # Note: On Win, this should run after win_toolchain, as it may use it. 368 'name': 'clang', 369 'pattern': '.', 370 # clang not supported on aix 371 'condition': 'host_os != "aix"', 372 'action': ['python', 'v8/tools/clang/scripts/update.py'], 373 }, 374 { 375 # Update LASTCHANGE. 376 'name': 'lastchange', 377 'pattern': '.', 378 'action': ['python', 'v8/build/util/lastchange.py', 379 '-o', 'v8/build/util/LASTCHANGE'], 380 }, 381 { 382 'name': 'fuchsia_sdk', 383 'pattern': '.', 384 'condition': 'checkout_fuchsia', 385 'action': [ 386 'python', 387 'v8/build/fuchsia/update_sdk.py', 388 ], 389 }, 390 { 391 'name': 'mips_toolchain', 392 'pattern': '.', 393 'condition': 'download_mips_toolchain', 394 'action': [ 'download_from_google_storage', 395 '--no_resume', 396 '--platform=linux', 397 '--no_auth', 398 '-u', 399 '--bucket', 'chromium-v8', 400 '-s', 'v8/tools/mips_toolchain.tar.gz.sha1', 401 ], 402 }, 403 # Download and initialize "vpython" VirtualEnv environment packages. 404 { 405 'name': 'vpython_common', 406 'pattern': '.', 407 'condition': 'checkout_android', 408 'action': [ 'vpython', 409 '-vpython-spec', 'v8/.vpython', 410 '-vpython-tool', 'install', 411 ], 412 }, 413 { 414 'name': 'check_v8_header_includes', 415 'pattern': '.', 416 'condition': 'check_v8_header_includes', 417 'action': [ 418 'python', 419 'v8/tools/generate-header-include-checks.py', 420 ], 421 }, 422] 423