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