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