Home | History | Annotate | Download | only in v8
      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 
      5 vars = {
      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 
     14 deps = {
     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 
     85 recursedeps = [
     86   'v8/buildtools',
     87   'v8/third_party/android_tools',
     88 ]
     89 
     90 include_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:
     98 skip_child_includes = [
     99   'build',
    100   'third_party',
    101 ]
    102 
    103 hooks = [
    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