• 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': 'fa9d5805c421133e9d13cf698c4502d13398b2ce',
23
24  # Current revision of VK-GL-CTS (a.k.a dEQP).
25  'vk_gl_cts_revision': 'a6b249819f7177821d4b7eefff36af07fef71825',
26
27  # Current revision of glslang, the Khronos SPIRV compiler.
28  'glslang_revision': 'c9b28b9f3388c607ea5506f5e6197b7150238ad3',
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': 'fd5aa3ad51ece55a1b51fe6bfb271db6844ae291',
44
45  # Current revision fo the SPIRV-Headers Vulkan support library.
46  'spirv_headers_revision': 'f8bf11a0253a32375c32cad92c841237b96696c0',
47
48  # Current revision of SPIRV-Tools for Vulkan.
49  'spirv_tools_revision': '67f4838659f475d618c120e13d1a196d7e00ba4b',
50
51  # Current revision of Khronos Vulkan-Headers.
52  'vulkan_headers_revision': '382bf3de06fc8c8961055afc37957fe65846c33b',
53
54  # Current revision of Khronos Vulkan-Loader.
55  'vulkan_loader_revision': '4fb0e0374a3912263606d9ed0243bbef22e23597',
56
57  # Current revision of Khronos Vulkan-Tools.
58  'vulkan_tools_revision': '84463fe2902f4b50b54abe053684e6fcb7a60c4f',
59
60  # Current revision of Khronos Vulkan-ValidationLayers.
61  'vulkan_validation_revision': '36d7cca6fdc9ed86b01208bfb13721fdffb30af1',
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@a1cbf6469a5400f2b455ffba2e95ea47a1b47c94',
73    'condition': 'not build_with_chromium',
74  },
75
76  'buildtools': {
77    'url': '{chromium_git}/chromium/src/buildtools.git@4164a305626786b1912d467003acf4c4995bec7d',
78    'condition': 'not build_with_chromium',
79  },
80
81  'testing': {
82    'url': '{chromium_git}/chromium/src/testing@3e21eec53c1688302ebc26e975d0163256bd1a15',
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/VulkanMemoryAllocator': {
93    'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@ec44c3121c73ae243fe59acfcc0ce1ba19e43947',
94  },
95
96  'third_party/VK-GL-CTS/src': {
97    'url': '{chromium_git}/external/github.com/KhronosGroup/VK-GL-CTS@{vk_gl_cts_revision}',
98  },
99
100  'third_party/fuchsia-sdk': {
101    'url': '{chromium_git}/chromium/src/third_party/fuchsia-sdk.git@1785f0ac8e1fe81cb25e260acbe7de8f62fa3e44',
102    'condition': 'checkout_fuchsia and not build_with_chromium',
103  },
104
105  # Closed-source OpenGL ES 1.1 Conformance tests.
106  'third_party/gles1_conform': {
107    'url': '{chrome_internal_git}/angle/es-cts.git@dc9f502f709c9cd88d7f8d3974f1c77aa246958e',
108    'condition': 'checkout_angle_internal',
109  },
110
111  # glmark2 is a GPL3-licensed OpenGL ES 2.0 benchmark. We use it for testing.
112  'third_party/glmark2/src': {
113    'url': '{chromium_git}/external/github.com/glmark2/glmark2@9e01aef1a786b28aca73135a5b00f85c357e8f5e',
114  },
115
116  'third_party/glslang/src': {
117    'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@{glslang_revision}',
118    'condition': 'not build_with_chromium',
119  },
120
121  'third_party/googletest': {
122    'url': '{chromium_git}/chromium/src/third_party/googletest@c96dc321101e7c9f5ba16d957afd49ee4db30548',
123    'condition': 'not build_with_chromium',
124  },
125
126  # libjpeg_turbo is used by glmark2.
127  'third_party/libjpeg_turbo': {
128    'url': '{chromium_git}/chromium/deps/libjpeg_turbo.git@ce0e57e8e636f5132fe6f0590a4dba91f92fd935',
129    'condition': 'not build_with_chromium',
130  },
131
132  'third_party/libpng/src': {
133    'url': '{android_git}/platform/external/libpng@094e181e79a3d6c23fd005679025058b7df1ad6c',
134    'condition': 'not build_with_chromium',
135  },
136
137  'third_party/jsoncpp': {
138    'url': '{chromium_git}/chromium/src/third_party/jsoncpp@493c9385c91023c3819b51ee0de552d52229a1e5',
139    'condition': 'not build_with_chromium',
140   },
141
142  'third_party/Python-Markdown': {
143    'url': '{chromium_git}/chromium/src/third_party/Python-Markdown@36657c103ce5964733bbbb29377085e9cc1a9472',
144    'condition': 'not build_with_chromium',
145  },
146
147  'third_party/qemu-linux-x64': {
148      'packages': [
149          {
150              'package': 'fuchsia/qemu/linux-amd64',
151              'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994'
152          },
153      ],
154      'condition': 'not build_with_chromium and (host_os == "linux" and checkout_fuchsia)',
155      'dep_type': 'cipd',
156  },
157
158  'third_party/qemu-mac-x64': {
159      'packages': [
160          {
161              'package': 'fuchsia/qemu/mac-amd64',
162              'version': '2d3358ae9a569b2d4a474f498b32b202a152134f'
163          },
164      ],
165      'condition': 'not build_with_chromium and (host_os == "mac" and checkout_fuchsia)',
166      'dep_type': 'cipd',
167  },
168
169  'third_party/rapidjson/src': {
170    'url': '{chromium_git}/external/github.com/Tencent/rapidjson@7484e06c589873e1ed80382d262087e4fa80fb63',
171  },
172
173  'third_party/spirv-cross/src': {
174    'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Cross@{spirv_cross_revision}',
175    'condition': 'not build_with_chromium',
176  },
177
178  'third_party/spirv-headers/src': {
179    'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@{spirv_headers_revision}',
180    'condition': 'not build_with_chromium',
181  },
182
183  'third_party/spirv-tools/src': {
184    'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@{spirv_tools_revision}',
185    'condition': 'not build_with_chromium',
186  },
187
188  'third_party/SwiftShader': {
189    'url': '{swiftshader_git}/SwiftShader@ceb6258ae1016ebaffb7036561e0cba14c8cc2a7',
190    'condition': 'not build_with_chromium',
191  },
192
193  'third_party/vulkan-headers/src': {
194    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@{vulkan_headers_revision}',
195  },
196
197  'third_party/vulkan-loader/src': {
198    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@{vulkan_loader_revision}',
199  },
200
201  'third_party/vulkan-tools/src': {
202    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@{vulkan_tools_revision}',
203  },
204
205  'third_party/vulkan-validation-layers/src': {
206    'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@{vulkan_validation_revision}',
207  },
208
209  'third_party/yasm': {
210    'url': '{chromium_git}/chromium/src/third_party/yasm@8e4e548d0b199df58740336024c1b3baf7c0abd7',
211    'condition': 'not build_with_chromium',
212  },
213
214  'third_party/zlib': {
215    'url': '{chromium_git}/chromium/src/third_party/zlib@156be8c52f80cde343088b4a69a80579101b6e67',
216    'condition': 'not build_with_chromium',
217  },
218
219  'tools/clang': {
220    'url': '{chromium_git}/chromium/src/tools/clang.git@d60a6a8084300eb8de99e56b559369dcde4cffa4',
221    'condition': 'not build_with_chromium',
222  },
223
224  'tools/clang/dsymutil': {
225    'packages': [
226      {
227        'package': 'chromium/llvm-build-tools/dsymutil',
228        'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
229      }
230    ],
231    'condition': 'checkout_mac and not build_with_chromium',
232    'dep_type': 'cipd',
233  },
234
235  'tools/md_browser': {
236    'url': '{chromium_git}/chromium/src/tools/md_browser@0bfd826f8566a99923e64a782908faca72bc457c',
237    'condition': 'not build_with_chromium',
238  },
239
240  'tools/memory': {
241    'url': '{chromium_git}/chromium/src/tools/memory@89552acb6e60f528fe3c98eac7b445d4c34183ee',
242    'condition': 'not build_with_chromium',
243  },
244
245  'third_party/catapult': {
246    'url': '{chromium_git}/catapult.git@{catapult_revision}',
247    'condition': 'not build_with_chromium',
248  },
249
250  'third_party/android_ndk': {
251    'url': '{chromium_git}/android_ndk.git@27c0a8d090c666a50e40fceb4ee5b40b1a2d3f87',
252    'condition': 'not build_with_chromium',
253  },
254}
255
256hooks = [
257  # Pull clang-format binaries using checked-in hashes.
258  {
259    'name': 'clang_format_win',
260    'pattern': '.',
261    'condition': 'host_os == "win" and not build_with_chromium',
262    'action': [ 'download_from_google_storage',
263                '--no_resume',
264                '--platform=win32',
265                '--no_auth',
266                '--bucket', 'chromium-clang-format',
267                '-s', 'buildtools/win/clang-format.exe.sha1',
268    ],
269  },
270  {
271    'name': 'clang_format_mac',
272    'pattern': '.',
273    'condition': 'host_os == "mac" and not build_with_chromium',
274    'action': [ 'download_from_google_storage',
275                '--no_resume',
276                '--platform=darwin',
277                '--no_auth',
278                '--bucket', 'chromium-clang-format',
279                '-s', 'buildtools/mac/clang-format.sha1',
280    ],
281  },
282  {
283    'name': 'clang_format_linux',
284    'pattern': '.',
285    'condition': 'host_os == "linux" and not build_with_chromium',
286    'action': [ 'download_from_google_storage',
287                '--no_resume',
288                '--platform=linux*',
289                '--no_auth',
290                '--bucket', 'chromium-clang-format',
291                '-s', 'buildtools/linux64/clang-format.sha1',
292    ],
293  },
294  {
295    'name': 'sysroot_x86',
296    'pattern': '.',
297    'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and not build_with_chromium)',
298    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
299               '--arch=x86'],
300  },
301  {
302    'name': 'sysroot_x64',
303    'pattern': '.',
304    'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
305    'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
306               '--arch=x64'],
307  },
308  {
309    # Update the Windows toolchain if necessary.  Must run before 'clang' below.
310    'name': 'win_toolchain',
311    'pattern': '.',
312    'condition': 'checkout_win and not build_with_chromium',
313    'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
314  },
315  {
316    # Update the Mac toolchain if necessary.
317    'name': 'mac_toolchain',
318    'pattern': '.',
319    'condition': 'checkout_mac and not build_with_chromium',
320    'action': ['python', 'build/mac_toolchain.py'],
321  },
322
323  {
324    # Note: On Win, this should run after win_toolchain, as it may use it.
325    'name': 'clang',
326    'pattern': '.',
327    'action': ['python', 'tools/clang/scripts/update.py'],
328    'condition': 'not build_with_chromium',
329  },
330
331  {
332    # Update LASTCHANGE.
333    'name': 'lastchange',
334    'pattern': '.',
335    'condition': 'not build_with_chromium',
336    'action': ['python', 'build/util/lastchange.py',
337               '-o', 'build/util/LASTCHANGE'],
338  },
339
340  # Pull rc binaries using checked-in hashes.
341  {
342    'name': 'rc_win',
343    'pattern': '.',
344    'condition': 'checkout_win and (host_os == "win" and not build_with_chromium)',
345    'action': [ 'download_from_google_storage',
346                '--no_resume',
347                '--no_auth',
348                '--bucket', 'chromium-browser-clang/rc',
349                '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
350    ],
351  },
352
353  {
354    'name': 'fuchsia_sdk',
355    'pattern': '.',
356    'condition': 'checkout_fuchsia and not build_with_chromium',
357    'action': [
358      'python',
359      'build/fuchsia/update_sdk.py',
360    ],
361  },
362
363  # Download glslang validator binary for Linux.
364  {
365    'name': 'linux_glslang_validator',
366    'pattern': '.',
367    'condition': 'checkout_linux and not build_with_chromium',
368    'action': [ 'download_from_google_storage',
369                '--no_resume',
370                '--platform=linux*',
371                '--no_auth',
372                '--bucket', 'angle-glslang-validator',
373                '-s', 'tools/glslang/glslang_validator.sha1',
374    ],
375  },
376
377  # Download glslang validator binary for Windows.
378  {
379    'name': 'win_glslang_validator',
380    'pattern': '.',
381    'condition': 'checkout_win and not build_with_chromium',
382    'action': [ 'download_from_google_storage',
383                '--no_resume',
384                '--platform=win32*',
385                '--no_auth',
386                '--bucket', 'angle-glslang-validator',
387                '-s', 'tools/glslang/glslang_validator.exe.sha1',
388    ],
389  },
390
391  # Download flex/bison binaries for Linux.
392  {
393    'name': 'linux_flex_bison',
394    'pattern': '.',
395    'condition': 'checkout_linux and not build_with_chromium',
396    'action': [ 'download_from_google_storage',
397                '--no_resume',
398                '--platform=linux*',
399                '--no_auth',
400                '--bucket', 'angle-flex-bison',
401                '-d', 'tools/flex-bison/linux/',
402    ],
403  },
404
405  # Download flex/bison binaries for Windows.
406  {
407    'name': 'win_flex_bison',
408    'pattern': '.',
409    'condition': 'checkout_win and not build_with_chromium',
410    'action': [ 'download_from_google_storage',
411                '--no_resume',
412                '--platform=win32*',
413                '--no_auth',
414                '--bucket', 'angle-flex-bison',
415                '-d', 'tools/flex-bison/windows/',
416    ],
417  },
418
419  # Download internal captures for perf tests
420  {
421    'name': 'restricted_traces',
422    'pattern': '\\.sha1',
423    'condition': 'checkout_angle_internal',
424    'action': [ 'download_from_google_storage',
425                '--directory',
426                '--recursive',
427                '--extract',
428                '--bucket', 'chrome-angle-capture-binaries',
429                'src/tests/perf_tests/restricted_traces',
430    ]
431  }
432]
433
434recursedeps = [
435  # buildtools provides clang_format.
436  'buildtools',
437  'third_party/googletest',
438  'third_party/jsoncpp',
439  'third_party/yasm',
440]
441