• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1From 2f4a38ecfde470abcd5d3c0ae7337bf780343469 Mon Sep 17 00:00:00 2001
2From: Daniel Stone <daniels@collabora.com>
3Date: Tue, 15 Oct 2024 16:02:26 +0100
4Subject: [PATCH] deps: Make more sources conditional
5
6Fetching all the dependent sources - including at least one copy of LLVM
7- can take a surprising amount of time. Mesa needs to build ANGLE as
8part of CI, and the cost of downloading all the sources all of the time
9is not OK for the number of dependencies we don't need during the build.
10---
11 DEPS | 33 +++++++++++++++++++++++----------
12 1 file changed, 23 insertions(+), 10 deletions(-)
13
14Submitted upstream at:
15https://chromium-review.googlesource.com/c/angle/angle/+/5937820
16
17diff --git a/DEPS b/DEPS
18index 61263fb7af..0cff8c3126 100644
19--- a/DEPS
20+++ b/DEPS
21@@ -17,6 +17,17 @@ gclient_gn_args = [
22 ]
23
24 vars = {
25+  'angle_enable_cl': True,
26+  'angle_enable_cl_testing': False,
27+  'angle_enable_vulkan': True,
28+  'angle_enable_vulkan_validation_layers': True,
29+  'angle_enable_wgpu': True,
30+  'build_angle_deqp_tests': True,
31+  'build_angle_perftests': True,
32+  'build_with_swiftshader': True,
33+  'use_custom_libcxx': True,
34+  'export_libcxxapi_from_executables': True,
35+
36   'android_git': 'https://android.googlesource.com',
37   'chromium_git': 'https://chromium.googlesource.com',
38   'chrome_internal_git': 'https://chrome-internal.googlesource.com',
39@@ -673,7 +684,7 @@ deps = {
40
41   'third_party/catapult': {
42     'url': Var('chromium_git') + '/catapult.git' + '@' + Var('catapult_revision'),
43-    'condition': 'not build_with_chromium',
44+    'condition': 'build_with_catapult and not build_with_chromium',
45   },
46
47   # Cherry is a dEQP/VK-GL-CTS management GUI written in Go. We use it for viewing test results.
48@@ -689,7 +700,7 @@ deps = {
49
50   'third_party/clspv/src': {
51     'url': Var('chromium_git') + '/external/github.com/google/clspv@a173c052455434a422bcfe5c12ffe44d574fd6e1',
52-    'condition': 'not build_with_chromium',
53+    'condition': 'angle_enable_cl and angle_enable_vulkan and not build_with_chromium',
54   },
55
56   'third_party/cpu_features/src': {
57@@ -700,7 +711,7 @@ deps = {
58
59   'third_party/dawn': {
60     'url': Var('dawn_git') + '/dawn.git' + '@' +  Var('dawn_revision'),
61-    'condition': 'not build_with_chromium'
62+    'condition': 'angle_enable_wgpu and not build_with_chromium'
63   },
64
65   'third_party/depot_tools': {
66@@ -745,6 +756,7 @@ deps = {
67   # glmark2 is a GPL3-licensed OpenGL ES 2.0 benchmark. We use it for testing.
68   'third_party/glmark2/src': {
69     'url': Var('chromium_git') + '/external/github.com/glmark2/glmark2@ca8de51fedb70bace5351c6b002eb952c747e889',
70+    'condition': 'build_angle_perftests',
71   },
72
73   'third_party/googletest': {
74@@ -777,7 +789,7 @@ deps = {
75   # libjpeg_turbo is used by glmark2.
76   'third_party/libjpeg_turbo': {
77     'url': Var('chromium_git') + '/chromium/deps/libjpeg_turbo.git@927aabfcd26897abb9776ecf2a6c38ea5bb52ab6',
78-    'condition': 'not build_with_chromium',
79+    'condition': 'build_angle_perftests and not build_with_chromium',
80   },
81
82   'third_party/libpng/src': {
83@@ -787,7 +799,7 @@ deps = {
84
85   'third_party/llvm/src': {
86     'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project@d222fa4521531cc4ac14b8e157d231c108c003be',
87-    'condition': 'not build_with_chromium',
88+    'condition': '(build_with_swiftshader or (angle_enable_cl and angle_enable_vulkan)) and not build_with_chromium',
89   },
90
91   'third_party/jdk': {
92@@ -824,12 +836,12 @@ deps = {
93
94   'third_party/libc++/src': {
95     'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxx.git@6a68fd412b9aecd515a20a7cf84d11b598bfaf96',
96-    'condition': 'not build_with_chromium',
97+    'condition': 'use_custom_libcxx and not build_with_chromium',
98   },
99
100   'third_party/libc++abi/src': {
101     'url': Var('chromium_git') + '/external/github.com/llvm/llvm-project/libcxxabi.git@9a1d90c3b412d5ebeb97a6e33d98e1d0dd923221',
102-    'condition': 'not build_with_chromium',
103+    'condition': 'export_libcxxapi_from_executables and not build_with_chromium',
104   },
105
106   'third_party/libunwind/src': {
107@@ -872,7 +884,7 @@ deps = {
108
109   'third_party/OpenCL-CTS/src': {
110     'url': Var('chromium_git') + '/external/github.com/KhronosGroup/OpenCL-CTS@e0a31a03fc8f816d59fd8b3051ac6a61d3fa50c6',
111-    'condition': 'not build_with_chromium',
112+    'condition': 'angle_enable_cl_testing and not build_with_chromium',
113   },
114
115   'third_party/OpenCL-Docs/src': {
116@@ -968,7 +980,7 @@ deps = {
117
118   'third_party/SwiftShader': {
119     'url': Var('swiftshader_git') + '/SwiftShader@7a9a492a38b7c701f7c96a15a76046aed8f8c0c3',
120-    'condition': 'not build_with_chromium',
121+    'condition': 'build_with_swiftshader and not build_with_chromium',
122   },
123
124   'third_party/turbine/cipd': {
125@@ -984,6 +996,7 @@ deps = {
126
127   'third_party/VK-GL-CTS/src': {
128     'url': Var('chromium_git') + '/external/github.com/KhronosGroup/VK-GL-CTS' + '@' + Var('vk_gl_cts_revision'),
129+    'condition': 'build_angle_deqp_tests',
130   },
131
132   'third_party/vulkan-deps': {
133@@ -1038,7 +1051,7 @@ deps = {
134
135   'third_party/vulkan-validation-layers/src': {
136     'url': '{chromium_git}/external/github.com/KhronosGroup/Vulkan-ValidationLayers@b63e9bd51fbd7bf8fea161a4f7c06994abc24b75',
137-    'condition': 'not build_with_chromium',
138+    'condition': 'angle_enable_vulkan_validation_layers and not build_with_chromium',
139   },
140
141   'third_party/vulkan_memory_allocator': {
142--
1432.46.2
144
145