blob: 7bf19063412890dbf86280f3670b6e69675aae65 [file] [log] [blame]
Dan Sinclair6e581892020-03-02 15:47:43 -05001use_relative_paths = True
2
Ryan Harrison7b819aa2020-07-07 19:11:07 +00003gclient_gn_args_file = 'build/config/gclient_args.gni'
Ryan Harrison7b819aa2020-07-07 19:11:07 +00004
Ben Clayton7b0686a2022-01-06 09:23:11 +00005gclient_gn_args = [
6 'generate_location_tags',
7]
8
Dan Sinclair6e581892020-03-02 15:47:43 -05009vars = {
Ryan Harrison3374f432022-03-28 18:01:02 +000010 'chromium_git': 'https://chromium.googlesource.com',
Dan Sinclair6e581892020-03-02 15:47:43 -050011
Ben Clayton7b0686a2022-01-06 09:23:11 +000012 'tint_gn_revision': 'git_revision:281ba2c91861b10fec7407c4b6172ec3d4661243',
13
14 # We don't use location metadata in our test isolates.
15 'generate_location_tags': False,
Dan Sinclair6e581892020-03-02 15:47:43 -050016}
17
18deps = {
Ryan Harrison3374f432022-03-28 18:01:02 +000019 'third_party/gpuweb-cts': {
20 'url': '{chromium_git}/external/github.com/gpuweb/cts@b0291fd966b55a5efc496772555b94842bde1085',
21 },
dan sinclair429aa812020-07-23 15:01:37 +000022
Ryan Harrison3374f432022-03-28 18:01:02 +000023 'third_party/vulkan-deps': {
24 'url': '{chromium_git}/vulkan-deps@20efc30b0c6fe3c9bbd4f8ed6335593ee51391b0',
25 },
Stephen White7cf3b282021-10-14 14:39:36 +000026
Ryan Harrison29628882020-04-08 20:40:25 +000027 # Dependencies required to use GN/Clang in standalone
Ryan Harrison3374f432022-03-28 18:01:02 +000028 'build': {
29 'url': '{chromium_git}/chromium/src/build@555c8b467c21e2c4b22d00e87e3faa0431df9ac2',
30 },
Ryan Harrison29628882020-04-08 20:40:25 +000031
Ryan Harrison3374f432022-03-28 18:01:02 +000032 'buildtools': {
33 'url': '{chromium_git}/chromium/src/buildtools@f78b4b9f33bd8ef9944d5ce643daff1c31880189',
34 },
Ryan Harrison29628882020-04-08 20:40:25 +000035
Ryan Harrison3374f432022-03-28 18:01:02 +000036 'tools/clang': {
37 'url': '{chromium_git}/chromium/src/tools/clang@8b7330592cb85ba09505a6be7bacabd0ad6160a3',
38 },
Ryan Harrison29628882020-04-08 20:40:25 +000039
Ben Clayton7b0686a2022-01-06 09:23:11 +000040 'buildtools/clang_format/script': {
Ryan Harrison3374f432022-03-28 18:01:02 +000041 'url': '{chromium_git}/external/github.com/llvm/llvm-project/clang/tools/clang-format.git@2271e89c145a5e27d6c110b6a1113c057a8301a3',
Ben Clayton7b0686a2022-01-06 09:23:11 +000042 },
43
44 'buildtools/linux64': {
45 'packages': [{
46 'package': 'gn/gn/linux-amd64',
47 'version': Var('tint_gn_revision'),
48 }],
49 'dep_type': 'cipd',
50 'condition': 'host_os == "linux"',
51 },
52 'buildtools/mac': {
53 'packages': [{
54 'package': 'gn/gn/mac-${{arch}}',
55 'version': Var('tint_gn_revision'),
56 }],
57 'dep_type': 'cipd',
58 'condition': 'host_os == "mac"',
59 },
60 'buildtools/win': {
61 'packages': [{
62 'package': 'gn/gn/windows-amd64',
63 'version': Var('tint_gn_revision'),
64 }],
65 'dep_type': 'cipd',
66 'condition': 'host_os == "win"',
67 },
68
Ryan Harrison3374f432022-03-28 18:01:02 +000069 'buildtools/third_party/libc++/trunk': {
70 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxx.git@79a2e924d96e2fc1e4b937c42efd08898fa472d7',
71 },
Ben Clayton7b0686a2022-01-06 09:23:11 +000072
Ryan Harrison3374f432022-03-28 18:01:02 +000073 'buildtools/third_party/libc++abi/trunk': {
74 'url': '{chromium_git}/external/github.com/llvm/llvm-project/libcxxabi.git@2715a6c0de8dac4c7674934a6b3d30ba0c685271',
75 },
Ben Clayton7b0686a2022-01-06 09:23:11 +000076
Ryan Harrison0a196c12020-04-17 13:18:20 +000077 # Dependencies required for testing
Ryan Harrison3374f432022-03-28 18:01:02 +000078 'testing': {
79 'url': '{chromium_git}/chromium/src/testing@d485ae97b7900c1fb7edfbe2901ae5adcb120865',
80 },
Ryan Harrison0a196c12020-04-17 13:18:20 +000081
Ryan Harrison3374f432022-03-28 18:01:02 +000082 'third_party/catapult': {
83 'url': '{chromium_git}/catapult.git@fa35beefb3429605035f98211ddb8750dee6a13d',
84 },
Ben Clayton7b0686a2022-01-06 09:23:11 +000085
Ryan Harrison3374f432022-03-28 18:01:02 +000086 'third_party/benchmark': {
87 'url': '{chromium_git}/external/github.com/google/benchmark.git@e991355c02b93fe17713efe04cbc2e278e00fdbd',
88 },
Ben Claytonbe2362b2022-01-18 18:58:16 +000089
Ryan Harrison3374f432022-03-28 18:01:02 +000090 'third_party/googletest': {
91 'url': '{chromium_git}/external/github.com/google/googletest.git@6b74da4757a549563d7c37c8fae3e704662a043b',
92 },
Vasyl Teliman0b3611b2021-06-24 18:10:46 +000093
Ryan Harrison3374f432022-03-28 18:01:02 +000094 'third_party/protobuf': {
95 'url': '{chromium_git}/external/github.com/protocolbuffers/protobuf.git@fde7cf7358ec7cd69e8db9be4f1fa6a5c431386a',
96 },
Dan Sinclair6e581892020-03-02 15:47:43 -050097}
Ryan Harrison29628882020-04-08 20:40:25 +000098
99hooks = [
100 # Pull clang-format binaries using checked-in hashes.
101 {
102 'name': 'clang_format_win',
103 'pattern': '.',
104 'condition': 'host_os == "win"',
105 'action': [ 'download_from_google_storage',
106 '--no_resume',
107 '--platform=win32',
108 '--no_auth',
109 '--bucket', 'chromium-clang-format',
110 '-s', 'buildtools/win/clang-format.exe.sha1',
111 ],
112 },
113 {
114 'name': 'clang_format_mac',
115 'pattern': '.',
116 'condition': 'host_os == "mac"',
117 'action': [ 'download_from_google_storage',
118 '--no_resume',
119 '--platform=darwin',
120 '--no_auth',
121 '--bucket', 'chromium-clang-format',
122 '-s', 'buildtools/mac/clang-format.sha1',
123 ],
124 },
125 {
126 'name': 'clang_format_linux',
127 'pattern': '.',
128 'condition': 'host_os == "linux"',
129 'action': [ 'download_from_google_storage',
130 '--no_resume',
131 '--platform=linux*',
132 '--no_auth',
133 '--bucket', 'chromium-clang-format',
134 '-s', 'buildtools/linux64/clang-format.sha1',
135 ],
136 },
137
138 # Pull the compilers and system libraries for hermetic builds
139 {
140 'name': 'sysroot_x86',
141 'pattern': '.',
142 'condition': 'checkout_linux and ((checkout_x86 or checkout_x64))',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000143 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Ryan Harrison29628882020-04-08 20:40:25 +0000144 '--arch=x86'],
145 },
146 {
147 'name': 'sysroot_x64',
148 'pattern': '.',
149 'condition': 'checkout_linux and (checkout_x64)',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000150 'action': ['python3', 'build/linux/sysroot_scripts/install-sysroot.py',
Ryan Harrison29628882020-04-08 20:40:25 +0000151 '--arch=x64'],
152 },
153 {
Ryan Harrison2733c262020-11-16 21:11:19 +0000154 # Update the Mac toolchain if necessary.
155 'name': 'mac_toolchain',
156 'pattern': '.',
157 'condition': 'checkout_mac',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000158 'action': ['python3', 'build/mac_toolchain.py'],
Ryan Harrison2733c262020-11-16 21:11:19 +0000159 },
160 {
Ryan Harrison29628882020-04-08 20:40:25 +0000161 # Update the Windows toolchain if necessary. Must run before 'clang' below.
162 'name': 'win_toolchain',
163 'pattern': '.',
164 'condition': 'checkout_win',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000165 'action': ['python3', 'build/vs_toolchain.py', 'update', '--force'],
Ryan Harrison29628882020-04-08 20:40:25 +0000166 },
167 {
168 # Note: On Win, this should run after win_toolchain, as it may use it.
169 'name': 'clang',
170 'pattern': '.',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000171 'action': ['python3', 'tools/clang/scripts/update.py'],
Ryan Harrison29628882020-04-08 20:40:25 +0000172 },
173 {
174 # Pull rc binaries using checked-in hashes.
175 'name': 'rc_win',
176 'pattern': '.',
177 'condition': 'checkout_win and (host_os == "win")',
178 'action': [ 'download_from_google_storage',
179 '--no_resume',
180 '--no_auth',
181 '--bucket', 'chromium-browser-clang/rc',
182 '-s', 'build/toolchain/win/rc/win/rc.exe.sha1',
183 ],
184 },
Ryan Harrison29628882020-04-08 20:40:25 +0000185 # Update build/util/LASTCHANGE.
186 {
187 'name': 'lastchange',
188 'pattern': '.',
Ben Clayton7b0686a2022-01-06 09:23:11 +0000189 'action': ['python3', 'build/util/lastchange.py',
Ryan Harrison29628882020-04-08 20:40:25 +0000190 '-o', 'build/util/LASTCHANGE'],
191 },
192]
193
194recursedeps = [
195 # buildtools provides clang_format, libc++, and libc++abi
196 'buildtools',
Ryan Harrison3374f432022-03-28 18:01:02 +0000197 # vulkan-deps provides spirv-headers, spirv-tools & gslang
198 # It also provides other Vulkan tools that Tint doesn't use
199 'third_party/vulkan-deps',
Ryan Harrison29628882020-04-08 20:40:25 +0000200]