1use_relative_paths = True
2
3vars = {
4  'chromium_git': 'https://chromium.googlesource.com',
5  'github': 'https://github.com',
6
7  'build_revision': '037f38ae0fe5e11b4f7c33b750fd7a1e9634a606',
8  'buildtools_revision': 'ab7b6a7b350dd15804c87c20ce78982811fdd76f',
9  'clang_revision': 'abe5e4f9dc0f1df848c7a0efa05256253e77a7b7',
10  'effcee_revision': '04b624799f5a9dbaf3fa1dbed2ba9dce2fc8dcf2',
11  'googletest_revision': '98a0d007d7092b72eea0e501bb9ad17908a1a036',
12  'testing_revision': '340252637e2e7c72c0901dcbeeacfff419e19b59',
13  're2_revision': '6cf8ccd82dbaab2668e9b13596c68183c9ecd13f',
14  'spirv_headers_revision': '79b6681aadcb53c27d1052e5f8a0e82a981dbf2f',
15}
16
17deps = {
18  "build":
19    Var('chromium_git') + "/chromium/src/build.git@" + Var('build_revision'),
20
21  'buildtools':
22      Var('chromium_git') + '/chromium/buildtools.git@' +
23          Var('buildtools_revision'),
24
25  'external/spirv-headers':
26      Var('github') +  '/KhronosGroup/SPIRV-Headers.git@' +
27          Var('spirv_headers_revision'),
28
29  'external/googletest':
30      Var('github') + '/google/googletest.git@' + Var('googletest_revision'),
31
32  'external/effcee':
33      Var('github') + '/google/effcee.git@' + Var('effcee_revision'),
34
35  'external/re2':
36      Var('github') + '/google/re2.git@' + Var('re2_revision'),
37
38  'testing':
39      Var('chromium_git') + '/chromium/src/testing@' +
40          Var('testing_revision'),
41
42  'tools/clang':
43      Var('chromium_git') + '/chromium/src/tools/clang@' + Var('clang_revision')
44}
45
46recursedeps = [
47  # buildtools provides clang_format, libc++, and libc++api
48  'buildtools',
49]
50
51hooks = [
52  {
53    'name': 'gn_win',
54    'action': [ 'download_from_google_storage',
55                '--no_resume',
56                '--platform=win32',
57                '--no_auth',
58                '--bucket', 'chromium-gn',
59                '-s', 'SPIRV-Tools/buildtools/win/gn.exe.sha1',
60    ],
61  },
62  {
63    'name': 'gn_mac',
64    'pattern': '.',
65    'action': [ 'download_from_google_storage',
66                '--no_resume',
67                '--platform=darwin',
68                '--no_auth',
69                '--bucket', 'chromium-gn',
70                '-s', 'SPIRV-Tools/buildtools/mac/gn.sha1',
71    ],
72  },
73  {
74    'name': 'gn_linux64',
75    'pattern': '.',
76    'action': [ 'download_from_google_storage',
77                '--no_resume',
78                '--platform=linux*',
79                '--no_auth',
80                '--bucket', 'chromium-gn',
81                '-s', 'SPIRV-Tools/buildtools/linux64/gn.sha1',
82    ],
83  },
84  # Pull clang-format binaries using checked-in hashes.
85  {
86    'name': 'clang_format_win',
87    'pattern': '.',
88    'action': [ 'download_from_google_storage',
89                '--no_resume',
90                '--platform=win32',
91                '--no_auth',
92                '--bucket', 'chromium-clang-format',
93                '-s', 'SPIRV-Tools/buildtools/win/clang-format.exe.sha1',
94    ],
95  },
96  {
97    'name': 'clang_format_mac',
98    'pattern': '.',
99    'action': [ 'download_from_google_storage',
100                '--no_resume',
101                '--platform=darwin',
102                '--no_auth',
103                '--bucket', 'chromium-clang-format',
104                '-s', 'SPIRV-Tools/buildtools/mac/clang-format.sha1',
105    ],
106  },
107  {
108    'name': 'clang_format_linux',
109    'pattern': '.',
110    'action': [ 'download_from_google_storage',
111                '--no_resume',
112                '--platform=linux*',
113                '--no_auth',
114                '--bucket', 'chromium-clang-format',
115                '-s', 'SPIRV-Tools/buildtools/linux64/clang-format.sha1',
116    ],
117  },
118  {
119    # Pull clang
120    'name': 'clang',
121    'pattern': '.',
122    'action': ['python',
123               'SPIRV-Tools/tools/clang/scripts/update.py'
124    ],
125  },
126  {
127    'name': 'sysroot_arm',
128    'pattern': '.',
129    'condition': 'checkout_linux and checkout_arm',
130    'action': ['python', 'SPIRV-Tools/build/linux/sysroot_scripts/install-sysroot.py',
131               '--arch=arm'],
132  },
133  {
134    'name': 'sysroot_arm64',
135    'pattern': '.',
136    'condition': 'checkout_linux and checkout_arm64',
137    'action': ['python', 'SPIRV-Tools/build/linux/sysroot_scripts/install-sysroot.py',
138               '--arch=arm64'],
139  },
140  {
141    'name': 'sysroot_x86',
142    'pattern': '.',
143    'condition': 'checkout_linux and (checkout_x86 or checkout_x64)',
144    'action': ['python', 'SPIRV-Tools/build/linux/sysroot_scripts/install-sysroot.py',
145               '--arch=x86'],
146  },
147  {
148    'name': 'sysroot_mips',
149    'pattern': '.',
150    'condition': 'checkout_linux and checkout_mips',
151    'action': ['python', 'SPIRV-Tools/build/linux/sysroot_scripts/install-sysroot.py',
152               '--arch=mips'],
153  },
154  {
155    'name': 'sysroot_x64',
156    'pattern': '.',
157    'condition': 'checkout_linux and checkout_x64',
158    'action': ['python', 'SPIRV-Tools/build/linux/sysroot_scripts/install-sysroot.py',
159               '--arch=x64'],
160  },
161  {
162    # Update the Windows toolchain if necessary.
163    'name': 'win_toolchain',
164    'pattern': '.',
165    'condition': 'checkout_win',
166    'action': ['python', 'SPIRV-Tools/build/vs_toolchain.py', 'update', '--force'],
167  },
168  {
169    # Update the Mac toolchain if necessary.
170    'name': 'mac_toolchain',
171    'pattern': '.',
172    'action': ['python', 'SPIRV-Tools/build/mac_toolchain.py'],
173  },
174]
175