blob: 3794c15372cd20d07acdb7841b27d5cee0e6bde1 [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
5 # This variable is set on the Chrome infra for compatiblity with gclient.
Edward Lemur8ae09b02018-06-01 14:18:28 -04006 'angle_root': '.',
7
8 # This variable is overrided in Chromium's DEPS file.
9 'build_with_chromium': False,
10
11 # Current revision of dEQP.
Jamie Madilld1978032018-06-05 14:37:00 -040012 'deqp_revision': '4c0f2a4fba813e1046115c43c887eccb749b7bb3',
Edward Lemur8ae09b02018-06-01 14:18:28 -040013
14 # Current revision of glslang, the Khronos SPIRV compiler.
15 'glslang_revision': '2edde6665d9a56ead5ea0e55b4e64d9a803e6164',
16
17 # Current revision fo the SPIRV-Headers Vulkan support library.
18 'spirv_headers_revision': '98b01515724c428d0f0a5d01deffcce0f5f5e61c',
19
20 # Current revision of SPIRV-Tools for Vulkan.
21 'spirv_tools_revision': '9996173f363729b3a97309685dbd4d78547a63a7',
22
23 # Current revision of the Vulkan Validation Layers SDK.
24 'vulkan_revision': '25d5884746a2de7b51a8ef3ec88e1cd8066460e8',
Jamie Madill2fdd3da2015-07-20 10:14:54 -040025}
26
alokp@chromium.org29d56fb2010-04-06 15:42:22 +000027deps = {
alokp@chromium.org416fcd32012-04-11 16:23:44 +000028
Edward Lemur8ae09b02018-06-01 14:18:28 -040029 '{angle_root}/build': {
30 'url': '{chromium_git}/chromium/src/build.git@b944b99e72923c5a6699235ed858e725db21f81f',
31 'condition': 'not build_with_chromium',
32 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040033
Edward Lemur8ae09b02018-06-01 14:18:28 -040034 '{angle_root}/buildtools': {
35 'url': '{chromium_git}/chromium/buildtools.git@94288c26d2ffe3aec9848c147839afee597acefd',
36 'condition': 'not build_with_chromium',
37 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040038
Edward Lemur8ae09b02018-06-01 14:18:28 -040039 '{angle_root}/testing': {
40 'url': '{chromium_git}/chromium/src/testing@4d706fd80be9e8989aec5235540e7b46d0672826',
41 'condition': 'not build_with_chromium',
42 },
alokp@chromium.org5cd9c602012-05-16 23:37:50 +000043
Jamie Madill9e76f562015-10-02 08:57:14 -040044 # Cherry is a dEQP management GUI written in Go. We use it for viewing test results.
Edward Lemur8ae09b02018-06-01 14:18:28 -040045 '{angle_root}/third_party/cherry': {
46 'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc',
47 'condition': 'not build_with_chromium',
48 },
Jamie Madill9e76f562015-10-02 08:57:14 -040049
Edward Lemur8ae09b02018-06-01 14:18:28 -040050 '{angle_root}/third_party/deqp/src': {
51 'url': '{android_git}/platform/external/deqp@{deqp_revision}',
52 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050053
Edward Lemur8ae09b02018-06-01 14:18:28 -040054 '{angle_root}/third_party/glslang/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040055 'url': '{android_git}/platform/external/shaderc/glslang@{glslang_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040056 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050057
Edward Lemur8ae09b02018-06-01 14:18:28 -040058 '{angle_root}/third_party/googletest/src': {
59 'url': '{chromium_git}/external/github.com/google/googletest.git@145d05750b15324899473340c8dd5af50d125d33',
60 'condition': 'not build_with_chromium',
61 },
Frank Henigman6b076a02017-10-11 13:28:22 -040062
Edward Lemur8ae09b02018-06-01 14:18:28 -040063 '{angle_root}/third_party/libpng/src': {
64 'url': '{android_git}/platform/external/libpng@094e181e79a3d6c23fd005679025058b7df1ad6c',
65 'condition': 'not build_with_chromium',
66 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050067
Edward Lemur8ae09b02018-06-01 14:18:28 -040068 '{angle_root}/third_party/spirv-headers/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040069 'url': '{android_git}/platform/external/shaderc/spirv-headers@{spirv_headers_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040070 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050071
Edward Lemur8ae09b02018-06-01 14:18:28 -040072 '{angle_root}/third_party/spirv-tools/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040073 'url': '{android_git}/platform/external/shaderc/spirv-tools@{spirv_tools_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040074 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050075
Edward Lemur8ae09b02018-06-01 14:18:28 -040076 '{angle_root}/third_party/vulkan-validation-layers/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040077 'url': '{android_git}/platform/external/vulkan-validation-layers@{vulkan_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040078 },
Jamie Madill3cd438d2015-03-17 11:25:27 -040079
Edward Lemur8ae09b02018-06-01 14:18:28 -040080 '{angle_root}/third_party/zlib': {
81 'url': '{chromium_git}/chromium/src/third_party/zlib@da0819d6c816a61be6fcb2fcf9b74246f0f8b808',
82 'condition': 'not build_with_chromium',
83 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040084
Edward Lemur8ae09b02018-06-01 14:18:28 -040085 '{angle_root}/tools/clang': {
86 'url': '{chromium_git}/chromium/src/tools/clang.git@c893c7eec4706f8c7fc244ee254b1dadd8f8d158',
87 'condition': 'not build_with_chromium',
88 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040089
Edward Lemur8ae09b02018-06-01 14:18:28 -040090 '{angle_root}/tools/gyp': {
91 'url': '{chromium_git}/external/gyp@4d467626b0b9f59a85fb81ca4d7ea9eca99b9d8f',
92 'condition': 'not build_with_chromium',
93 },
alokp@chromium.org29d56fb2010-04-06 15:42:22 +000094}
95
alokp@chromium.org29d56fb2010-04-06 15:42:22 +000096hooks = [
Jamie Madill2fdd3da2015-07-20 10:14:54 -040097 # Pull clang-format binaries using checked-in hashes.
98 {
99 'name': 'clang_format_win',
100 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400101 'condition': 'host_os == "win" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400102 'action': [ 'download_from_google_storage',
103 '--no_resume',
104 '--platform=win32',
105 '--no_auth',
106 '--bucket', 'chromium-clang-format',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400107 '-s', '{angle_root}/buildtools/win/clang-format.exe.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400108 ],
109 },
110 {
111 'name': 'clang_format_mac',
112 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400113 'condition': 'host_os == "mac" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400114 'action': [ 'download_from_google_storage',
115 '--no_resume',
116 '--platform=darwin',
117 '--no_auth',
118 '--bucket', 'chromium-clang-format',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400119 '-s', '{angle_root}/buildtools/mac/clang-format.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400120 ],
121 },
122 {
123 'name': 'clang_format_linux',
124 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400125 'condition': 'host_os == "linux" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400126 'action': [ 'download_from_google_storage',
127 '--no_resume',
128 '--platform=linux*',
129 '--no_auth',
130 '--bucket', 'chromium-clang-format',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400131 '-s', '{angle_root}/buildtools/linux64/clang-format.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400132 ],
133 },
Corentin Wallez570f67d2016-02-05 15:28:24 -0500134 # Pull GN binaries using checked-in hashes.
135 {
136 'name': 'gn_win',
137 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400138 'condition': 'host_os == "win" and not build_with_chromium',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500139 'action': [ 'download_from_google_storage',
140 '--no_resume',
141 '--platform=win32',
142 '--no_auth',
143 '--bucket', 'chromium-gn',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400144 '-s', '{angle_root}/buildtools/win/gn.exe.sha1',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500145 ],
146 },
147 {
148 'name': 'gn_mac',
149 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400150 'condition': 'host_os == "mac" and not build_with_chromium',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500151 'action': [ 'download_from_google_storage',
152 '--no_resume',
153 '--platform=darwin',
154 '--no_auth',
155 '--bucket', 'chromium-gn',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400156 '-s', '{angle_root}/buildtools/mac/gn.sha1',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500157 ],
158 },
159 {
160 'name': 'gn_linux64',
161 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400162 'condition': 'host_os == "linux" and not build_with_chromium',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500163 'action': [ 'download_from_google_storage',
164 '--no_resume',
165 '--platform=linux*',
166 '--no_auth',
167 '--bucket', 'chromium-gn',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400168 '-s', '{angle_root}/buildtools/linux64/gn.sha1',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500169 ],
170 },
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600171 {
172 'name': 'sysroot_x86',
173 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400174 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and not build_with_chromium)',
175 'action': ['python', '{angle_root}/build/linux/sysroot_scripts/install-sysroot.py',
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600176 '--arch=x86'],
177 },
178 {
179 'name': 'sysroot_x64',
180 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400181 'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
182 'action': ['python', '{angle_root}/build/linux/sysroot_scripts/install-sysroot.py',
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600183 '--arch=x64'],
184 },
Jamie Madill027717f2018-04-13 15:51:24 -0400185 {
186 # Update the Windows toolchain if necessary. Must run before 'clang' below.
187 'name': 'win_toolchain',
188 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400189 'condition': 'checkout_win and not build_with_chromium',
190 'action': ['python', '{angle_root}/build/vs_toolchain.py', 'update', '--force'],
Jamie Madill027717f2018-04-13 15:51:24 -0400191 },
192
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000193 {
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400194 # Note: On Win, this should run after win_toolchain, as it may use it.
195 'name': 'clang',
196 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400197 'action': ['python', '{angle_root}/tools/clang/scripts/update.py'],
198 'condition': 'not build_with_chromium',
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400199 },
Jamie Madill940c48b2017-10-23 23:25:17 -0400200
201 # Pull rc binaries using checked-in hashes.
202 {
203 'name': 'rc_win',
204 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400205 'condition': 'checkout_win and (host_os == "win" and not build_with_chromium)',
Jamie Madill940c48b2017-10-23 23:25:17 -0400206 'action': [ 'download_from_google_storage',
207 '--no_resume',
208 '--no_auth',
209 '--bucket', 'chromium-browser-clang/rc',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400210 '-s', '{angle_root}/build/toolchain/win/rc/win/rc.exe.sha1',
Jamie Madill940c48b2017-10-23 23:25:17 -0400211 ],
212 },
213
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400214 {
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000215 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
Corentin Walleze76f55f2016-10-25 06:44:45 -0400216 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400217 'action': ['python', '{angle_root}/gyp/gyp_angle'],
218 'condition': 'not build_with_chromium',
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000219 },
220]
Jamie Madill20789312016-10-28 14:05:26 -0400221
222recursedeps = [
223 # buildtools provides clang_format.
Edward Lemur8ae09b02018-06-01 14:18:28 -0400224 '{angle_root}/buildtools',
Jamie Madill20789312016-10-28 14:05:26 -0400225]