blob: 5b10a7386092bc468f5fb5156b4bdaa94a932031 [file] [log] [blame]
Jamie Madill2fdd3da2015-07-20 10:14:54 -04001vars = {
Jamie Madill37ee8a62016-12-13 15:18:58 -05002 'android_git': 'https://android.googlesource.com',
Jamie Madill2fdd3da2015-07-20 10:14:54 -04003 'chromium_git': 'https://chromium.googlesource.com',
Jamie Madill027717f2018-04-13 15:51:24 -04004
Yuly Novikov85d8ee82018-09-12 17:36:57 +00005 # This variable is set on the Chrome infra for compatiblity with gclient.
6 'angle_root': '.',
7
Edward Lemur8ae09b02018-06-01 14:18:28 -04008 # This variable is overrided in Chromium's DEPS file.
9 'build_with_chromium': False,
10
11 # Current revision of dEQP.
Jamie Madill915d4062019-01-28 18:15:43 -050012 'deqp_revision': '66a49e0a43f7af654ee1de8a3b1bcaf6c0d14aa4',
Edward Lemur8ae09b02018-06-01 14:18:28 -040013
14 # Current revision of glslang, the Khronos SPIRV compiler.
Shahbaz Youssefi5d506782019-04-06 15:04:03 -040015 'glslang_revision': 'e06c7e9a515b716c731bda13f507546f107775d1',
Edward Lemur8ae09b02018-06-01 14:18:28 -040016
17 # Current revision fo the SPIRV-Headers Vulkan support library.
angle-autoroll1aef3402019-04-05 07:01:33 +000018 'spirv_headers_revision': '2434b89345a50c018c84f42a310b0fad4f3fd94f',
Edward Lemur8ae09b02018-06-01 14:18:28 -040019
20 # Current revision of SPIRV-Tools for Vulkan.
angle-autorollb9a71422019-04-05 07:01:35 +000021 'spirv_tools_revision': 'e8c2d95ed45f0b839e7f04c05675921a5f624eff',
Edward Lemur8ae09b02018-06-01 14:18:28 -040022
Tobin Ehlisb971f492018-05-24 10:56:17 -060023 # Current revision of Khronos Vulkan-Headers.
Shahbaz Youssefi02a579e2019-03-27 14:21:20 -040024 'vulkan_headers_revision': '982f0f84dccf6f281b48318c77261a9028000126',
Tobin Ehlisb971f492018-05-24 10:56:17 -060025
26 # Current revision of Khronos Vulkan-Loader.
Shahbaz Youssefi02a579e2019-03-27 14:21:20 -040027 'vulkan_loader_revision': '2f0abfcf9eb04018e6e92125a70bc28665aa17fe',
Tobin Ehlisb971f492018-05-24 10:56:17 -060028
29 # Current revision of Khronos Vulkan-Tools.
Shahbaz Youssefi02a579e2019-03-27 14:21:20 -040030 'vulkan_tools_revision': 'f392e71b994036c92b896c2a62cc63d042b7f9b1',
Tobin Ehlisb971f492018-05-24 10:56:17 -060031
32 # Current revision of Khronos Vulkan-ValidationLayers.
Shahbaz Youssefi02a579e2019-03-27 14:21:20 -040033 'vulkan_validation_revision': 'ff80a937c8a505abbdddb95d8ffaa446820c8391',
Jamie Madill2fdd3da2015-07-20 10:14:54 -040034}
35
alokp@chromium.org29d56fb2010-04-06 15:42:22 +000036deps = {
alokp@chromium.org416fcd32012-04-11 16:23:44 +000037
Yuly Novikov85d8ee82018-09-12 17:36:57 +000038 '{angle_root}/build': {
Geoff Lang66ae5312019-04-01 16:35:53 -040039 'url': '{chromium_git}/chromium/src/build.git@a660b0b9174e3a808f620222017566e8d1b2669b',
Edward Lemur8ae09b02018-06-01 14:18:28 -040040 'condition': 'not build_with_chromium',
41 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040042
Yuly Novikov85d8ee82018-09-12 17:36:57 +000043 '{angle_root}/buildtools': {
Geoff Lang66ae5312019-04-01 16:35:53 -040044 'url': '{chromium_git}/chromium/src/buildtools.git@459baaf66bee809f6eb288e0215cf524f4d2429a',
Edward Lemur8ae09b02018-06-01 14:18:28 -040045 'condition': 'not build_with_chromium',
46 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040047
Yuly Novikov85d8ee82018-09-12 17:36:57 +000048 '{angle_root}/testing': {
Geoff Lang66ae5312019-04-01 16:35:53 -040049 'url': '{chromium_git}/chromium/src/testing@083d633e752e7a57cbe62a468a06e51e28c49ee9',
Edward Lemur8ae09b02018-06-01 14:18:28 -040050 'condition': 'not build_with_chromium',
51 },
alokp@chromium.org5cd9c602012-05-16 23:37:50 +000052
Jamie Madill9e76f562015-10-02 08:57:14 -040053 # Cherry is a dEQP management GUI written in Go. We use it for viewing test results.
Yuly Novikov85d8ee82018-09-12 17:36:57 +000054 '{angle_root}/third_party/cherry': {
Edward Lemur8ae09b02018-06-01 14:18:28 -040055 'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc',
56 'condition': 'not build_with_chromium',
57 },
Jamie Madill9e76f562015-10-02 08:57:14 -040058
Yuly Novikov85d8ee82018-09-12 17:36:57 +000059 '{angle_root}/third_party/deqp/src': {
Jamie Madill915d4062019-01-28 18:15:43 -050060 'url': '{chromium_git}/external/deqp@{deqp_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040061 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050062
Jamie Madill9f958342019-04-08 09:40:40 -040063 '{angle_root}/third_party/fuchsia-sdk': {
64 'url': '{chromium_git}/chromium/src/third_party/fuchsia-sdk.git@8e8db13b538ecb251e5ce9d5c781fc142f9752fd',
65 'condition': 'checkout_fuchsia and not build_with_chromium',
66 },
67
Jamie Madill55959b02019-03-05 10:07:41 -050068 # glmark2 is a GPL3-licensed OpenGL ES 2.0 benchmark. We use it for testing.
69 '{angle_root}/third_party/glmark2/src': {
70 'url': '{chromium_git}/external/github.com/glmark2/glmark2@c4b3ff5a481348e8bdc2b71ee275864db91e40b1',
71 },
72
Yuly Novikov85d8ee82018-09-12 17:36:57 +000073 '{angle_root}/third_party/glslang/src': {
Tobin Ehlis317a9eb2018-11-29 12:51:46 -070074 'url': '{chromium_git}/external/github.com/KhronosGroup/glslang@{glslang_revision}',
Jamie Madill0cb3b0f2019-01-28 09:55:20 -050075 'condition': 'not build_with_chromium',
Jamie Madill55959b02019-03-05 10:07:41 -050076 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050077
Jamie Madillcf9b2852019-02-13 09:15:26 -050078 '{angle_root}/third_party/googletest': {
79 'url': '{chromium_git}/chromium/src/third_party/googletest@660425b1c5ca04559ab7e50c7572b5b771acca1c',
80 'condition': 'not build_with_chromium',
81 },
82
Yuly Novikov85d8ee82018-09-12 17:36:57 +000083 '{angle_root}/third_party/googletest/src': {
Jamie Madillcf9b2852019-02-13 09:15:26 -050084 'url': '{chromium_git}/external/github.com/google/googletest.git@7203f37f57e4fef0d77670098aabc186309eb874',
Edward Lemur8ae09b02018-06-01 14:18:28 -040085 'condition': 'not build_with_chromium',
86 },
Frank Henigman6b076a02017-10-11 13:28:22 -040087
Jamie Madill55959b02019-03-05 10:07:41 -050088 # libjpeg_turbo is used by glmark2.
89 '{angle_root}/third_party/libjpeg_turbo': {
90 'url': '{chromium_git}/chromium/deps/libjpeg_turbo@6dcdade8828297e306cabfdae80f3510f3f3eea2',
91 'condition': 'not build_with_chromium',
92 },
93
Yuly Novikov85d8ee82018-09-12 17:36:57 +000094 '{angle_root}/third_party/libpng/src': {
Edward Lemur8ae09b02018-06-01 14:18:28 -040095 'url': '{android_git}/platform/external/libpng@094e181e79a3d6c23fd005679025058b7df1ad6c',
96 'condition': 'not build_with_chromium',
97 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050098
Yuly Novikov85d8ee82018-09-12 17:36:57 +000099 '{angle_root}/third_party/jsoncpp': {
Jamie Madill7ada46c2018-09-06 10:58:26 -0400100 'url': '{chromium_git}/chromium/src/third_party/jsoncpp@fd0ac8ce63a47e99b71a58f1489136fbb19c9137',
Jamie Madill0cb3b0f2019-01-28 09:55:20 -0500101 'condition': 'not build_with_chromium',
102 },
Jamie Madill7ada46c2018-09-06 10:58:26 -0400103
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000104 '{angle_root}/third_party/jsoncpp/source': {
Jamie Madill0cb3b0f2019-01-28 09:55:20 -0500105 'url' : '{chromium_git}/external/github.com/open-source-parsers/jsoncpp@f572e8e42e22cfcf5ab0aea26574f408943edfa4',
106 'condition': 'not build_with_chromium',
107 },
Tobin Ehlis5fdc38c2018-08-28 09:20:57 -0600108
Jamie Madill9f958342019-04-08 09:40:40 -0400109 '{angle_root}/third_party/Python-Markdown': {
110 'url': '{chromium_git}/chromium/src/third_party/Python-Markdown@b08af21eb795e522e1b972cb85bff59edb1ae209',
111 'condition': 'not build_with_chromium',
112 },
113
Michael Spang229fc832019-01-21 18:09:15 -0500114 '{angle_root}/third_party/qemu-linux-x64': {
115 'packages': [
116 {
117 'package': 'fuchsia/qemu/linux-amd64',
118 'version': '9cc486c5b18a0be515c39a280ca9a309c54cf994'
119 },
120 ],
121 'condition': 'not build_with_chromium and (host_os == "linux" and checkout_fuchsia)',
122 'dep_type': 'cipd',
123 },
124
125 '{angle_root}/third_party/qemu-mac-x64': {
126 'packages': [
127 {
128 'package': 'fuchsia/qemu/mac-amd64',
129 'version': '2d3358ae9a569b2d4a474f498b32b202a152134f'
130 },
131 ],
132 'condition': 'not build_with_chromium and (host_os == "mac" and checkout_fuchsia)',
133 'dep_type': 'cipd',
134 },
135
Jamie Madill46d32e02019-02-25 17:13:16 -0500136 '{angle_root}/third_party/rapidjson/src': {
137 'url': '{chromium_git}/external/github.com/Tencent/rapidjson@7484e06c589873e1ed80382d262087e4fa80fb63',
138 },
139
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000140 '{angle_root}/third_party/spirv-headers/src': {
Jamie Madill0cb3b0f2019-01-28 09:55:20 -0500141 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Headers@{spirv_headers_revision}',
Corentin Walleza883dd02018-08-03 18:11:46 +0200142 'condition': 'not build_with_chromium',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400143 },
Jamie Madill37ee8a62016-12-13 15:18:58 -0500144
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000145 '{angle_root}/third_party/spirv-tools/src': {
Jamie Madill0cb3b0f2019-01-28 09:55:20 -0500146 'url': '{chromium_git}/external/github.com/KhronosGroup/SPIRV-Tools@{spirv_tools_revision}',
Corentin Walleza883dd02018-08-03 18:11:46 +0200147 'condition': 'not build_with_chromium',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400148 },
Jamie Madill37ee8a62016-12-13 15:18:58 -0500149
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000150 '{angle_root}/third_party/vulkan-headers/src': {
Tobin Ehlisb971f492018-05-24 10:56:17 -0600151 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@{vulkan_headers_revision}',
152 },
153
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000154 '{angle_root}/third_party/vulkan-loader/src': {
Tobin Ehlisb971f492018-05-24 10:56:17 -0600155 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@{vulkan_loader_revision}',
156 },
157
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000158 '{angle_root}/third_party/vulkan-tools/src': {
Tobin Ehlisb971f492018-05-24 10:56:17 -0600159 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@{vulkan_tools_revision}',
160 },
161
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000162 '{angle_root}/third_party/vulkan-validation-layers/src': {
Tobin Ehlisb971f492018-05-24 10:56:17 -0600163 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@{vulkan_validation_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400164 },
Jamie Madill3cd438d2015-03-17 11:25:27 -0400165
Jamie Madill55959b02019-03-05 10:07:41 -0500166 '{angle_root}/third_party/yasm': {
167 'url': '{chromium_git}/chromium/src/third_party/yasm@86b6058141a42aed51bbd8bb9f9d54d199d9dbd0',
168 'condition': 'not build_with_chromium',
169 },
170
171 '{angle_root}/third_party/yasm/source/patched-yasm': {
172 'url': '{chromium_git}/chromium/deps/yasm/patched-yasm.git@720b70524a4424b15fc57e82263568c8ba0496ad',
173 'condition': 'not build_with_chromium',
174 },
175
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000176 '{angle_root}/third_party/zlib': {
Jamie Madill720ca442018-12-17 14:04:10 -0500177 'url': '{chromium_git}/chromium/src/third_party/zlib@f95aeb0fa7f136ef4a457a6d9ba6f3c2701a444b',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400178 'condition': 'not build_with_chromium',
179 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400180
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000181 '{angle_root}/tools/clang': {
Jamie Madillc09ae152019-02-01 14:16:32 -0500182 'url': '{chromium_git}/chromium/src/tools/clang.git@3114fbc11f9644c54dd0a4cdbfa867bac50ff983',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400183 'condition': 'not build_with_chromium',
184 },
Michael Spang229fc832019-01-21 18:09:15 -0500185
Jamie Madill9f958342019-04-08 09:40:40 -0400186 '{angle_root}/tools/md_browser': {
187 'url': '{chromium_git}/chromium/src/tools/md_browser@e9462696241f3ca832890473173e03e7bcfe6adc',
188 'condition': 'not build_with_chromium',
Michael Spang229fc832019-01-21 18:09:15 -0500189 },
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000190}
191
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000192hooks = [
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400193 # Pull clang-format binaries using checked-in hashes.
194 {
195 'name': 'clang_format_win',
196 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400197 'condition': 'host_os == "win" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400198 'action': [ 'download_from_google_storage',
199 '--no_resume',
200 '--platform=win32',
201 '--no_auth',
202 '--bucket', 'chromium-clang-format',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000203 '-s', '{angle_root}/buildtools/win/clang-format.exe.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400204 ],
205 },
206 {
207 'name': 'clang_format_mac',
208 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400209 'condition': 'host_os == "mac" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400210 'action': [ 'download_from_google_storage',
211 '--no_resume',
212 '--platform=darwin',
213 '--no_auth',
214 '--bucket', 'chromium-clang-format',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000215 '-s', '{angle_root}/buildtools/mac/clang-format.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400216 ],
217 },
218 {
219 'name': 'clang_format_linux',
220 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400221 'condition': 'host_os == "linux" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400222 'action': [ 'download_from_google_storage',
223 '--no_resume',
224 '--platform=linux*',
225 '--no_auth',
226 '--bucket', 'chromium-clang-format',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000227 '-s', '{angle_root}/buildtools/linux64/clang-format.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400228 ],
229 },
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600230 {
231 'name': 'sysroot_x86',
232 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400233 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and not build_with_chromium)',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000234 'action': ['python', '{angle_root}/build/linux/sysroot_scripts/install-sysroot.py',
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600235 '--arch=x86'],
236 },
237 {
238 'name': 'sysroot_x64',
239 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400240 'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000241 'action': ['python', '{angle_root}/build/linux/sysroot_scripts/install-sysroot.py',
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600242 '--arch=x64'],
243 },
Jamie Madill027717f2018-04-13 15:51:24 -0400244 {
245 # Update the Windows toolchain if necessary. Must run before 'clang' below.
246 'name': 'win_toolchain',
247 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400248 'condition': 'checkout_win and not build_with_chromium',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000249 'action': ['python', '{angle_root}/build/vs_toolchain.py', 'update', '--force'],
Jamie Madill027717f2018-04-13 15:51:24 -0400250 },
Geoff Lang66ae5312019-04-01 16:35:53 -0400251 {
252 # Update the Mac toolchain if necessary.
253 'name': 'mac_toolchain',
254 'pattern': '.',
255 'condition': 'checkout_mac and not build_with_chromium',
256 'action': ['python', '{angle_root}/build/mac_toolchain.py'],
257 },
Jamie Madill027717f2018-04-13 15:51:24 -0400258
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000259 {
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400260 # Note: On Win, this should run after win_toolchain, as it may use it.
261 'name': 'clang',
262 'pattern': '.',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000263 'action': ['python', '{angle_root}/tools/clang/scripts/update.py'],
Edward Lemur8ae09b02018-06-01 14:18:28 -0400264 'condition': 'not build_with_chromium',
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400265 },
Jamie Madill940c48b2017-10-23 23:25:17 -0400266
Shahbaz Youssefi957e9b82018-10-05 11:00:50 -0400267 {
268 # Update LASTCHANGE.
269 'name': 'lastchange',
270 'pattern': '.',
271 'condition': 'not build_with_chromium',
272 'action': ['python', '{angle_root}/build/util/lastchange.py',
273 '-o', '{angle_root}/build/util/LASTCHANGE'],
274 },
275
Jamie Madill940c48b2017-10-23 23:25:17 -0400276 # Pull rc binaries using checked-in hashes.
277 {
278 'name': 'rc_win',
279 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400280 'condition': 'checkout_win and (host_os == "win" and not build_with_chromium)',
Jamie Madill940c48b2017-10-23 23:25:17 -0400281 'action': [ 'download_from_google_storage',
282 '--no_resume',
283 '--no_auth',
284 '--bucket', 'chromium-browser-clang/rc',
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000285 '-s', '{angle_root}/build/toolchain/win/rc/win/rc.exe.sha1',
Jamie Madill940c48b2017-10-23 23:25:17 -0400286 ],
287 },
Michael Spang229fc832019-01-21 18:09:15 -0500288
289 {
290 'name': 'fuchsia_sdk',
291 'pattern': '.',
292 'condition': 'checkout_fuchsia and not build_with_chromium',
293 'action': [
294 'python',
295 '{angle_root}/build/fuchsia/update_sdk.py',
296 ],
297 },
Jamie Madilld5ff4fa2019-04-08 09:25:23 -0400298
Shahbaz Youssefi82418c82019-04-05 15:56:03 -0400299 # Download glslang validator binary for Linux.
300 {
301 'name': 'linux_glslang_validator',
302 'pattern': '.',
303 'condition': 'checkout_linux and not build_with_chromium',
304 'action': [ 'download_from_google_storage',
305 '--no_resume',
306 '--platform=linux*',
307 '--no_auth',
308 '--bucket', 'angle-glslang-validator',
309 '-s', '{angle_root}/tools/glslang/glslang_validator.sha1',
310 ],
311 },
312
Jamie Madilld5ff4fa2019-04-08 09:25:23 -0400313 # Download glslang validator binary for Windows.
314 {
315 'name': 'win_glslang_validator',
316 'pattern': '.',
317 'condition': 'checkout_win and not build_with_chromium',
318 'action': [ 'download_from_google_storage',
319 '--no_resume',
320 '--platform=win32*',
321 '--no_auth',
322 '--bucket', 'angle-glslang-validator',
323 '-s', '{angle_root}/tools/glslang/glslang_validator.exe.sha1',
324 ],
325 },
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000326]
Jamie Madill20789312016-10-28 14:05:26 -0400327
328recursedeps = [
329 # buildtools provides clang_format.
Yuly Novikov85d8ee82018-09-12 17:36:57 +0000330 '{angle_root}/buildtools',
Jamie Madill20789312016-10-28 14:05:26 -0400331]