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  "chromium_url": "https://chromium.googlesource.com",
7}
8
9deps = {
10  "v8/build":
11    Var("chromium_url") + "/chromium/src/build.git" + "@" + "c7c2db69cd571523ce728c4d3dceedbd1896b519",
12  "v8/tools/gyp":
13    Var("chromium_url") + "/external/gyp.git" + "@" + "e7079f0e0e14108ab0dba58728ff219637458563",
14  "v8/third_party/icu":
15    Var("chromium_url") + "/chromium/deps/icu.git" + "@" + "450be73c9ee8ae29d43d4fdc82febb2a5f62bfb5",
16  "v8/third_party/instrumented_libraries":
17    Var("chromium_url") + "/chromium/src/third_party/instrumented_libraries.git" + "@" + "5b6f777da671be977f56f0e8fc3469a3ccbb4474",
18  "v8/buildtools":
19    Var("chromium_url") + "/chromium/buildtools.git" + "@" + "94cdccbebc7a634c27145a3d84089e85fbb42e69",
20  "v8/base/trace_event/common":
21    Var("chromium_url") + "/chromium/src/base/trace_event/common.git" + "@" + "06294c8a4a6f744ef284cd63cfe54dbf61eea290",
22  "v8/third_party/jinja2":
23    Var("chromium_url") + "/chromium/src/third_party/jinja2.git" + "@" + "d34383206fa42d52faa10bb9931d6d538f3a57e0",
24  "v8/third_party/markupsafe":
25    Var("chromium_url") + "/chromium/src/third_party/markupsafe.git" + "@" + "8f45f5cfa0009d2a70589bcda0349b8cb2b72783",
26  "v8/tools/swarming_client":
27    Var('chromium_url') + '/external/swarming.client.git' + '@' + "11e31afa5d330756ff87aa12064bb5d032896cb5",
28  "v8/testing/gtest":
29    Var("chromium_url") + "/external/github.com/google/googletest.git" + "@" + "6f8a66431cb592dad629028a50b3dd418a408c87",
30  "v8/testing/gmock":
31    Var("chromium_url") + "/external/googlemock.git" + "@" + "0421b6f358139f02e102c9c332ce19a33faf75be",
32  "v8/test/benchmarks/data":
33    Var("chromium_url") + "/v8/deps/third_party/benchmarks.git" + "@" + "05d7188267b4560491ff9155c5ee13e207ecd65f",
34  "v8/test/mozilla/data":
35    Var("chromium_url") + "/v8/deps/third_party/mozilla-tests.git" + "@" + "f6c578a10ea707b1a8ab0b88943fe5115ce2b9be",
36  "v8/test/test262/data":
37    Var("chromium_url") + "/external/github.com/tc39/test262.git" + "@" + "a72ee6d91275aa6524e84a9b7070103411ef2689",
38  "v8/test/test262/harness":
39    Var("chromium_url") + "/external/github.com/test262-utils/test262-harness-py.git" + "@" + "0f2acdd882c84cff43b9d60df7574a1901e2cdcd",
40  "v8/tools/clang":
41    Var("chromium_url") + "/chromium/src/tools/clang.git" + "@" + "9913fb19b687b0c858f697efd7bd2468d789a3d5",
42  "v8/test/wasm-js":
43    Var("chromium_url") + "/external/github.com/WebAssembly/spec.git" + "@" + "b8b919e4a0d52db4d3d762e731e615bc3a38b3b2",
44}
45
46deps_os = {
47  "android": {
48    "v8/third_party/android_tools":
49      Var("chromium_url") + "/android_tools.git" + "@" + "b43a6a289a7588b1769814f04dd6c7d7176974cc",
50    "v8/third_party/catapult":
51      Var('chromium_url') + "/external/github.com/catapult-project/catapult.git" + "@" + "246a39a82c2213d913a96fff020a263838dc76e6",
52  },
53  "win": {
54    "v8/third_party/cygwin":
55      Var("chromium_url") + "/chromium/deps/cygwin.git" + "@" + "c89e446b273697fadf3a10ff1007a97c0b7de6df",
56  }
57}
58
59recursedeps = [
60  "v8/buildtools",
61  "v8/third_party/android_tools",
62]
63
64include_rules = [
65  # Everybody can use some things.
66  "+include",
67  "+unicode",
68  "+third_party/fdlibm",
69]
70
71# checkdeps.py shouldn't check for includes in these directories:
72skip_child_includes = [
73  "build",
74  "gypfiles",
75  "third_party",
76]
77
78hooks = [
79  {
80    # This clobbers when necessary (based on get_landmines.py). It must be the
81    # first hook so that other things that get/generate into the output
82    # directory will not subsequently be clobbered.
83    'name': 'landmines',
84    'pattern': '.',
85    'action': [
86        'python',
87        'v8/gypfiles/landmines.py',
88    ],
89  },
90  # Pull clang-format binaries using checked-in hashes.
91  {
92    "name": "clang_format_win",
93    "pattern": ".",
94    "action": [ "download_from_google_storage",
95                "--no_resume",
96                "--platform=win32",
97                "--no_auth",
98                "--bucket", "chromium-clang-format",
99                "-s", "v8/buildtools/win/clang-format.exe.sha1",
100    ],
101  },
102  {
103    "name": "clang_format_mac",
104    "pattern": ".",
105    "action": [ "download_from_google_storage",
106                "--no_resume",
107                "--platform=darwin",
108                "--no_auth",
109                "--bucket", "chromium-clang-format",
110                "-s", "v8/buildtools/mac/clang-format.sha1",
111    ],
112  },
113  {
114    "name": "clang_format_linux",
115    "pattern": ".",
116    "action": [ "download_from_google_storage",
117                "--no_resume",
118                "--platform=linux*",
119                "--no_auth",
120                "--bucket", "chromium-clang-format",
121                "-s", "v8/buildtools/linux64/clang-format.sha1",
122    ],
123  },
124  {
125    'name': 'gcmole',
126    'pattern': '.',
127    'action': [
128        'python',
129        'v8/tools/gcmole/download_gcmole_tools.py',
130    ],
131  },
132  {
133    'name': 'jsfunfuzz',
134    'pattern': '.',
135    'action': [
136        'python',
137        'v8/tools/jsfunfuzz/download_jsfunfuzz.py',
138    ],
139  },
140  # Pull luci-go binaries (isolate, swarming) using checked-in hashes.
141  {
142    'name': 'luci-go_win',
143    'pattern': '.',
144    'action': [ 'download_from_google_storage',
145                '--no_resume',
146                '--platform=win32',
147                '--no_auth',
148                '--bucket', 'chromium-luci',
149                '-d', 'v8/tools/luci-go/win64',
150    ],
151  },
152  {
153    'name': 'luci-go_mac',
154    'pattern': '.',
155    'action': [ 'download_from_google_storage',
156                '--no_resume',
157                '--platform=darwin',
158                '--no_auth',
159                '--bucket', 'chromium-luci',
160                '-d', 'v8/tools/luci-go/mac64',
161    ],
162  },
163  {
164    'name': 'luci-go_linux',
165    'pattern': '.',
166    'action': [ 'download_from_google_storage',
167                '--no_resume',
168                '--platform=linux*',
169                '--no_auth',
170                '--bucket', 'chromium-luci',
171                '-d', 'v8/tools/luci-go/linux64',
172    ],
173  },
174  # Pull GN using checked-in hashes.
175  {
176    "name": "gn_win",
177    "pattern": ".",
178    "action": [ "download_from_google_storage",
179                "--no_resume",
180                "--platform=win32",
181                "--no_auth",
182                "--bucket", "chromium-gn",
183                "-s", "v8/buildtools/win/gn.exe.sha1",
184    ],
185  },
186  {
187    "name": "gn_mac",
188    "pattern": ".",
189    "action": [ "download_from_google_storage",
190                "--no_resume",
191                "--platform=darwin",
192                "--no_auth",
193                "--bucket", "chromium-gn",
194                "-s", "v8/buildtools/mac/gn.sha1",
195    ],
196  },
197  {
198    "name": "gn_linux",
199    "pattern": ".",
200    "action": [ "download_from_google_storage",
201                "--no_resume",
202                "--platform=linux*",
203                "--no_auth",
204                "--bucket", "chromium-gn",
205                "-s", "v8/buildtools/linux64/gn.sha1",
206    ],
207  },
208  {
209    "name": "wasm_fuzzer",
210    "pattern": ".",
211    "action": [ "download_from_google_storage",
212                "--no_resume",
213                "--no_auth",
214                "-u",
215                "--bucket", "v8-wasm-fuzzer",
216                "-s", "v8/test/fuzzer/wasm.tar.gz.sha1",
217    ],
218  },
219  {
220    "name": "wasm_asmjs_fuzzer",
221    "pattern": ".",
222    "action": [ "download_from_google_storage",
223                "--no_resume",
224                "--no_auth",
225                "-u",
226                "--bucket", "v8-wasm-asmjs-fuzzer",
227                "-s", "v8/test/fuzzer/wasm_asmjs.tar.gz.sha1",
228    ],
229  },
230  {
231    "name": "closure_compiler",
232    "pattern": ".",
233    "action": [ "download_from_google_storage",
234                "--no_resume",
235                "--no_auth",
236                "-u",
237                "--bucket", "chromium-v8-closure-compiler",
238                "-s", "v8/src/inspector/build/closure-compiler.tar.gz.sha1",
239    ],
240  },
241  {
242    # Downloads the current stable linux sysroot to build/linux/ if needed.
243    # This sysroot updates at about the same rate that the chrome build deps
244    # change.
245    'name': 'sysroot',
246    'pattern': '.',
247    'action': [
248        'python',
249        'v8/build/linux/sysroot_scripts/install-sysroot.py',
250        '--running-as-hook',
251    ],
252  },
253  {
254    # Pull sanitizer-instrumented third-party libraries if requested via
255    # GYP_DEFINES.
256    'name': 'instrumented_libraries',
257    'pattern': '\\.sha1',
258    'action': [
259        'python',
260        'v8/third_party/instrumented_libraries/scripts/download_binaries.py',
261    ],
262  },
263  {
264    # Update the Windows toolchain if necessary.
265    'name': 'win_toolchain',
266    'pattern': '.',
267    'action': ['python', 'v8/build/vs_toolchain.py', 'update'],
268  },
269  # Pull binutils for linux, enabled debug fission for faster linking /
270  # debugging when used with clang on Ubuntu Precise.
271  # https://code.google.com/p/chromium/issues/detail?id=352046
272  {
273    'name': 'binutils',
274    'pattern': 'v8/third_party/binutils',
275    'action': [
276        'python',
277        'v8/third_party/binutils/download.py',
278    ],
279  },
280  {
281    # Pull gold plugin if needed or requested via GYP_DEFINES.
282    # Note: This must run before the clang update.
283    'name': 'gold_plugin',
284    'pattern': '.',
285    'action': ['python', 'v8/gypfiles/download_gold_plugin.py'],
286  },
287  {
288    # Pull clang if needed or requested via GYP_DEFINES.
289    # Note: On Win, this should run after win_toolchain, as it may use it.
290    'name': 'clang',
291    'pattern': '.',
292    'action': ['python', 'v8/tools/clang/scripts/update.py', '--if-needed'],
293  },
294  {
295    # A change to a .gyp, .gypi, or to GYP itself should run the generator.
296    "pattern": ".",
297    "action": ["python", "v8/gypfiles/gyp_v8", "--running-as-hook"],
298  },
299]
300