blob: acda6124c55f7cf5788a9a654f8c3270b3fc89e8 [file] [log] [blame]
Corentin Wallez1a0596d2018-09-10 15:16:10 +02001use_relative_paths = True
Corentin Wallez1a0596d2018-09-10 15:16:10 +02002
Corentin Wallez4e2d7cf2020-07-14 15:53:34 +00003gclient_gn_args_file = 'build/config/gclient_args.gni'
Corentin Wallez4e2d7cf2020-07-14 15:53:34 +00004
Corentin Wallez21a23852018-07-31 18:50:03 +02005vars = {
6 'chromium_git': 'https://chromium.googlesource.com',
Corentin Wallez4c351012018-08-27 10:10:28 +02007 'dawn_git': 'https://dawn.googlesource.com',
Corentin Wallez21a23852018-07-31 18:50:03 +02008 'github_git': 'https://github.com',
Corentin Wallez74cebd62019-11-26 18:21:51 +00009 'swiftshader_git': 'https://swiftshader.googlesource.com',
Corentin Wallez21a23852018-07-31 18:50:03 +020010
Corentin Wallez21a23852018-07-31 18:50:03 +020011 'dawn_standalone': True,
12}
13
14deps = {
15 # Dependencies required to use GN/Clang in standalone
Corentin Wallez1a0596d2018-09-10 15:16:10 +020016 'build': {
Corentin Wallez346fa222021-01-12 16:23:03 +000017 'url': '{chromium_git}/chromium/src/build@3769c3b43c3804f9f7f14c6e37f545639fda2852',
Corentin Wallez21a23852018-07-31 18:50:03 +020018 'condition': 'dawn_standalone',
19 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +020020 'buildtools': {
Corentin Wallez346fa222021-01-12 16:23:03 +000021 'url': '{chromium_git}/chromium/src/buildtools@235cfe435ca5a9826569ee4ef603e226216bd768',
Corentin Wallez21a23852018-07-31 18:50:03 +020022 'condition': 'dawn_standalone',
23 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +020024 'tools/clang': {
Corentin Wallez346fa222021-01-12 16:23:03 +000025 'url': '{chromium_git}/chromium/src/tools/clang@b12d1c836e2bb21b966bf86f7245bab9d257bb6b',
Corentin Wallez21a23852018-07-31 18:50:03 +020026 'condition': 'dawn_standalone',
27 },
Kai Ninomiyaf526d772020-04-06 22:27:02 +000028 'tools/clang/dsymutil': {
29 'packages': [
30 {
31 'package': 'chromium/llvm-build-tools/dsymutil',
32 'version': 'M56jPzDv1620Rnm__jTMYS62Zi8rxHVq7yw0qeBFEgkC',
33 }
34 ],
35 'condition': 'checkout_mac or checkout_ios',
36 'dep_type': 'cipd',
37 },
Corentin Wallez21a23852018-07-31 18:50:03 +020038
Corentin Wallez649e2fe2018-08-03 15:57:43 +020039 # Testing, GTest and GMock
Corentin Wallez1a0596d2018-09-10 15:16:10 +020040 'testing': {
Corentin Wallezbf1e9532020-11-04 09:44:47 +000041 'url': '{chromium_git}/chromium/src/testing@3e2640a325dc34ec3d9cb2802b8da874aecaf52d',
Corentin Wallez21a23852018-07-31 18:50:03 +020042 'condition': 'dawn_standalone',
43 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +020044 'third_party/googletest': {
Corentin Wallezbf1e9532020-11-04 09:44:47 +000045 'url': '{chromium_git}/external/github.com/google/googletest@2828773179fa425ee406df61890a150577178ea2',
Corentin Wallez649e2fe2018-08-03 15:57:43 +020046 'condition': 'dawn_standalone',
47 },
Corentin Wallez21a23852018-07-31 18:50:03 +020048
Corentin Wallez3bb0bb92018-08-13 17:47:44 +020049 # Jinja2 and MarkupSafe for the code generator
Corentin Wallez1a0596d2018-09-10 15:16:10 +020050 'third_party/jinja2': {
Corentin Wallezbf1e9532020-11-04 09:44:47 +000051 'url': '{chromium_git}/chromium/src/third_party/jinja2@a82a4944a7f2496639f34a89c9923be5908b80aa',
Corentin Wallez3bb0bb92018-08-13 17:47:44 +020052 'condition': 'dawn_standalone',
53 },
Corentin Wallez1a0596d2018-09-10 15:16:10 +020054 'third_party/markupsafe': {
Corentin Wallezbf1e9532020-11-04 09:44:47 +000055 'url': '{chromium_git}/chromium/src/third_party/markupsafe@0944e71f4b2cb9a871bcbe353f95e889b64a611a',
Corentin Wallez3bb0bb92018-08-13 17:47:44 +020056 'condition': 'dawn_standalone',
57 },
58
Stephen Whitef1fa60b2021-01-06 17:41:50 +000059 # SPIRV compiler dependencies: shaderc
Corentin Wallez1a0596d2018-09-10 15:16:10 +020060 'third_party/shaderc': {
Corentin Wallezd1b65e02020-11-30 22:40:17 +000061 'url': '{chromium_git}/external/github.com/google/shaderc@6216d098d8abe3ccda8781016c4f69372c48afb9',
Corentin Wallez649e2fe2018-08-03 15:57:43 +020062 'condition': 'dawn_standalone',
63 },
64
Ryan Harrison991b9472020-05-06 23:15:54 +000065 # WGSL support
66 'third_party/tint': {
Dawn Autoroller05628022021-01-13 20:32:38 +000067 'url': '{dawn_git}/tint@313ae9e87f37d917421baacf4065dc460655e646',
Ryan Harrison991b9472020-05-06 23:15:54 +000068 'condition': 'dawn_standalone',
69 },
70
Corentin Wallez4d7d1692018-08-13 08:23:27 +020071 # GLFW for tests and samples
Corentin Wallez1a0596d2018-09-10 15:16:10 +020072 'third_party/glfw': {
Corentin Walleza5a6e4f2020-01-23 15:10:58 +000073 'url': '{chromium_git}/external/github.com/glfw/glfw@d973acc123826666ecc9e6fd475682e3d84c54a6',
Corentin Wallez4d7d1692018-08-13 08:23:27 +020074 'condition': 'dawn_standalone',
75 },
76
Austin Engf3f5bf42019-05-18 03:14:46 +000077 # Dependencies for samples: GLM
Corentin Wallez1a0596d2018-09-10 15:16:10 +020078 'third_party/glm': {
Zhenyao Mo37193aa2020-04-14 16:20:14 +000079 'url': '{github_git}/g-truc/glm.git@bf71a834948186f4097caa076cd2663c69a10e1e',
Corentin Wallez4d7d1692018-08-13 08:23:27 +020080 'condition': 'dawn_standalone',
81 },
Corentin Wallez4c351012018-08-27 10:10:28 +020082
Stephen White77fcdf72021-01-11 15:52:12 +000083 'third_party/vulkan_memory_allocator': {
84 'url': '{chromium_git}/external/github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator@065e739079d9d58bef28ccd793cbf512261f09ed',
85 'condition': 'dawn_standalone',
86 },
87
88 'third_party/angle': {
89 'url': '{chromium_git}/angle/angle@f4cd17472aca1939277b145ef0f72b0946b83716',
90 'condition': 'dawn_standalone',
91 },
92
Corentin Wallez74cebd62019-11-26 18:21:51 +000093 'third_party/swiftshader': {
Corentin Wallez6298b632020-10-19 18:35:39 +000094 'url': '{swiftshader_git}/SwiftShader@df17a76102dfabb3f1bd6e51449cece9f77b45e3',
Corentin Wallez74cebd62019-11-26 18:21:51 +000095 'condition': 'dawn_standalone',
96 },
97
Stephen Whitef1fa60b2021-01-06 17:41:50 +000098 'third_party/vulkan-deps': {
Corentin Wallez06aa1af2021-01-07 13:22:22 +000099 'url': '{chromium_git}/vulkan-deps@c493c61120215a00f54cc59f067f7419dabad066',
Stephen White77fcdf72021-01-11 15:52:12 +0000100 },
101
102 'third_party/zlib': {
103 'url': '{chromium_git}/chromium/src/third_party/zlib@c29ee8c9c3824ca013479bf8115035527967fe02',
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000104 'condition': 'dawn_standalone',
105 },
Corentin Wallez21a23852018-07-31 18:50:03 +0200106}
107
108hooks = [
Corentin Wallez21a23852018-07-31 18:50:03 +0200109 # Pull the compilers and system libraries for hermetic builds
110 {
111 'name': 'sysroot_x86',
112 'pattern': '.',
113 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64) and dawn_standalone)',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200114 'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200115 '--arch=x86'],
116 },
117 {
118 'name': 'sysroot_x64',
119 'pattern': '.',
120 'condition': 'checkout_linux and (checkout_x64 and dawn_standalone)',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200121 'action': ['python', 'build/linux/sysroot_scripts/install-sysroot.py',
Corentin Wallez21a23852018-07-31 18:50:03 +0200122 '--arch=x64'],
123 },
124 {
Corentin Wallezd4e7f082020-11-17 21:16:31 +0000125 # Update the Mac toolchain if possible, this makes builders use "hermetic XCode" which is
126 # is more consistent (only changes when rolling build/) and is cached.
127 'name': 'mac_toolchain',
128 'pattern': '.',
129 'condition': 'checkout_mac',
130 'action': ['python', 'build/mac_toolchain.py'],
131 },
132 {
Corentin Wallez682c44a2018-08-13 17:48:16 +0200133 # Update the Windows toolchain if necessary. Must run before 'clang' below.
Corentin Wallez21a23852018-07-31 18:50:03 +0200134 'name': 'win_toolchain',
135 'pattern': '.',
136 'condition': 'checkout_win and dawn_standalone',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200137 'action': ['python', 'build/vs_toolchain.py', 'update', '--force'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200138 },
139 {
140 # Note: On Win, this should run after win_toolchain, as it may use it.
141 'name': 'clang',
142 'pattern': '.',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200143 'action': ['python', 'tools/clang/scripts/update.py'],
Corentin Wallez21a23852018-07-31 18:50:03 +0200144 'condition': 'dawn_standalone',
145 },
146 {
147 # Pull rc binaries using checked-in hashes.
148 'name': 'rc_win',
149 'pattern': '.',
150 'condition': 'checkout_win and (host_os == "win" and dawn_standalone)',
151 'action': [ 'download_from_google_storage',
152 '--no_resume',
153 '--no_auth',
154 '--bucket', 'chromium-browser-clang/rc',
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200155 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
Corentin Wallez21a23852018-07-31 18:50:03 +0200156 ],
157 },
Corentin Wallez131e6192020-11-03 18:18:06 +0000158 # Pull clang-format binaries using checked-in hashes.
159 {
160 'name': 'clang_format_win',
161 'pattern': '.',
162 'condition': 'host_os == "win"',
163 'action': [ 'download_from_google_storage',
164 '--no_resume',
165 '--no_auth',
166 '--bucket', 'chromium-clang-format',
167 '-s', 'buildtools/win/clang-format.exe.sha1',
168 ],
169 },
170 {
171 'name': 'clang_format_mac',
172 'pattern': '.',
173 'condition': 'host_os == "mac"',
174 'action': [ 'download_from_google_storage',
175 '--no_resume',
176 '--no_auth',
177 '--bucket', 'chromium-clang-format',
178 '-s', 'buildtools/mac/clang-format.sha1',
179 ],
180 },
181 {
182 'name': 'clang_format_linux',
183 'pattern': '.',
184 'condition': 'host_os == "linux"',
185 'action': [ 'download_from_google_storage',
186 '--no_resume',
187 '--no_auth',
188 '--bucket', 'chromium-clang-format',
189 '-s', 'buildtools/linux64/clang-format.sha1',
190 ],
191 },
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000192 # Update build/util/LASTCHANGE.
193 {
194 'name': 'lastchange',
195 'pattern': '.',
Jiajie Hu2ffc55a2020-07-01 05:08:36 +0000196 'condition': 'dawn_standalone',
Corentin Wallez15d8cb72018-11-19 10:13:31 +0000197 'action': ['python', 'build/util/lastchange.py',
198 '-o', 'build/util/LASTCHANGE'],
199 },
Corentin Wallezca81bd32018-09-03 11:55:58 +0200200]
201
202recursedeps = [
203 # buildtools provides clang_format, libc++, and libc++abi
Corentin Wallez1a0596d2018-09-10 15:16:10 +0200204 'buildtools',
Stephen Whitef1fa60b2021-01-06 17:41:50 +0000205 'third_party/vulkan-deps',
Corentin Wallez21a23852018-07-31 18:50:03 +0200206]