blob: fcae9566c7781418f14f9498a3fa4c3614d1a1e5 [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.
Jamie Madill1698d7d2018-06-27 14:09:58 -040015 'glslang_revision': '1ea8f595f9a9ebd938fe9e5f15ae469c7d6ebabc',
Edward Lemur8ae09b02018-06-01 14:18:28 -040016
17 # Current revision fo the SPIRV-Headers Vulkan support library.
Jamie Madill534343a2018-07-09 16:43:16 -040018 'spirv_headers_revision': 'ff684ffc6a35d2a58f0f63108877d0064ea33feb',
Edward Lemur8ae09b02018-06-01 14:18:28 -040019
20 # Current revision of SPIRV-Tools for Vulkan.
Jamie Madill534343a2018-07-09 16:43:16 -040021 'spirv_tools_revision': '48326d443e434f55eb50a7cfc9acdc968daad5e3',
Edward Lemur8ae09b02018-06-01 14:18:28 -040022
Tobin Ehlisb971f492018-05-24 10:56:17 -060023 # Current revision of Khronos Vulkan-Headers.
Tobin Ehlis4edf1bc2018-07-17 15:14:14 -060024 'vulkan_headers_revision': 'ec4eff88f79b74c4865f41bef0d6af9a46d53896',
Tobin Ehlisb971f492018-05-24 10:56:17 -060025
26 # Current revision of Khronos Vulkan-Loader.
Tobin Ehlis4edf1bc2018-07-17 15:14:14 -060027 'vulkan_loader_revision': 'da58202e9569eff53560b4c3a007de2297be40d2',
Tobin Ehlisb971f492018-05-24 10:56:17 -060028
29 # Current revision of Khronos Vulkan-Tools.
Tobin Ehlis6ed6c712018-07-10 12:02:30 -060030 'vulkan_tools_revision': 'b7c389c9d3efe5cea722eb7395fb70529dd27566',
Tobin Ehlisb971f492018-05-24 10:56:17 -060031
32 # Current revision of Khronos Vulkan-ValidationLayers.
Tobin Ehlis4edf1bc2018-07-17 15:14:14 -060033 'vulkan_validation_revision': '9e92c5c0e5b0b2264d72d8bafe15f049cba1c67d',
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
Edward Lemur8ae09b02018-06-01 14:18:28 -040038 '{angle_root}/build': {
39 'url': '{chromium_git}/chromium/src/build.git@b944b99e72923c5a6699235ed858e725db21f81f',
40 'condition': 'not build_with_chromium',
41 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040042
Edward Lemur8ae09b02018-06-01 14:18:28 -040043 '{angle_root}/buildtools': {
44 'url': '{chromium_git}/chromium/buildtools.git@94288c26d2ffe3aec9848c147839afee597acefd',
45 'condition': 'not build_with_chromium',
46 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -040047
Edward Lemur8ae09b02018-06-01 14:18:28 -040048 '{angle_root}/testing': {
49 'url': '{chromium_git}/chromium/src/testing@4d706fd80be9e8989aec5235540e7b46d0672826',
50 '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.
Edward Lemur8ae09b02018-06-01 14:18:28 -040054 '{angle_root}/third_party/cherry': {
55 'url': '{android_git}/platform/external/cherry@4f8fb08d33ca5ff05a1c638f04c85bbb8d8b52cc',
56 'condition': 'not build_with_chromium',
57 },
Jamie Madill9e76f562015-10-02 08:57:14 -040058
Edward Lemur8ae09b02018-06-01 14:18:28 -040059 '{angle_root}/third_party/deqp/src': {
60 'url': '{android_git}/platform/external/deqp@{deqp_revision}',
61 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050062
Edward Lemur8ae09b02018-06-01 14:18:28 -040063 '{angle_root}/third_party/glslang/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040064 'url': '{android_git}/platform/external/shaderc/glslang@{glslang_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040065 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050066
Edward Lemur8ae09b02018-06-01 14:18:28 -040067 '{angle_root}/third_party/googletest/src': {
68 'url': '{chromium_git}/external/github.com/google/googletest.git@145d05750b15324899473340c8dd5af50d125d33',
69 'condition': 'not build_with_chromium',
70 },
Frank Henigman6b076a02017-10-11 13:28:22 -040071
Edward Lemur8ae09b02018-06-01 14:18:28 -040072 '{angle_root}/third_party/libpng/src': {
73 'url': '{android_git}/platform/external/libpng@094e181e79a3d6c23fd005679025058b7df1ad6c',
74 'condition': 'not build_with_chromium',
75 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050076
Edward Lemur8ae09b02018-06-01 14:18:28 -040077 '{angle_root}/third_party/spirv-headers/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040078 'url': '{android_git}/platform/external/shaderc/spirv-headers@{spirv_headers_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040079 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050080
Edward Lemur8ae09b02018-06-01 14:18:28 -040081 '{angle_root}/third_party/spirv-tools/src': {
Edward Lemur47463d82018-06-01 17:03:40 -040082 'url': '{android_git}/platform/external/shaderc/spirv-tools@{spirv_tools_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040083 },
Jamie Madill37ee8a62016-12-13 15:18:58 -050084
Tobin Ehlisb971f492018-05-24 10:56:17 -060085 '{angle_root}/third_party/vulkan-headers/src': {
86 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Headers@{vulkan_headers_revision}',
87 },
88
89 '{angle_root}/third_party/vulkan-loader/src': {
90 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Loader@{vulkan_loader_revision}',
91 },
92
93 '{angle_root}/third_party/vulkan-tools/src': {
94 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-Tools@{vulkan_tools_revision}',
95 },
96
Edward Lemur8ae09b02018-06-01 14:18:28 -040097 '{angle_root}/third_party/vulkan-validation-layers/src': {
Tobin Ehlisb971f492018-05-24 10:56:17 -060098 'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@{vulkan_validation_revision}',
Edward Lemur8ae09b02018-06-01 14:18:28 -040099 },
Jamie Madill3cd438d2015-03-17 11:25:27 -0400100
Edward Lemur8ae09b02018-06-01 14:18:28 -0400101 '{angle_root}/third_party/zlib': {
102 'url': '{chromium_git}/chromium/src/third_party/zlib@da0819d6c816a61be6fcb2fcf9b74246f0f8b808',
103 'condition': 'not build_with_chromium',
104 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400105
Edward Lemur8ae09b02018-06-01 14:18:28 -0400106 '{angle_root}/tools/clang': {
107 'url': '{chromium_git}/chromium/src/tools/clang.git@c893c7eec4706f8c7fc244ee254b1dadd8f8d158',
108 'condition': 'not build_with_chromium',
109 },
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400110
Edward Lemur8ae09b02018-06-01 14:18:28 -0400111 '{angle_root}/tools/gyp': {
112 'url': '{chromium_git}/external/gyp@4d467626b0b9f59a85fb81ca4d7ea9eca99b9d8f',
113 'condition': 'not build_with_chromium',
114 },
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000115}
116
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000117hooks = [
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400118 # Pull clang-format binaries using checked-in hashes.
119 {
120 'name': 'clang_format_win',
121 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400122 'condition': 'host_os == "win" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400123 'action': [ 'download_from_google_storage',
124 '--no_resume',
125 '--platform=win32',
126 '--no_auth',
127 '--bucket', 'chromium-clang-format',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400128 '-s', '{angle_root}/buildtools/win/clang-format.exe.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400129 ],
130 },
131 {
132 'name': 'clang_format_mac',
133 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400134 'condition': 'host_os == "mac" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400135 'action': [ 'download_from_google_storage',
136 '--no_resume',
137 '--platform=darwin',
138 '--no_auth',
139 '--bucket', 'chromium-clang-format',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400140 '-s', '{angle_root}/buildtools/mac/clang-format.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400141 ],
142 },
143 {
144 'name': 'clang_format_linux',
145 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400146 'condition': 'host_os == "linux" and not build_with_chromium',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400147 'action': [ 'download_from_google_storage',
148 '--no_resume',
149 '--platform=linux*',
150 '--no_auth',
151 '--bucket', 'chromium-clang-format',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400152 '-s', '{angle_root}/buildtools/linux64/clang-format.sha1',
Jamie Madill2fdd3da2015-07-20 10:14:54 -0400153 ],
154 },
Corentin Wallez570f67d2016-02-05 15:28:24 -0500155 # Pull GN binaries using checked-in hashes.
156 {
157 'name': 'gn_win',
158 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400159 'condition': 'host_os == "win" and not build_with_chromium',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500160 'action': [ 'download_from_google_storage',
161 '--no_resume',
162 '--platform=win32',
163 '--no_auth',
164 '--bucket', 'chromium-gn',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400165 '-s', '{angle_root}/buildtools/win/gn.exe.sha1',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500166 ],
167 },
168 {
169 'name': 'gn_mac',
170 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400171 'condition': 'host_os == "mac" and not build_with_chromium',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500172 'action': [ 'download_from_google_storage',
173 '--no_resume',
174 '--platform=darwin',
175 '--no_auth',
176 '--bucket', 'chromium-gn',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400177 '-s', '{angle_root}/buildtools/mac/gn.sha1',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500178 ],
179 },
180 {
181 'name': 'gn_linux64',
182 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400183 'condition': 'host_os == "linux" and not build_with_chromium',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500184 'action': [ 'download_from_google_storage',
185 '--no_resume',
186 '--platform=linux*',
187 '--no_auth',
188 '--bucket', 'chromium-gn',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400189 '-s', '{angle_root}/buildtools/linux64/gn.sha1',
Corentin Wallez570f67d2016-02-05 15:28:24 -0500190 ],
191 },
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600192 {
193 'name': 'sysroot_x86',
194 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400195 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and not build_with_chromium)',
196 'action': ['python', '{angle_root}/build/linux/sysroot_scripts/install-sysroot.py',
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600197 '--arch=x86'],
198 },
199 {
200 'name': 'sysroot_x64',
201 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400202 'condition': 'checkout_linux and (checkout_x64 and not build_with_chromium)',
203 'action': ['python', '{angle_root}/build/linux/sysroot_scripts/install-sysroot.py',
Tobin Ehlis9d4277b2018-05-21 16:22:22 -0600204 '--arch=x64'],
205 },
Jamie Madill027717f2018-04-13 15:51:24 -0400206 {
207 # Update the Windows toolchain if necessary. Must run before 'clang' below.
208 'name': 'win_toolchain',
209 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400210 'condition': 'checkout_win and not build_with_chromium',
211 'action': ['python', '{angle_root}/build/vs_toolchain.py', 'update', '--force'],
Jamie Madill027717f2018-04-13 15:51:24 -0400212 },
213
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000214 {
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400215 # Note: On Win, this should run after win_toolchain, as it may use it.
216 'name': 'clang',
217 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400218 'action': ['python', '{angle_root}/tools/clang/scripts/update.py'],
219 'condition': 'not build_with_chromium',
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400220 },
Jamie Madill940c48b2017-10-23 23:25:17 -0400221
222 # Pull rc binaries using checked-in hashes.
223 {
224 'name': 'rc_win',
225 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400226 'condition': 'checkout_win and (host_os == "win" and not build_with_chromium)',
Jamie Madill940c48b2017-10-23 23:25:17 -0400227 'action': [ 'download_from_google_storage',
228 '--no_resume',
229 '--no_auth',
230 '--bucket', 'chromium-browser-clang/rc',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400231 '-s', '{angle_root}/build/toolchain/win/rc/win/rc.exe.sha1',
Jamie Madill940c48b2017-10-23 23:25:17 -0400232 ],
233 },
234
Frank Henigmand0ef13a2017-08-28 22:53:24 -0400235 {
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000236 # A change to a .gyp, .gypi, or to GYP itself should run the generator.
Corentin Walleze76f55f2016-10-25 06:44:45 -0400237 'pattern': '.',
Edward Lemur8ae09b02018-06-01 14:18:28 -0400238 'action': ['python', '{angle_root}/gyp/gyp_angle'],
239 'condition': 'not build_with_chromium',
alokp@chromium.org29d56fb2010-04-06 15:42:22 +0000240 },
241]
Jamie Madill20789312016-10-28 14:05:26 -0400242
243recursedeps = [
244 # buildtools provides clang_format.
Edward Lemur8ae09b02018-06-01 14:18:28 -0400245 '{angle_root}/buildtools',
Jamie Madill20789312016-10-28 14:05:26 -0400246]