• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# This file is used to manage the dependencies of the ANGLE git repo. It is
2# used by gclient to determine what version of each dependency to check out, and
3# where.
4
5# Avoids the need for a custom root variable.
6use_relative_paths = True
7use_relative_hooks = True
8
9vars = {
10  'android_git': 'https://android.googlesource.com',
11  'chromium_git': 'https://chromium.googlesource.com',
12  'chrome_internal_git': 'https://chrome-internal.googlesource.com',
13  'swiftshader_git': 'https://swiftshader.googlesource.com',
14
15  # This variable is overrided in Chromium's DEPS file.
16  'build_with_chromium': False,
17
18  # Only check out public sources by default. This can be overridden with custom_vars.
19  'checkout_angle_internal': False,
20
21  # Version of Chromium our Chromium-based DEPS are mirrored from.
22  'chromium_revision': 'b0410bba028cf153be2d02e36b6e99b59fdcb000',
23
24  # Current revision of VK-GL-CTS (a.k.a dEQP).
25  'vk_gl_cts_revision': 'a60f89ffcba24a81675ae2db0ec535348f9c3d7c',
26
27  # Current revision of glslang, the Khronos SPIRV compiler.
28  'glslang_revision': '08328fea5ab97a9e354d46446a3547d89d1416da',
29
30  # Current revision of googletest.
31  # Note: this dep cannot be auto-rolled b/c of nesting.
32  'googletest_revision': 'f2fb48c3b3d79a75a88a99fba6576b25d42ec528',
33
34  # Current revision of jsoncpp.
35  # Note: this dep cannot be auto-rolled b/c of nesting.
36  'jsoncpp_revision': '645250b6690785be60ab6780ce4b58698d884d11',
37
38  # Current revision of patched-yasm.
39  # Note: this dep cannot be auto-rolled b/c of nesting.
40  'patched_yasm_revision': '720b70524a4424b15fc57e82263568c8ba0496ad',
41
42  # Current revision of spirv-cross, the Khronos SPIRV cross compiler.
43  'spirv_cross_revision': 'f38cbeb814c73510b85697adbe5e894f9eac978f',
44
45  # Current revision fo the SPIRV-Headers Vulkan support library.
46  'spirv_headers_revision': 'ac638f1815425403e946d0ab78bac71d2bdbf3be',
47
48  # Current revision of SPIRV-Tools for Vulkan.
49  'spirv_tools_revision': '7c213720bb46ea9a81caa9f8dc24df0f1957de05',
50
51  # Current revision of Khronos Vulkan-Headers.
52  'vulkan_headers_revision': '9d2dfca53b754dd3ab916899fed567a5290c30aa',
53
54  # Current revision of Khronos Vulkan-Loader.
55  'vulkan_loader_revision': '006586926adece57adea3e006140b5df19826371',
56
57  # Current revision of Khronos Vulkan-Tools.
58  'vulkan_tools_revision': '9d7880c7a07598cca8fb80b74bfee933e852f445',
59
60  # Current revision of Khronos Vulkan-ValidationLayers.
61  'vulkan_validation_revision': '236f1f090429e3fd6e2d41b63b42c5f8a2d19f78',
62
63  # Three lines of non-changing comments so that
64  # the commit queue can handle CLs rolling catapult
65  # and whatever else without interference from each other.
66  'catapult_revision': '1b3fb455bf1849f1e6187e1eaeaef32b9f30d3c5',
67}
68
69deps = {
70
71  'build': {
72    'url': '{chromium_git}/chromium/src/build.git@45ab3c89af6fc3126b0ca5a7836f0db85ad1ba0e',
73    'condition': 'not build_with_chromium',
74  },
75
76  'buildtools': {
77    'url': '{chromium_git}/chromium/src/buildtools.git@204a35a2a64f7179f8b76d7a0385653690839e21',
78    'condition': 'not build_with_chromium',
79  },
80
81  'testing': {
82    'url': '{chromium_git}/chromium/src/testing@3993ef1f527b206d8d3bf3f9824f4fe0e4bbdb0e',
83    'condition': 'not build_with_chromium',
84  },
85
86  # Cherry is a dEQP/VK-GL-CTS management GUI written in Go. We use it for viewing test results.
87  'third_party/cherry': {
88    'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc',
89    'condition': 'not build_with_chromium',
90  },
91
92  'third_party/vulkan_memory_allocator': {
93    'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@431d6e57284aeb08118ff428dfbd51c94342faa1',
94    'condition': 'not build_with_chromium',
95  },
96
97  'third_party/VK-GL-CTS/src': {
98    'url': '{chromium_git}/external/github.com/KhronosGroup/VK-GL-CTS@{vk_gl_cts_revision}',
99  },
100
101  'third_party/fuchsia-sdk': {
102    'url': '{chromium_git}/chromium/src/third_party/fuchsia-sdk.git@1785f0ac8e1fe81cb25e260acbe7de8f62fa3e44',
103    'condition': 'checkout_fuchsia and not build_with_chromium',
104  },
105
106  # Closed-source OpenGL ES 1.1 Conformance tests.
107  'third_party/gles1_conform': {
108    'url': '{chrome_internal_git}/angle/es-cts.git@dc9f502f709c9cd88d7f8d3974f1c77aa246958e',
109    'condition': 'checkout_angle_internal',
110  },
111
112  # glmark2 is a GPL3-licensed OpenGL ES 2.0 benchmark. We use it for testing.
113  'third_party/glmark2/src': {
114    'url': '{chromium_git}/external/github.com/glmark2/glmark2@9e01aef1a786b28aca73135a5b00f85c357e8f5e',
115  },
116
117  'third_party/glslang/src': {
118    'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@{glslang_revision}',
119    'condition': 'not build_with_chromium',
120  },
121
122  'third_party/googletest': {
123    'url': '{chromium_git}/chromium/src/third_party/googletest@217407c4787f361aa5814ec609379bfc9b21d307',
124    'condition': 'not build_with_chromium',
125  },
126
127  # libjpeg_turbo is used by glmark2.
128  'third_party/libjpeg_turbo': {
129    'url': '{chromium_git}/chromium/deps/libjpeg_turbo.git@7e3ad79800a7945fb37173149842b494ab8982b2',
130    'condition': 'not build_with_chromium',
131  },
132
133  'third_party/libpng/src': {
134    'url': '{android_git}/platform/external/libpng@094e181e79a3d6c23fd005679025058b7df1ad6c',
135    'condition': 'not build_with_chromium',
136  },
137
138  'third_party/jsoncpp': {
139    'url': '{chromium_git}/chromium/src/third_party/jsoncpp@ec647b85b61f525a1a74e4da7477b0c5371c50f4',
140    'condition': 'not build_with_chromium',
141   },
142
143  'third_party/nasm': {
144    'url': '{chromium_git}/chromium/deps/nasm@4fa54ca5f7fc3a15a8c78ac94688e64d3e4e4fa1',
145    'condition': 'not build_with_chromium',
146  },
147
148  'third_party/Python-Markdown': {
149    'url': '{chromium_git}/chromium/src/third_party/Python-Markdown@36657c103ce5964733bbbb29377085e9cc1a9472',
150    'condition': 'not build_with_chromium',
151  },
152
153  'third_party/qemu-linux-x64': {
154      'packages': [
155          {
156              'package': 'fuchsia/qemu/linux-amd64',
157              'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994'
158          },
159      ],
160      'condition': 'not build_with_chromium and (host_os == "linux" and checkout_fuchsia)',
161      'dep_type': 'cipd',
162  },
163
164  'third_party/qemu-mac-x64': {
165      'packages': [
166          {
167              'package': 'fuchsia/qemu/mac-amd64',
168              'version': '2d3358ae9a569b2d4a474f498b32b202a152134f'
169          },
170      ],
171      'condition': 'not build_with_chromium and (host_os == "mac" and checkout_fuchsia)',
172      'dep_type': 'cipd',
173  },
174
175  'third_party/rapidjson/src': {
176    'url': '{chromium_git}/external/github.com/Tencent/rapidjson@7484e06c589873e1ed80382d262087e4fa80fb63',
177  },
178
179  'third_party/spirv-cross/src': {
180    'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Cross@{spirv_cross_revision}',
181    'condition': 'not build_with_chromium',
182  },
183
184  'third_party/spirv-headers/src': {
185    'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@{spirv_headers_revision}',
186    'condition': 'not build_with_chromium',
187  },
188
189  'third_party/spirv-tools/src': {
190    'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@{spirv_tools_revision}',
191    'condition': 'not build_with_chromium',
192  },
193
194  'third_party/SwiftShader': {
195    'url': '{swiftshader_git}/SwiftShader@e3eb327e8c3c724a415fa4d5f4805f2e281f4760',
196    'condition': 'not build_with_chromium',
197  },
198
199  'third_party/vulkan-headers/src': {
200    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@{vulkan_headers_revision}',
201  },
202
203  'third_party/vulkan-loader/src': {
204    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@{vulkan_loader_revision}',
205  },
206
207  'third_party/vulkan-tools/src': {
208    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@{vulkan_tools_revision}',
209  },
210
211  'third_party/vulkan-validation-layers/src': {
212    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@{vulkan_validation_revision}',
213  },
214
215  'third_party/zlib': {
216    'url': '{chromium_git}/chromium/src/third_party/zlib@ae385786edb15f57e992c5e9dd9464e376d69399',
217    'condition': 'not build_with_chromium',
218  },
219
220  'tools/clang': {
221    'url': '{chromium_git}/chromium/src/tools/clang.git@04b99e7bf9160d551c3a5562f583014b6afc90f9',
222    'condition': 'not build_with_chromium',
223  },
224
225  'tools/clang/dsymutil': {
226    'packages': [
227      {
228        'package': 'chromium/llvm-build-tools/dsymutil',
229        'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
230      }
231    ],
232    'condition': 'checkout_mac and not build_with_chromium',
233    'dep_type': 'cipd',
234  },
235
236  'tools/md_browser': {
237    'url': '{chromium_git}/chromium/src/tools/md_browser@aae45d8d82400e90483d4fee2ca3e648f2313cb2',
238    'condition': 'not build_with_chromium',
239  },
240
241  'tools/memory': {
242    'url': '{chromium_git}/chromium/src/tools/memory@89552acb6e60f528fe3c98eac7b445d4c34183ee',
243    'condition': 'not build_with_chromium',
244  },
245
246  'third_party/catapult': {
247    'url': '{chromium_git}/catapult.git@{catapult_revision}',
248    'condition': 'checkout_android and not build_with_chromium',
249  },
250
251  'third_party/android_ndk': {
252    'url': '{chromium_git}/android_ndk.git@27c0a8d090c666a50e40fceb4ee5b40b1a2d3f87',
253    'condition': 'checkout_android and not build_with_chromium',
254  },
255}
256
257hooks = [
258  # Pull clang-format binaries using checked-in hashes.
259  {
260    'name': 'clang_format_win',
261    'pattern': '.',
262    'condition': 'host_os == "win" and not build_with_chromium',
263    'action': [ 'download_from_google_storage',
264                '--no_resume',
265                '--platform=win32',
266                '--no_auth',
267                '--bucket', 'chromium-clang-format',
268                '-s', 'buildtools/win/clang-format.exe.sha1',
269    ],
270  },
271  {
272    'name': 'clang_format_mac',
273    'pattern': '.',
274    'condition': 'host_os == "mac" and not build_with_chromium',
275    'action': [ 'download_from_google_storage',
276                '--no_resume',
277                '--platform=darwin',
278                '--no_auth',
279                '--bucket', 'chromium-clang-format',
280                '-s', 'buildtools/mac/clang-format.sha1',
281    ],
282  },
283  {
284    'name': 'clang_format_linux',
285    'pattern': '.',
286    'condition': 'host_os == "linux" and not build_with_chromium',
287    'action': [ 'download_from_google_storage',
288                '--no_resume',
289                '--platform=linux*',
290                '--no_auth',
291                '--bucket', 'chromium-clang-format',
292                '-s', 'buildtools/linux64/clang-format.sha1',
293    ],
294  },
295  {
296    'name': 'sysroot_x86',
297    'pattern': '.',
298    'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and not build_with_chromium)',
299    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
300               '--arch=x86'],
301  },
302  {
303    'name': 'sysroot_x64',
304    'pattern': '.',
305    'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
306    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
307               '--arch=x64'],
308  },
309  {
310    # Update the Windows toolchain if necessary.  Must run before 'clang' below.
311    'name': 'win_toolchain',
312    'pattern': '.',
313    'condition': 'checkout_win and not build_with_chromium',
314    'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
315  },
316  {
317    # Update the Mac toolchain if necessary.
318    'name': 'mac_toolchain',
319    'pattern': '.',
320    'condition': 'checkout_mac and not build_with_chromium',
321    'action': ['python', 'build/mac_toolchain.py'],
322  },
323
324  {
325    # Note: On Win, this should run after win_toolchain, as it may use it.
326    'name': 'clang',
327    'pattern': '.',
328    'action': ['python', 'tools/clang/scripts/update.py'],
329    'condition': 'not build_with_chromium',
330  },
331
332  {
333    # Update LASTCHANGE.
334    'name': 'lastchange',
335    'pattern': '.',
336    'condition': 'not build_with_chromium',
337    'action': ['python', 'build/util/lastchange.py',
338               '-o', 'build/util/LASTCHANGE'],
339  },
340
341  # Pull rc binaries using checked-in hashes.
342  {
343    'name': 'rc_win',
344    'pattern': '.',
345    'condition': 'checkout_win and (host_os == "win" and not build_with_chromium)',
346    'action': [ 'download_from_google_storage',
347                '--no_resume',
348                '--no_auth',
349                '--bucket', 'chromium-browser-clang/rc',
350                '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
351    ],
352  },
353
354  {
355    'name': 'fuchsia_sdk',
356    'pattern': '.',
357    'condition': 'checkout_fuchsia and not build_with_chromium',
358    'action': [
359      'python',
360      'build/fuchsia/update_sdk.py',
361    ],
362  },
363
364  # Download glslang validator binary for Linux.
365  {
366    'name': 'linux_glslang_validator',
367    'pattern': '.',
368    'condition': 'checkout_linux and not build_with_chromium',
369    'action': [ 'download_from_google_storage',
370                '--no_resume',
371                '--platform=linux*',
372                '--no_auth',
373                '--bucket', 'angle-glslang-validator',
374                '-s', 'tools/glslang/glslang_validator.sha1',
375    ],
376  },
377
378  # Download glslang validator binary for Windows.
379  {
380    'name': 'win_glslang_validator',
381    'pattern': '.',
382    'condition': 'checkout_win and not build_with_chromium',
383    'action': [ 'download_from_google_storage',
384                '--no_resume',
385                '--platform=win32*',
386                '--no_auth',
387                '--bucket', 'angle-glslang-validator',
388                '-s', 'tools/glslang/glslang_validator.exe.sha1',
389    ],
390  },
391
392  # Download flex/bison binaries for Linux.
393  {
394    'name': 'linux_flex_bison',
395    'pattern': '.',
396    'condition': 'checkout_linux and not build_with_chromium',
397    'action': [ 'download_from_google_storage',
398                '--no_resume',
399                '--platform=linux*',
400                '--no_auth',
401                '--bucket', 'angle-flex-bison',
402                '-d', 'tools/flex-bison/linux/',
403    ],
404  },
405
406  # Download flex/bison binaries for Windows.
407  {
408    'name': 'win_flex_bison',
409    'pattern': '.',
410    'condition': 'checkout_win and not build_with_chromium',
411    'action': [ 'download_from_google_storage',
412                '--no_resume',
413                '--platform=win32*',
414                '--no_auth',
415                '--bucket', 'angle-flex-bison',
416                '-d', 'tools/flex-bison/windows/',
417    ],
418  },
419
420  # Download internal captures for perf tests
421  {
422    'name': 'restricted_traces',
423    'pattern': '\\.sha1',
424    'condition': 'checkout_angle_internal',
425    'action': [ 'download_from_google_storage',
426                '--directory',
427                '--recursive',
428                '--extract',
429                '--bucket', 'chrome-angle-capture-binaries',
430                'src/tests/perf_tests/restricted_traces',
431    ]
432  }
433]
434
435recursedeps = [
436  # buildtools provides clang_format.
437  'buildtools',
438  'third_party/googletest',
439  'third_party/jsoncpp',
440]
441