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