xref: /aosp_15_r20/external/angle/third_party/spirv-tools/src/BUILD.gn (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1*8975f5c5SAndroid Build Coastguard Worker# Copyright 2018 Google Inc. All rights reserved.
2*8975f5c5SAndroid Build Coastguard Worker#
3*8975f5c5SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*8975f5c5SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*8975f5c5SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*8975f5c5SAndroid Build Coastguard Worker#
7*8975f5c5SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*8975f5c5SAndroid Build Coastguard Worker#
9*8975f5c5SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*8975f5c5SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*8975f5c5SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*8975f5c5SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*8975f5c5SAndroid Build Coastguard Worker# limitations under the License.
14*8975f5c5SAndroid Build Coastguard Worker
15*8975f5c5SAndroid Build Coastguard Workerimport("//build_overrides/build.gni")
16*8975f5c5SAndroid Build Coastguard Workerimport("//build_overrides/spirv_tools.gni")
17*8975f5c5SAndroid Build Coastguard Workerif (build_with_chromium) {
18*8975f5c5SAndroid Build Coastguard Worker  import("//testing/test.gni")
19*8975f5c5SAndroid Build Coastguard Worker  import("//third_party/protobuf/proto_library.gni")
20*8975f5c5SAndroid Build Coastguard Worker}
21*8975f5c5SAndroid Build Coastguard Worker
22*8975f5c5SAndroid Build Coastguard Worker# SPIRV-Tools may be part of multiple projects in the Chromium tree.
23*8975f5c5SAndroid Build Coastguard Worker# Only enable building executables if this is the main copy.
24*8975f5c5SAndroid Build Coastguard Workerabspath = get_path_info(".", "abspath")
25*8975f5c5SAndroid Build Coastguard Workerspvtools_chromium_third_party = (abspath == "//third_party/vulkan-deps/spirv-tools/src/")
26*8975f5c5SAndroid Build Coastguard Workerspvtools_build_executables = build_with_chromium && spvtools_chromium_third_party
27*8975f5c5SAndroid Build Coastguard Worker# Fuchsia also requires building the executables.
28*8975f5c5SAndroid Build Coastguard Worker# TODO(b/158002593): Avoid the use of dependent-specific variables.
29*8975f5c5SAndroid Build Coastguard Workerif (defined(is_fuchsia_tree) && is_fuchsia_tree) {
30*8975f5c5SAndroid Build Coastguard Worker  spvtools_build_executables = true
31*8975f5c5SAndroid Build Coastguard Worker}
32*8975f5c5SAndroid Build Coastguard Worker
33*8975f5c5SAndroid Build Coastguard Workerspirv_headers = spirv_tools_spirv_headers_dir
34*8975f5c5SAndroid Build Coastguard Workerspirv_is_winuwp = is_win && target_os == "winuwp"
35*8975f5c5SAndroid Build Coastguard Worker
36*8975f5c5SAndroid Build Coastguard Workertemplate("spvtools_core_tables") {
37*8975f5c5SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
38*8975f5c5SAndroid Build Coastguard Worker
39*8975f5c5SAndroid Build Coastguard Worker  action("spvtools_core_tables_" + target_name) {
40*8975f5c5SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
41*8975f5c5SAndroid Build Coastguard Worker
42*8975f5c5SAndroid Build Coastguard Worker    version = invoker.version
43*8975f5c5SAndroid Build Coastguard Worker
44*8975f5c5SAndroid Build Coastguard Worker    core_json_file =
45*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
46*8975f5c5SAndroid Build Coastguard Worker    core_insts_file = "${target_gen_dir}/core.insts-$version.inc"
47*8975f5c5SAndroid Build Coastguard Worker    operand_kinds_file = "${target_gen_dir}/operand.kinds-$version.inc"
48*8975f5c5SAndroid Build Coastguard Worker    debuginfo_insts_file =
49*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
50*8975f5c5SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
51*8975f5c5SAndroid Build Coastguard Worker
52*8975f5c5SAndroid Build Coastguard Worker    sources = [
53*8975f5c5SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
54*8975f5c5SAndroid Build Coastguard Worker      core_json_file,
55*8975f5c5SAndroid Build Coastguard Worker      debuginfo_insts_file,
56*8975f5c5SAndroid Build Coastguard Worker    ]
57*8975f5c5SAndroid Build Coastguard Worker    outputs = [
58*8975f5c5SAndroid Build Coastguard Worker      core_insts_file,
59*8975f5c5SAndroid Build Coastguard Worker      operand_kinds_file,
60*8975f5c5SAndroid Build Coastguard Worker    ]
61*8975f5c5SAndroid Build Coastguard Worker    args = [
62*8975f5c5SAndroid Build Coastguard Worker      "--spirv-core-grammar",
63*8975f5c5SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
64*8975f5c5SAndroid Build Coastguard Worker      "--core-insts-output",
65*8975f5c5SAndroid Build Coastguard Worker      rebase_path(core_insts_file, root_build_dir),
66*8975f5c5SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
67*8975f5c5SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
68*8975f5c5SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
69*8975f5c5SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
70*8975f5c5SAndroid Build Coastguard Worker      "--operand-kinds-output",
71*8975f5c5SAndroid Build Coastguard Worker      rebase_path(operand_kinds_file, root_build_dir),
72*8975f5c5SAndroid Build Coastguard Worker      "--output-language",
73*8975f5c5SAndroid Build Coastguard Worker      "c++"
74*8975f5c5SAndroid Build Coastguard Worker    ]
75*8975f5c5SAndroid Build Coastguard Worker  }
76*8975f5c5SAndroid Build Coastguard Worker}
77*8975f5c5SAndroid Build Coastguard Worker
78*8975f5c5SAndroid Build Coastguard Workertemplate("spvtools_core_enums") {
79*8975f5c5SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
80*8975f5c5SAndroid Build Coastguard Worker
81*8975f5c5SAndroid Build Coastguard Worker  action("spvtools_core_enums_" + target_name) {
82*8975f5c5SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
83*8975f5c5SAndroid Build Coastguard Worker
84*8975f5c5SAndroid Build Coastguard Worker    version = invoker.version
85*8975f5c5SAndroid Build Coastguard Worker
86*8975f5c5SAndroid Build Coastguard Worker    core_json_file =
87*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
88*8975f5c5SAndroid Build Coastguard Worker    debuginfo_insts_file =
89*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
90*8975f5c5SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
91*8975f5c5SAndroid Build Coastguard Worker
92*8975f5c5SAndroid Build Coastguard Worker    extension_enum_file = "${target_gen_dir}/extension_enum.inc"
93*8975f5c5SAndroid Build Coastguard Worker    extension_map_file = "${target_gen_dir}/enum_string_mapping.inc"
94*8975f5c5SAndroid Build Coastguard Worker
95*8975f5c5SAndroid Build Coastguard Worker    args = [
96*8975f5c5SAndroid Build Coastguard Worker      "--spirv-core-grammar",
97*8975f5c5SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
98*8975f5c5SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
99*8975f5c5SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
100*8975f5c5SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
101*8975f5c5SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
102*8975f5c5SAndroid Build Coastguard Worker      "--extension-enum-output",
103*8975f5c5SAndroid Build Coastguard Worker      rebase_path(extension_enum_file, root_build_dir),
104*8975f5c5SAndroid Build Coastguard Worker      "--enum-string-mapping-output",
105*8975f5c5SAndroid Build Coastguard Worker      rebase_path(extension_map_file, root_build_dir),
106*8975f5c5SAndroid Build Coastguard Worker      "--output-language",
107*8975f5c5SAndroid Build Coastguard Worker      "c++"
108*8975f5c5SAndroid Build Coastguard Worker    ]
109*8975f5c5SAndroid Build Coastguard Worker    inputs = [
110*8975f5c5SAndroid Build Coastguard Worker      core_json_file,
111*8975f5c5SAndroid Build Coastguard Worker      debuginfo_insts_file,
112*8975f5c5SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
113*8975f5c5SAndroid Build Coastguard Worker    ]
114*8975f5c5SAndroid Build Coastguard Worker    outputs = [
115*8975f5c5SAndroid Build Coastguard Worker      extension_enum_file,
116*8975f5c5SAndroid Build Coastguard Worker      extension_map_file,
117*8975f5c5SAndroid Build Coastguard Worker    ]
118*8975f5c5SAndroid Build Coastguard Worker  }
119*8975f5c5SAndroid Build Coastguard Worker}
120*8975f5c5SAndroid Build Coastguard Worker
121*8975f5c5SAndroid Build Coastguard Workertemplate("spvtools_glsl_tables") {
122*8975f5c5SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
123*8975f5c5SAndroid Build Coastguard Worker
124*8975f5c5SAndroid Build Coastguard Worker  action("spvtools_glsl_tables_" + target_name) {
125*8975f5c5SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
126*8975f5c5SAndroid Build Coastguard Worker
127*8975f5c5SAndroid Build Coastguard Worker    version = invoker.version
128*8975f5c5SAndroid Build Coastguard Worker
129*8975f5c5SAndroid Build Coastguard Worker    core_json_file =
130*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
131*8975f5c5SAndroid Build Coastguard Worker    glsl_json_file = "${spirv_headers}/include/spirv/${version}/extinst.glsl.std.450.grammar.json"
132*8975f5c5SAndroid Build Coastguard Worker    debuginfo_insts_file =
133*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
134*8975f5c5SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
135*8975f5c5SAndroid Build Coastguard Worker
136*8975f5c5SAndroid Build Coastguard Worker    glsl_insts_file = "${target_gen_dir}/glsl.std.450.insts.inc"
137*8975f5c5SAndroid Build Coastguard Worker
138*8975f5c5SAndroid Build Coastguard Worker    args = [
139*8975f5c5SAndroid Build Coastguard Worker      "--spirv-core-grammar",
140*8975f5c5SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
141*8975f5c5SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
142*8975f5c5SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
143*8975f5c5SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
144*8975f5c5SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
145*8975f5c5SAndroid Build Coastguard Worker      "--extinst-glsl-grammar",
146*8975f5c5SAndroid Build Coastguard Worker      rebase_path(glsl_json_file, root_build_dir),
147*8975f5c5SAndroid Build Coastguard Worker      "--glsl-insts-output",
148*8975f5c5SAndroid Build Coastguard Worker      rebase_path(glsl_insts_file, root_build_dir),
149*8975f5c5SAndroid Build Coastguard Worker      "--output-language",
150*8975f5c5SAndroid Build Coastguard Worker      "c++"
151*8975f5c5SAndroid Build Coastguard Worker    ]
152*8975f5c5SAndroid Build Coastguard Worker    inputs = [
153*8975f5c5SAndroid Build Coastguard Worker      core_json_file,
154*8975f5c5SAndroid Build Coastguard Worker      glsl_json_file,
155*8975f5c5SAndroid Build Coastguard Worker      debuginfo_insts_file,
156*8975f5c5SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
157*8975f5c5SAndroid Build Coastguard Worker    ]
158*8975f5c5SAndroid Build Coastguard Worker    outputs = [ glsl_insts_file ]
159*8975f5c5SAndroid Build Coastguard Worker  }
160*8975f5c5SAndroid Build Coastguard Worker}
161*8975f5c5SAndroid Build Coastguard Worker
162*8975f5c5SAndroid Build Coastguard Workertemplate("spvtools_opencl_tables") {
163*8975f5c5SAndroid Build Coastguard Worker  assert(defined(invoker.version), "Need version in $target_name generation.")
164*8975f5c5SAndroid Build Coastguard Worker
165*8975f5c5SAndroid Build Coastguard Worker  action("spvtools_opencl_tables_" + target_name) {
166*8975f5c5SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
167*8975f5c5SAndroid Build Coastguard Worker
168*8975f5c5SAndroid Build Coastguard Worker    version = invoker.version
169*8975f5c5SAndroid Build Coastguard Worker
170*8975f5c5SAndroid Build Coastguard Worker    core_json_file =
171*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/$version/spirv.core.grammar.json"
172*8975f5c5SAndroid Build Coastguard Worker    opencl_json_file = "${spirv_headers}/include/spirv/${version}/extinst.opencl.std.100.grammar.json"
173*8975f5c5SAndroid Build Coastguard Worker    debuginfo_insts_file =
174*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
175*8975f5c5SAndroid Build Coastguard Worker    cldebuginfo100_insts_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
176*8975f5c5SAndroid Build Coastguard Worker
177*8975f5c5SAndroid Build Coastguard Worker    opencl_insts_file = "${target_gen_dir}/opencl.std.insts.inc"
178*8975f5c5SAndroid Build Coastguard Worker
179*8975f5c5SAndroid Build Coastguard Worker    args = [
180*8975f5c5SAndroid Build Coastguard Worker      "--spirv-core-grammar",
181*8975f5c5SAndroid Build Coastguard Worker      rebase_path(core_json_file, root_build_dir),
182*8975f5c5SAndroid Build Coastguard Worker      "--extinst-debuginfo-grammar",
183*8975f5c5SAndroid Build Coastguard Worker      rebase_path(debuginfo_insts_file, root_build_dir),
184*8975f5c5SAndroid Build Coastguard Worker      "--extinst-cldebuginfo100-grammar",
185*8975f5c5SAndroid Build Coastguard Worker      rebase_path(cldebuginfo100_insts_file, root_build_dir),
186*8975f5c5SAndroid Build Coastguard Worker      "--extinst-opencl-grammar",
187*8975f5c5SAndroid Build Coastguard Worker      rebase_path(opencl_json_file, root_build_dir),
188*8975f5c5SAndroid Build Coastguard Worker      "--opencl-insts-output",
189*8975f5c5SAndroid Build Coastguard Worker      rebase_path(opencl_insts_file, root_build_dir),
190*8975f5c5SAndroid Build Coastguard Worker    ]
191*8975f5c5SAndroid Build Coastguard Worker    inputs = [
192*8975f5c5SAndroid Build Coastguard Worker      core_json_file,
193*8975f5c5SAndroid Build Coastguard Worker      opencl_json_file,
194*8975f5c5SAndroid Build Coastguard Worker      debuginfo_insts_file,
195*8975f5c5SAndroid Build Coastguard Worker      cldebuginfo100_insts_file,
196*8975f5c5SAndroid Build Coastguard Worker    ]
197*8975f5c5SAndroid Build Coastguard Worker    outputs = [ opencl_insts_file ]
198*8975f5c5SAndroid Build Coastguard Worker  }
199*8975f5c5SAndroid Build Coastguard Worker}
200*8975f5c5SAndroid Build Coastguard Worker
201*8975f5c5SAndroid Build Coastguard Workertemplate("spvtools_language_header") {
202*8975f5c5SAndroid Build Coastguard Worker  assert(defined(invoker.name), "Need name in $target_name generation.")
203*8975f5c5SAndroid Build Coastguard Worker
204*8975f5c5SAndroid Build Coastguard Worker  action("spvtools_language_header_" + target_name) {
205*8975f5c5SAndroid Build Coastguard Worker    script = "utils/generate_language_headers.py"
206*8975f5c5SAndroid Build Coastguard Worker
207*8975f5c5SAndroid Build Coastguard Worker    name = invoker.name
208*8975f5c5SAndroid Build Coastguard Worker    extinst_output_path = "${target_gen_dir}/${name}.h"
209*8975f5c5SAndroid Build Coastguard Worker
210*8975f5c5SAndroid Build Coastguard Worker    args = [
211*8975f5c5SAndroid Build Coastguard Worker      "--extinst-grammar",
212*8975f5c5SAndroid Build Coastguard Worker      rebase_path(invoker.grammar_file, root_build_dir),
213*8975f5c5SAndroid Build Coastguard Worker      "--extinst-output-path",
214*8975f5c5SAndroid Build Coastguard Worker      rebase_path(extinst_output_path, root_build_dir),
215*8975f5c5SAndroid Build Coastguard Worker    ]
216*8975f5c5SAndroid Build Coastguard Worker    inputs = [ invoker.grammar_file ]
217*8975f5c5SAndroid Build Coastguard Worker    outputs = [ "${extinst_output_path}" ]
218*8975f5c5SAndroid Build Coastguard Worker  }
219*8975f5c5SAndroid Build Coastguard Worker}
220*8975f5c5SAndroid Build Coastguard Worker
221*8975f5c5SAndroid Build Coastguard Workertemplate("spvtools_vendor_table") {
222*8975f5c5SAndroid Build Coastguard Worker  assert(defined(invoker.name), "Need name in $target_name generation.")
223*8975f5c5SAndroid Build Coastguard Worker
224*8975f5c5SAndroid Build Coastguard Worker  action("spvtools_vendor_tables_" + target_name) {
225*8975f5c5SAndroid Build Coastguard Worker    script = "utils/generate_grammar_tables.py"
226*8975f5c5SAndroid Build Coastguard Worker
227*8975f5c5SAndroid Build Coastguard Worker    name = invoker.name
228*8975f5c5SAndroid Build Coastguard Worker    extinst_vendor_grammar =
229*8975f5c5SAndroid Build Coastguard Worker        "${spirv_headers}/include/spirv/unified1/extinst.${name}.grammar.json"
230*8975f5c5SAndroid Build Coastguard Worker    extinst_file = "${target_gen_dir}/${name}.insts.inc"
231*8975f5c5SAndroid Build Coastguard Worker
232*8975f5c5SAndroid Build Coastguard Worker    args = [
233*8975f5c5SAndroid Build Coastguard Worker      "--extinst-vendor-grammar",
234*8975f5c5SAndroid Build Coastguard Worker      rebase_path(extinst_vendor_grammar, root_build_dir),
235*8975f5c5SAndroid Build Coastguard Worker      "--vendor-insts-output",
236*8975f5c5SAndroid Build Coastguard Worker      rebase_path(extinst_file, root_build_dir),
237*8975f5c5SAndroid Build Coastguard Worker      "--vendor-operand-kind-prefix",
238*8975f5c5SAndroid Build Coastguard Worker      invoker.operand_kind_prefix,
239*8975f5c5SAndroid Build Coastguard Worker    ]
240*8975f5c5SAndroid Build Coastguard Worker    inputs = [ extinst_vendor_grammar ]
241*8975f5c5SAndroid Build Coastguard Worker    outputs = [ extinst_file ]
242*8975f5c5SAndroid Build Coastguard Worker  }
243*8975f5c5SAndroid Build Coastguard Worker}
244*8975f5c5SAndroid Build Coastguard Worker
245*8975f5c5SAndroid Build Coastguard Workeraction("spvtools_generators_inc") {
246*8975f5c5SAndroid Build Coastguard Worker  script = "utils/generate_registry_tables.py"
247*8975f5c5SAndroid Build Coastguard Worker
248*8975f5c5SAndroid Build Coastguard Worker  # TODO(dsinclair): Make work for chrome
249*8975f5c5SAndroid Build Coastguard Worker  xml_file = "${spirv_headers}/include/spirv/spir-v.xml"
250*8975f5c5SAndroid Build Coastguard Worker  inc_file = "${target_gen_dir}/generators.inc"
251*8975f5c5SAndroid Build Coastguard Worker
252*8975f5c5SAndroid Build Coastguard Worker  sources = [ xml_file ]
253*8975f5c5SAndroid Build Coastguard Worker  outputs = [ inc_file ]
254*8975f5c5SAndroid Build Coastguard Worker  args = [
255*8975f5c5SAndroid Build Coastguard Worker    "--xml",
256*8975f5c5SAndroid Build Coastguard Worker    rebase_path(xml_file, root_build_dir),
257*8975f5c5SAndroid Build Coastguard Worker    "--generator",
258*8975f5c5SAndroid Build Coastguard Worker    rebase_path(inc_file, root_build_dir),
259*8975f5c5SAndroid Build Coastguard Worker  ]
260*8975f5c5SAndroid Build Coastguard Worker}
261*8975f5c5SAndroid Build Coastguard Worker
262*8975f5c5SAndroid Build Coastguard Workeraction("spvtools_build_version") {
263*8975f5c5SAndroid Build Coastguard Worker  script = "utils/update_build_version.py"
264*8975f5c5SAndroid Build Coastguard Worker
265*8975f5c5SAndroid Build Coastguard Worker  changes_file = "CHANGES"
266*8975f5c5SAndroid Build Coastguard Worker  inc_file = "${target_gen_dir}/build-version.inc"
267*8975f5c5SAndroid Build Coastguard Worker
268*8975f5c5SAndroid Build Coastguard Worker  outputs = [ inc_file ]
269*8975f5c5SAndroid Build Coastguard Worker  args = [
270*8975f5c5SAndroid Build Coastguard Worker    rebase_path(changes_file, root_build_dir),
271*8975f5c5SAndroid Build Coastguard Worker    rebase_path(inc_file, root_build_dir),
272*8975f5c5SAndroid Build Coastguard Worker  ]
273*8975f5c5SAndroid Build Coastguard Worker}
274*8975f5c5SAndroid Build Coastguard Worker
275*8975f5c5SAndroid Build Coastguard Workerspvtools_core_tables("unified1") {
276*8975f5c5SAndroid Build Coastguard Worker  version = "unified1"
277*8975f5c5SAndroid Build Coastguard Worker}
278*8975f5c5SAndroid Build Coastguard Workerspvtools_core_enums("unified1") {
279*8975f5c5SAndroid Build Coastguard Worker  version = "unified1"
280*8975f5c5SAndroid Build Coastguard Worker}
281*8975f5c5SAndroid Build Coastguard Workerspvtools_glsl_tables("glsl1-0") {
282*8975f5c5SAndroid Build Coastguard Worker  version = "1.0"
283*8975f5c5SAndroid Build Coastguard Worker}
284*8975f5c5SAndroid Build Coastguard Workerspvtools_opencl_tables("opencl1-0") {
285*8975f5c5SAndroid Build Coastguard Worker  version = "1.0"
286*8975f5c5SAndroid Build Coastguard Worker}
287*8975f5c5SAndroid Build Coastguard Workerspvtools_language_header("debuginfo") {
288*8975f5c5SAndroid Build Coastguard Worker  name = "DebugInfo"
289*8975f5c5SAndroid Build Coastguard Worker  grammar_file =
290*8975f5c5SAndroid Build Coastguard Worker      "${spirv_headers}/include/spirv/unified1/extinst.debuginfo.grammar.json"
291*8975f5c5SAndroid Build Coastguard Worker}
292*8975f5c5SAndroid Build Coastguard Workerspvtools_language_header("cldebuginfo100") {
293*8975f5c5SAndroid Build Coastguard Worker  name = "OpenCLDebugInfo100"
294*8975f5c5SAndroid Build Coastguard Worker  grammar_file = "${spirv_headers}/include/spirv/unified1/extinst.opencl.debuginfo.100.grammar.json"
295*8975f5c5SAndroid Build Coastguard Worker}
296*8975f5c5SAndroid Build Coastguard Workerspvtools_language_header("vkdebuginfo100") {
297*8975f5c5SAndroid Build Coastguard Worker  name = "NonSemanticShaderDebugInfo100"
298*8975f5c5SAndroid Build Coastguard Worker  grammar_file = "${spirv_headers}/include/spirv/unified1/extinst.nonsemantic.shader.debuginfo.100.grammar.json"
299*8975f5c5SAndroid Build Coastguard Worker}
300*8975f5c5SAndroid Build Coastguard Worker
301*8975f5c5SAndroid Build Coastguard Workerspvtools_vendor_tables = [
302*8975f5c5SAndroid Build Coastguard Worker  [
303*8975f5c5SAndroid Build Coastguard Worker    "spv-amd-shader-explicit-vertex-parameter",
304*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
305*8975f5c5SAndroid Build Coastguard Worker  ],
306*8975f5c5SAndroid Build Coastguard Worker  [
307*8975f5c5SAndroid Build Coastguard Worker    "spv-amd-shader-trinary-minmax",
308*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
309*8975f5c5SAndroid Build Coastguard Worker  ],
310*8975f5c5SAndroid Build Coastguard Worker  [
311*8975f5c5SAndroid Build Coastguard Worker    "spv-amd-gcn-shader",
312*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
313*8975f5c5SAndroid Build Coastguard Worker  ],
314*8975f5c5SAndroid Build Coastguard Worker  [
315*8975f5c5SAndroid Build Coastguard Worker    "spv-amd-shader-ballot",
316*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
317*8975f5c5SAndroid Build Coastguard Worker  ],
318*8975f5c5SAndroid Build Coastguard Worker  [
319*8975f5c5SAndroid Build Coastguard Worker    "debuginfo",
320*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
321*8975f5c5SAndroid Build Coastguard Worker  ],
322*8975f5c5SAndroid Build Coastguard Worker  [
323*8975f5c5SAndroid Build Coastguard Worker    "opencl.debuginfo.100",
324*8975f5c5SAndroid Build Coastguard Worker    "CLDEBUG100_",
325*8975f5c5SAndroid Build Coastguard Worker  ],
326*8975f5c5SAndroid Build Coastguard Worker  [
327*8975f5c5SAndroid Build Coastguard Worker    "nonsemantic.clspvreflection",
328*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
329*8975f5c5SAndroid Build Coastguard Worker  ],
330*8975f5c5SAndroid Build Coastguard Worker  [
331*8975f5c5SAndroid Build Coastguard Worker    "nonsemantic.vkspreflection",
332*8975f5c5SAndroid Build Coastguard Worker    "...nil...",
333*8975f5c5SAndroid Build Coastguard Worker  ],
334*8975f5c5SAndroid Build Coastguard Worker  [
335*8975f5c5SAndroid Build Coastguard Worker    "nonsemantic.shader.debuginfo.100",
336*8975f5c5SAndroid Build Coastguard Worker    "SHDEBUG100_",
337*8975f5c5SAndroid Build Coastguard Worker  ],
338*8975f5c5SAndroid Build Coastguard Worker]
339*8975f5c5SAndroid Build Coastguard Worker
340*8975f5c5SAndroid Build Coastguard Workerforeach(table_def, spvtools_vendor_tables) {
341*8975f5c5SAndroid Build Coastguard Worker  spvtools_vendor_table(table_def[0]) {
342*8975f5c5SAndroid Build Coastguard Worker    name = table_def[0]
343*8975f5c5SAndroid Build Coastguard Worker    operand_kind_prefix = table_def[1]
344*8975f5c5SAndroid Build Coastguard Worker  }
345*8975f5c5SAndroid Build Coastguard Worker}
346*8975f5c5SAndroid Build Coastguard Worker
347*8975f5c5SAndroid Build Coastguard Workerconfig("spvtools_public_config") {
348*8975f5c5SAndroid Build Coastguard Worker  include_dirs = [ "include" ]
349*8975f5c5SAndroid Build Coastguard Worker}
350*8975f5c5SAndroid Build Coastguard Worker
351*8975f5c5SAndroid Build Coastguard Workerconfig("spvtools_include_gen_dirs") {
352*8975f5c5SAndroid Build Coastguard Worker  include_dirs = [ "$target_gen_dir" ]
353*8975f5c5SAndroid Build Coastguard Worker}
354*8975f5c5SAndroid Build Coastguard Worker
355*8975f5c5SAndroid Build Coastguard Workerconfig("spvtools_internal_config") {
356*8975f5c5SAndroid Build Coastguard Worker  include_dirs = [
357*8975f5c5SAndroid Build Coastguard Worker    ".",
358*8975f5c5SAndroid Build Coastguard Worker    "${spirv_headers}/include",
359*8975f5c5SAndroid Build Coastguard Worker  ]
360*8975f5c5SAndroid Build Coastguard Worker
361*8975f5c5SAndroid Build Coastguard Worker  configs = [
362*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_public_config",
363*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_include_gen_dirs",
364*8975f5c5SAndroid Build Coastguard Worker  ]
365*8975f5c5SAndroid Build Coastguard Worker
366*8975f5c5SAndroid Build Coastguard Worker  cflags = []
367*8975f5c5SAndroid Build Coastguard Worker  if (is_clang) {
368*8975f5c5SAndroid Build Coastguard Worker    cflags += [
369*8975f5c5SAndroid Build Coastguard Worker      "-Wno-implicit-fallthrough",
370*8975f5c5SAndroid Build Coastguard Worker      "-Wno-newline-eof",
371*8975f5c5SAndroid Build Coastguard Worker      "-Wno-unreachable-code-break",
372*8975f5c5SAndroid Build Coastguard Worker      "-Wno-unreachable-code-return",
373*8975f5c5SAndroid Build Coastguard Worker    ]
374*8975f5c5SAndroid Build Coastguard Worker  } else if (!is_win) {
375*8975f5c5SAndroid Build Coastguard Worker    # Work around a false-positive on a Skia GCC 10 builder.
376*8975f5c5SAndroid Build Coastguard Worker    cflags += [ "-Wno-format-truncation" ]
377*8975f5c5SAndroid Build Coastguard Worker  } else {
378*8975f5c5SAndroid Build Coastguard Worker    # Make MSVC report the correct value for __cplusplus
379*8975f5c5SAndroid Build Coastguard Worker    cflags += [ "/Zc:__cplusplus" ]
380*8975f5c5SAndroid Build Coastguard Worker  }
381*8975f5c5SAndroid Build Coastguard Worker
382*8975f5c5SAndroid Build Coastguard Worker  if (!is_win) {
383*8975f5c5SAndroid Build Coastguard Worker    cflags += [ "-std=c++17" ]
384*8975f5c5SAndroid Build Coastguard Worker  } else {
385*8975f5c5SAndroid Build Coastguard Worker    cflags += [ "/std:c++17" ]
386*8975f5c5SAndroid Build Coastguard Worker  }
387*8975f5c5SAndroid Build Coastguard Worker}
388*8975f5c5SAndroid Build Coastguard Worker
389*8975f5c5SAndroid Build Coastguard Workersource_set("spvtools_headers") {
390*8975f5c5SAndroid Build Coastguard Worker  sources = [
391*8975f5c5SAndroid Build Coastguard Worker    "include/spirv-tools/libspirv.h",
392*8975f5c5SAndroid Build Coastguard Worker    "include/spirv-tools/libspirv.hpp",
393*8975f5c5SAndroid Build Coastguard Worker    "include/spirv-tools/linker.hpp",
394*8975f5c5SAndroid Build Coastguard Worker    "include/spirv-tools/optimizer.hpp",
395*8975f5c5SAndroid Build Coastguard Worker  ]
396*8975f5c5SAndroid Build Coastguard Worker
397*8975f5c5SAndroid Build Coastguard Worker  public_configs = [ ":spvtools_public_config" ]
398*8975f5c5SAndroid Build Coastguard Worker}
399*8975f5c5SAndroid Build Coastguard Worker
400*8975f5c5SAndroid Build Coastguard Workergroup("spvtools_language_headers") {
401*8975f5c5SAndroid Build Coastguard Worker  public_deps = [
402*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
403*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
404*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
405*8975f5c5SAndroid Build Coastguard Worker  ]
406*8975f5c5SAndroid Build Coastguard Worker}
407*8975f5c5SAndroid Build Coastguard Worker
408*8975f5c5SAndroid Build Coastguard Workerstatic_library("spvtools") {
409*8975f5c5SAndroid Build Coastguard Worker  deps = [
410*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_core_tables_unified1",
411*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_generators_inc",
412*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_glsl_tables_glsl1-0",
413*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
414*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
415*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
416*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_opencl_tables_opencl1-0",
417*8975f5c5SAndroid Build Coastguard Worker  ]
418*8975f5c5SAndroid Build Coastguard Worker  foreach(table_def, spvtools_vendor_tables) {
419*8975f5c5SAndroid Build Coastguard Worker    target_name = table_def[0]
420*8975f5c5SAndroid Build Coastguard Worker    deps += [ ":spvtools_vendor_tables_$target_name" ]
421*8975f5c5SAndroid Build Coastguard Worker  }
422*8975f5c5SAndroid Build Coastguard Worker
423*8975f5c5SAndroid Build Coastguard Worker  sources = [
424*8975f5c5SAndroid Build Coastguard Worker    "source/assembly_grammar.cpp",
425*8975f5c5SAndroid Build Coastguard Worker    "source/assembly_grammar.h",
426*8975f5c5SAndroid Build Coastguard Worker    "source/binary.cpp",
427*8975f5c5SAndroid Build Coastguard Worker    "source/binary.h",
428*8975f5c5SAndroid Build Coastguard Worker    "source/cfa.h",
429*8975f5c5SAndroid Build Coastguard Worker    "source/common_debug_info.h",
430*8975f5c5SAndroid Build Coastguard Worker    "source/diagnostic.cpp",
431*8975f5c5SAndroid Build Coastguard Worker    "source/diagnostic.h",
432*8975f5c5SAndroid Build Coastguard Worker    "source/disassemble.cpp",
433*8975f5c5SAndroid Build Coastguard Worker    "source/disassemble.h",
434*8975f5c5SAndroid Build Coastguard Worker    "source/enum_set.h",
435*8975f5c5SAndroid Build Coastguard Worker    "source/enum_string_mapping.cpp",
436*8975f5c5SAndroid Build Coastguard Worker    "source/enum_string_mapping.h",
437*8975f5c5SAndroid Build Coastguard Worker    "source/ext_inst.cpp",
438*8975f5c5SAndroid Build Coastguard Worker    "source/ext_inst.h",
439*8975f5c5SAndroid Build Coastguard Worker    "source/extensions.cpp",
440*8975f5c5SAndroid Build Coastguard Worker    "source/extensions.h",
441*8975f5c5SAndroid Build Coastguard Worker    "source/instruction.h",
442*8975f5c5SAndroid Build Coastguard Worker    "source/latest_version_glsl_std_450_header.h",
443*8975f5c5SAndroid Build Coastguard Worker    "source/latest_version_opencl_std_header.h",
444*8975f5c5SAndroid Build Coastguard Worker    "source/latest_version_spirv_header.h",
445*8975f5c5SAndroid Build Coastguard Worker    "source/libspirv.cpp",
446*8975f5c5SAndroid Build Coastguard Worker    "source/macro.h",
447*8975f5c5SAndroid Build Coastguard Worker    "source/name_mapper.cpp",
448*8975f5c5SAndroid Build Coastguard Worker    "source/name_mapper.h",
449*8975f5c5SAndroid Build Coastguard Worker    "source/opcode.cpp",
450*8975f5c5SAndroid Build Coastguard Worker    "source/opcode.h",
451*8975f5c5SAndroid Build Coastguard Worker    "source/operand.cpp",
452*8975f5c5SAndroid Build Coastguard Worker    "source/operand.h",
453*8975f5c5SAndroid Build Coastguard Worker    "source/parsed_operand.cpp",
454*8975f5c5SAndroid Build Coastguard Worker    "source/parsed_operand.h",
455*8975f5c5SAndroid Build Coastguard Worker    "source/print.cpp",
456*8975f5c5SAndroid Build Coastguard Worker    "source/print.h",
457*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_constant.h",
458*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_definition.h",
459*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_endian.cpp",
460*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_endian.h",
461*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_fuzzer_options.cpp",
462*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_fuzzer_options.h",
463*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_optimizer_options.cpp",
464*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_optimizer_options.h",
465*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_reducer_options.cpp",
466*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_reducer_options.h",
467*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_target_env.cpp",
468*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_target_env.h",
469*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_validator_options.cpp",
470*8975f5c5SAndroid Build Coastguard Worker    "source/spirv_validator_options.h",
471*8975f5c5SAndroid Build Coastguard Worker    "source/table.cpp",
472*8975f5c5SAndroid Build Coastguard Worker    "source/table.h",
473*8975f5c5SAndroid Build Coastguard Worker    "source/text.cpp",
474*8975f5c5SAndroid Build Coastguard Worker    "source/text.h",
475*8975f5c5SAndroid Build Coastguard Worker    "source/text_handler.cpp",
476*8975f5c5SAndroid Build Coastguard Worker    "source/text_handler.h",
477*8975f5c5SAndroid Build Coastguard Worker    "source/to_string.cpp",
478*8975f5c5SAndroid Build Coastguard Worker    "source/to_string.h",
479*8975f5c5SAndroid Build Coastguard Worker    "source/util/bit_vector.cpp",
480*8975f5c5SAndroid Build Coastguard Worker    "source/util/bit_vector.h",
481*8975f5c5SAndroid Build Coastguard Worker    "source/util/bitutils.h",
482*8975f5c5SAndroid Build Coastguard Worker    "source/util/hash_combine.h",
483*8975f5c5SAndroid Build Coastguard Worker    "source/util/hex_float.h",
484*8975f5c5SAndroid Build Coastguard Worker    "source/util/ilist.h",
485*8975f5c5SAndroid Build Coastguard Worker    "source/util/ilist_node.h",
486*8975f5c5SAndroid Build Coastguard Worker    "source/util/make_unique.h",
487*8975f5c5SAndroid Build Coastguard Worker    "source/util/parse_number.cpp",
488*8975f5c5SAndroid Build Coastguard Worker    "source/util/parse_number.h",
489*8975f5c5SAndroid Build Coastguard Worker    "source/util/small_vector.h",
490*8975f5c5SAndroid Build Coastguard Worker    "source/util/string_utils.cpp",
491*8975f5c5SAndroid Build Coastguard Worker    "source/util/string_utils.h",
492*8975f5c5SAndroid Build Coastguard Worker    "source/util/timer.cpp",
493*8975f5c5SAndroid Build Coastguard Worker    "source/util/timer.h",
494*8975f5c5SAndroid Build Coastguard Worker  ]
495*8975f5c5SAndroid Build Coastguard Worker
496*8975f5c5SAndroid Build Coastguard Worker  public_deps = [
497*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_core_enums_unified1",
498*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_headers",
499*8975f5c5SAndroid Build Coastguard Worker    "${spirv_headers}:spv_headers",
500*8975f5c5SAndroid Build Coastguard Worker  ]
501*8975f5c5SAndroid Build Coastguard Worker
502*8975f5c5SAndroid Build Coastguard Worker  if (build_with_chromium) {
503*8975f5c5SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
504*8975f5c5SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
505*8975f5c5SAndroid Build Coastguard Worker  }
506*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
507*8975f5c5SAndroid Build Coastguard Worker}
508*8975f5c5SAndroid Build Coastguard Worker
509*8975f5c5SAndroid Build Coastguard Workerstatic_library("spvtools_val") {
510*8975f5c5SAndroid Build Coastguard Worker  sources = [
511*8975f5c5SAndroid Build Coastguard Worker    "source/val/basic_block.cpp",
512*8975f5c5SAndroid Build Coastguard Worker    "source/val/basic_block.h",
513*8975f5c5SAndroid Build Coastguard Worker    "source/val/construct.cpp",
514*8975f5c5SAndroid Build Coastguard Worker    "source/val/construct.h",
515*8975f5c5SAndroid Build Coastguard Worker    "source/val/decoration.h",
516*8975f5c5SAndroid Build Coastguard Worker    "source/val/function.cpp",
517*8975f5c5SAndroid Build Coastguard Worker    "source/val/function.h",
518*8975f5c5SAndroid Build Coastguard Worker    "source/val/instruction.cpp",
519*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate.cpp",
520*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate.h",
521*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_adjacency.cpp",
522*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_annotation.cpp",
523*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_arithmetics.cpp",
524*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_atomics.cpp",
525*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_barriers.cpp",
526*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_bitwise.cpp",
527*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_builtins.cpp",
528*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_capability.cpp",
529*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_cfg.cpp",
530*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_composites.cpp",
531*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_constants.cpp",
532*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_conversion.cpp",
533*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_debug.cpp",
534*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_decorations.cpp",
535*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_derivatives.cpp",
536*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_execution_limitations.cpp",
537*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_extensions.cpp",
538*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_function.cpp",
539*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_id.cpp",
540*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_image.cpp",
541*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_instruction.cpp",
542*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_interfaces.cpp",
543*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_layout.cpp",
544*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_literals.cpp",
545*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_logicals.cpp",
546*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_memory.cpp",
547*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_memory_semantics.cpp",
548*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_memory_semantics.h",
549*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_mesh_shading.cpp",
550*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_misc.cpp",
551*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_mode_setting.cpp",
552*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_non_uniform.cpp",
553*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_primitives.cpp",
554*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_ray_query.cpp",
555*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_ray_tracing.cpp",
556*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_ray_tracing_reorder.cpp",
557*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_scopes.cpp",
558*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_scopes.h",
559*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_small_type_uses.cpp",
560*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_tensor_layout.cpp",
561*8975f5c5SAndroid Build Coastguard Worker    "source/val/validate_type.cpp",
562*8975f5c5SAndroid Build Coastguard Worker    "source/val/validation_state.cpp",
563*8975f5c5SAndroid Build Coastguard Worker    "source/val/validation_state.h",
564*8975f5c5SAndroid Build Coastguard Worker  ]
565*8975f5c5SAndroid Build Coastguard Worker
566*8975f5c5SAndroid Build Coastguard Worker  deps = [
567*8975f5c5SAndroid Build Coastguard Worker    ":spvtools",
568*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
569*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
570*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
571*8975f5c5SAndroid Build Coastguard Worker  ]
572*8975f5c5SAndroid Build Coastguard Worker  public_deps = [ ":spvtools_headers" ]
573*8975f5c5SAndroid Build Coastguard Worker
574*8975f5c5SAndroid Build Coastguard Worker  if (build_with_chromium) {
575*8975f5c5SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
576*8975f5c5SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
577*8975f5c5SAndroid Build Coastguard Worker  }
578*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
579*8975f5c5SAndroid Build Coastguard Worker}
580*8975f5c5SAndroid Build Coastguard Worker
581*8975f5c5SAndroid Build Coastguard Workerstatic_library("spvtools_opt") {
582*8975f5c5SAndroid Build Coastguard Worker  sources = [
583*8975f5c5SAndroid Build Coastguard Worker    "source/opt/aggressive_dead_code_elim_pass.cpp",
584*8975f5c5SAndroid Build Coastguard Worker    "source/opt/aggressive_dead_code_elim_pass.h",
585*8975f5c5SAndroid Build Coastguard Worker    "source/opt/amd_ext_to_khr.cpp",
586*8975f5c5SAndroid Build Coastguard Worker    "source/opt/amd_ext_to_khr.h",
587*8975f5c5SAndroid Build Coastguard Worker    "source/opt/analyze_live_input_pass.cpp",
588*8975f5c5SAndroid Build Coastguard Worker    "source/opt/analyze_live_input_pass.h",
589*8975f5c5SAndroid Build Coastguard Worker    "source/opt/basic_block.cpp",
590*8975f5c5SAndroid Build Coastguard Worker    "source/opt/basic_block.h",
591*8975f5c5SAndroid Build Coastguard Worker    "source/opt/block_merge_pass.cpp",
592*8975f5c5SAndroid Build Coastguard Worker    "source/opt/block_merge_pass.h",
593*8975f5c5SAndroid Build Coastguard Worker    "source/opt/block_merge_util.cpp",
594*8975f5c5SAndroid Build Coastguard Worker    "source/opt/block_merge_util.h",
595*8975f5c5SAndroid Build Coastguard Worker    "source/opt/build_module.cpp",
596*8975f5c5SAndroid Build Coastguard Worker    "source/opt/build_module.h",
597*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ccp_pass.cpp",
598*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ccp_pass.h",
599*8975f5c5SAndroid Build Coastguard Worker    "source/opt/cfg.cpp",
600*8975f5c5SAndroid Build Coastguard Worker    "source/opt/cfg.h",
601*8975f5c5SAndroid Build Coastguard Worker    "source/opt/cfg_cleanup_pass.cpp",
602*8975f5c5SAndroid Build Coastguard Worker    "source/opt/cfg_cleanup_pass.h",
603*8975f5c5SAndroid Build Coastguard Worker    "source/opt/code_sink.cpp",
604*8975f5c5SAndroid Build Coastguard Worker    "source/opt/code_sink.h",
605*8975f5c5SAndroid Build Coastguard Worker    "source/opt/combine_access_chains.cpp",
606*8975f5c5SAndroid Build Coastguard Worker    "source/opt/combine_access_chains.h",
607*8975f5c5SAndroid Build Coastguard Worker    "source/opt/compact_ids_pass.cpp",
608*8975f5c5SAndroid Build Coastguard Worker    "source/opt/compact_ids_pass.h",
609*8975f5c5SAndroid Build Coastguard Worker    "source/opt/composite.cpp",
610*8975f5c5SAndroid Build Coastguard Worker    "source/opt/composite.h",
611*8975f5c5SAndroid Build Coastguard Worker    "source/opt/const_folding_rules.cpp",
612*8975f5c5SAndroid Build Coastguard Worker    "source/opt/const_folding_rules.h",
613*8975f5c5SAndroid Build Coastguard Worker    "source/opt/constants.cpp",
614*8975f5c5SAndroid Build Coastguard Worker    "source/opt/constants.h",
615*8975f5c5SAndroid Build Coastguard Worker    "source/opt/control_dependence.cpp",
616*8975f5c5SAndroid Build Coastguard Worker    "source/opt/control_dependence.h",
617*8975f5c5SAndroid Build Coastguard Worker    "source/opt/convert_to_half_pass.cpp",
618*8975f5c5SAndroid Build Coastguard Worker    "source/opt/convert_to_half_pass.h",
619*8975f5c5SAndroid Build Coastguard Worker    "source/opt/convert_to_sampled_image_pass.cpp",
620*8975f5c5SAndroid Build Coastguard Worker    "source/opt/convert_to_sampled_image_pass.h",
621*8975f5c5SAndroid Build Coastguard Worker    "source/opt/copy_prop_arrays.cpp",
622*8975f5c5SAndroid Build Coastguard Worker    "source/opt/copy_prop_arrays.h",
623*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dataflow.cpp",
624*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dataflow.h",
625*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dead_branch_elim_pass.cpp",
626*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dead_branch_elim_pass.h",
627*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dead_insert_elim_pass.cpp",
628*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dead_insert_elim_pass.h",
629*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dead_variable_elimination.cpp",
630*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dead_variable_elimination.h",
631*8975f5c5SAndroid Build Coastguard Worker    "source/opt/debug_info_manager.cpp",
632*8975f5c5SAndroid Build Coastguard Worker    "source/opt/debug_info_manager.h",
633*8975f5c5SAndroid Build Coastguard Worker    "source/opt/decoration_manager.cpp",
634*8975f5c5SAndroid Build Coastguard Worker    "source/opt/decoration_manager.h",
635*8975f5c5SAndroid Build Coastguard Worker    "source/opt/def_use_manager.cpp",
636*8975f5c5SAndroid Build Coastguard Worker    "source/opt/def_use_manager.h",
637*8975f5c5SAndroid Build Coastguard Worker    "source/opt/desc_sroa.cpp",
638*8975f5c5SAndroid Build Coastguard Worker    "source/opt/desc_sroa.h",
639*8975f5c5SAndroid Build Coastguard Worker    "source/opt/desc_sroa_util.cpp",
640*8975f5c5SAndroid Build Coastguard Worker    "source/opt/desc_sroa_util.h",
641*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dominator_analysis.cpp",
642*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dominator_analysis.h",
643*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dominator_tree.cpp",
644*8975f5c5SAndroid Build Coastguard Worker    "source/opt/dominator_tree.h",
645*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_constant_pass.cpp",
646*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_constant_pass.h",
647*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_pass.cpp",
648*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_pass.h",
649*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_util.cpp",
650*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_functions_util.h",
651*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_io_components_pass.cpp",
652*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_io_components_pass.h",
653*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_members_pass.cpp",
654*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_members_pass.h",
655*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_output_stores_pass.cpp",
656*8975f5c5SAndroid Build Coastguard Worker    "source/opt/eliminate_dead_output_stores_pass.h",
657*8975f5c5SAndroid Build Coastguard Worker    "source/opt/empty_pass.h",
658*8975f5c5SAndroid Build Coastguard Worker    "source/opt/feature_manager.cpp",
659*8975f5c5SAndroid Build Coastguard Worker    "source/opt/feature_manager.h",
660*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fix_func_call_arguments.cpp",
661*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fix_func_call_arguments.h",
662*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fix_storage_class.cpp",
663*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fix_storage_class.h",
664*8975f5c5SAndroid Build Coastguard Worker    "source/opt/flatten_decoration_pass.cpp",
665*8975f5c5SAndroid Build Coastguard Worker    "source/opt/flatten_decoration_pass.h",
666*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fold.cpp",
667*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fold.h",
668*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fold_spec_constant_op_and_composite_pass.cpp",
669*8975f5c5SAndroid Build Coastguard Worker    "source/opt/fold_spec_constant_op_and_composite_pass.h",
670*8975f5c5SAndroid Build Coastguard Worker    "source/opt/folding_rules.cpp",
671*8975f5c5SAndroid Build Coastguard Worker    "source/opt/folding_rules.h",
672*8975f5c5SAndroid Build Coastguard Worker    "source/opt/freeze_spec_constant_value_pass.cpp",
673*8975f5c5SAndroid Build Coastguard Worker    "source/opt/freeze_spec_constant_value_pass.h",
674*8975f5c5SAndroid Build Coastguard Worker    "source/opt/function.cpp",
675*8975f5c5SAndroid Build Coastguard Worker    "source/opt/function.h",
676*8975f5c5SAndroid Build Coastguard Worker    "source/opt/graphics_robust_access_pass.cpp",
677*8975f5c5SAndroid Build Coastguard Worker    "source/opt/graphics_robust_access_pass.h",
678*8975f5c5SAndroid Build Coastguard Worker    "source/opt/if_conversion.cpp",
679*8975f5c5SAndroid Build Coastguard Worker    "source/opt/if_conversion.h",
680*8975f5c5SAndroid Build Coastguard Worker    "source/opt/inline_exhaustive_pass.cpp",
681*8975f5c5SAndroid Build Coastguard Worker    "source/opt/inline_exhaustive_pass.h",
682*8975f5c5SAndroid Build Coastguard Worker    "source/opt/inline_opaque_pass.cpp",
683*8975f5c5SAndroid Build Coastguard Worker    "source/opt/inline_opaque_pass.h",
684*8975f5c5SAndroid Build Coastguard Worker    "source/opt/inline_pass.cpp",
685*8975f5c5SAndroid Build Coastguard Worker    "source/opt/inline_pass.h",
686*8975f5c5SAndroid Build Coastguard Worker    "source/opt/instruction.cpp",
687*8975f5c5SAndroid Build Coastguard Worker    "source/opt/instruction.h",
688*8975f5c5SAndroid Build Coastguard Worker    "source/opt/instruction_list.cpp",
689*8975f5c5SAndroid Build Coastguard Worker    "source/opt/instruction_list.h",
690*8975f5c5SAndroid Build Coastguard Worker    "source/opt/interface_var_sroa.cpp",
691*8975f5c5SAndroid Build Coastguard Worker    "source/opt/interface_var_sroa.h",
692*8975f5c5SAndroid Build Coastguard Worker    "source/opt/interp_fixup_pass.cpp",
693*8975f5c5SAndroid Build Coastguard Worker    "source/opt/interp_fixup_pass.h",
694*8975f5c5SAndroid Build Coastguard Worker    "source/opt/invocation_interlock_placement_pass.cpp",
695*8975f5c5SAndroid Build Coastguard Worker    "source/opt/invocation_interlock_placement_pass.h",
696*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ir_builder.h",
697*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ir_context.cpp",
698*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ir_context.h",
699*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ir_loader.cpp",
700*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ir_loader.h",
701*8975f5c5SAndroid Build Coastguard Worker    "source/opt/iterator.h",
702*8975f5c5SAndroid Build Coastguard Worker    "source/opt/licm_pass.cpp",
703*8975f5c5SAndroid Build Coastguard Worker    "source/opt/licm_pass.h",
704*8975f5c5SAndroid Build Coastguard Worker    "source/opt/liveness.cpp",
705*8975f5c5SAndroid Build Coastguard Worker    "source/opt/liveness.h",
706*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_access_chain_convert_pass.cpp",
707*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_access_chain_convert_pass.h",
708*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_redundancy_elimination.cpp",
709*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_redundancy_elimination.h",
710*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_single_block_elim_pass.cpp",
711*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_single_block_elim_pass.h",
712*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_single_store_elim_pass.cpp",
713*8975f5c5SAndroid Build Coastguard Worker    "source/opt/local_single_store_elim_pass.h",
714*8975f5c5SAndroid Build Coastguard Worker    "source/opt/log.h",
715*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_dependence.cpp",
716*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_dependence.h",
717*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_dependence_helpers.cpp",
718*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_descriptor.cpp",
719*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_descriptor.h",
720*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_fission.cpp",
721*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_fission.h",
722*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_fusion.cpp",
723*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_fusion.h",
724*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_fusion_pass.cpp",
725*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_fusion_pass.h",
726*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_peeling.cpp",
727*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_peeling.h",
728*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_unroller.cpp",
729*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_unroller.h",
730*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_unswitch_pass.cpp",
731*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_unswitch_pass.h",
732*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_utils.cpp",
733*8975f5c5SAndroid Build Coastguard Worker    "source/opt/loop_utils.h",
734*8975f5c5SAndroid Build Coastguard Worker    "source/opt/mem_pass.cpp",
735*8975f5c5SAndroid Build Coastguard Worker    "source/opt/mem_pass.h",
736*8975f5c5SAndroid Build Coastguard Worker    "source/opt/merge_return_pass.cpp",
737*8975f5c5SAndroid Build Coastguard Worker    "source/opt/merge_return_pass.h",
738*8975f5c5SAndroid Build Coastguard Worker    "source/opt/modify_maximal_reconvergence.cpp",
739*8975f5c5SAndroid Build Coastguard Worker    "source/opt/modify_maximal_reconvergence.h",
740*8975f5c5SAndroid Build Coastguard Worker    "source/opt/module.cpp",
741*8975f5c5SAndroid Build Coastguard Worker    "source/opt/module.h",
742*8975f5c5SAndroid Build Coastguard Worker    "source/opt/null_pass.h",
743*8975f5c5SAndroid Build Coastguard Worker    "source/opt/opextinst_forward_ref_fixup_pass.cpp",
744*8975f5c5SAndroid Build Coastguard Worker    "source/opt/opextinst_forward_ref_fixup_pass.h",
745*8975f5c5SAndroid Build Coastguard Worker    "source/opt/optimizer.cpp",
746*8975f5c5SAndroid Build Coastguard Worker    "source/opt/pass.cpp",
747*8975f5c5SAndroid Build Coastguard Worker    "source/opt/pass.h",
748*8975f5c5SAndroid Build Coastguard Worker    "source/opt/pass_manager.cpp",
749*8975f5c5SAndroid Build Coastguard Worker    "source/opt/pass_manager.h",
750*8975f5c5SAndroid Build Coastguard Worker    "source/opt/passes.h",
751*8975f5c5SAndroid Build Coastguard Worker    "source/opt/private_to_local_pass.cpp",
752*8975f5c5SAndroid Build Coastguard Worker    "source/opt/private_to_local_pass.h",
753*8975f5c5SAndroid Build Coastguard Worker    "source/opt/propagator.cpp",
754*8975f5c5SAndroid Build Coastguard Worker    "source/opt/propagator.h",
755*8975f5c5SAndroid Build Coastguard Worker    "source/opt/reduce_load_size.cpp",
756*8975f5c5SAndroid Build Coastguard Worker    "source/opt/reduce_load_size.h",
757*8975f5c5SAndroid Build Coastguard Worker    "source/opt/redundancy_elimination.cpp",
758*8975f5c5SAndroid Build Coastguard Worker    "source/opt/redundancy_elimination.h",
759*8975f5c5SAndroid Build Coastguard Worker    "source/opt/reflect.h",
760*8975f5c5SAndroid Build Coastguard Worker    "source/opt/register_pressure.cpp",
761*8975f5c5SAndroid Build Coastguard Worker    "source/opt/register_pressure.h",
762*8975f5c5SAndroid Build Coastguard Worker    "source/opt/relax_float_ops_pass.cpp",
763*8975f5c5SAndroid Build Coastguard Worker    "source/opt/relax_float_ops_pass.h",
764*8975f5c5SAndroid Build Coastguard Worker    "source/opt/remove_dontinline_pass.cpp",
765*8975f5c5SAndroid Build Coastguard Worker    "source/opt/remove_dontinline_pass.h",
766*8975f5c5SAndroid Build Coastguard Worker    "source/opt/remove_duplicates_pass.cpp",
767*8975f5c5SAndroid Build Coastguard Worker    "source/opt/remove_duplicates_pass.h",
768*8975f5c5SAndroid Build Coastguard Worker    "source/opt/remove_unused_interface_variables_pass.cpp",
769*8975f5c5SAndroid Build Coastguard Worker    "source/opt/remove_unused_interface_variables_pass.h",
770*8975f5c5SAndroid Build Coastguard Worker    "source/opt/replace_desc_array_access_using_var_index.cpp",
771*8975f5c5SAndroid Build Coastguard Worker    "source/opt/replace_desc_array_access_using_var_index.h",
772*8975f5c5SAndroid Build Coastguard Worker    "source/opt/replace_invalid_opc.cpp",
773*8975f5c5SAndroid Build Coastguard Worker    "source/opt/replace_invalid_opc.h",
774*8975f5c5SAndroid Build Coastguard Worker    "source/opt/scalar_analysis.cpp",
775*8975f5c5SAndroid Build Coastguard Worker    "source/opt/scalar_analysis.h",
776*8975f5c5SAndroid Build Coastguard Worker    "source/opt/scalar_analysis_nodes.h",
777*8975f5c5SAndroid Build Coastguard Worker    "source/opt/scalar_analysis_simplification.cpp",
778*8975f5c5SAndroid Build Coastguard Worker    "source/opt/scalar_replacement_pass.cpp",
779*8975f5c5SAndroid Build Coastguard Worker    "source/opt/scalar_replacement_pass.h",
780*8975f5c5SAndroid Build Coastguard Worker    "source/opt/set_spec_constant_default_value_pass.cpp",
781*8975f5c5SAndroid Build Coastguard Worker    "source/opt/set_spec_constant_default_value_pass.h",
782*8975f5c5SAndroid Build Coastguard Worker    "source/opt/simplification_pass.cpp",
783*8975f5c5SAndroid Build Coastguard Worker    "source/opt/simplification_pass.h",
784*8975f5c5SAndroid Build Coastguard Worker    "source/opt/spread_volatile_semantics.cpp",
785*8975f5c5SAndroid Build Coastguard Worker    "source/opt/spread_volatile_semantics.h",
786*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ssa_rewrite_pass.cpp",
787*8975f5c5SAndroid Build Coastguard Worker    "source/opt/ssa_rewrite_pass.h",
788*8975f5c5SAndroid Build Coastguard Worker    "source/opt/strength_reduction_pass.cpp",
789*8975f5c5SAndroid Build Coastguard Worker    "source/opt/strength_reduction_pass.h",
790*8975f5c5SAndroid Build Coastguard Worker    "source/opt/strip_debug_info_pass.cpp",
791*8975f5c5SAndroid Build Coastguard Worker    "source/opt/strip_debug_info_pass.h",
792*8975f5c5SAndroid Build Coastguard Worker    "source/opt/strip_nonsemantic_info_pass.cpp",
793*8975f5c5SAndroid Build Coastguard Worker    "source/opt/strip_nonsemantic_info_pass.h",
794*8975f5c5SAndroid Build Coastguard Worker    "source/opt/struct_packing_pass.cpp",
795*8975f5c5SAndroid Build Coastguard Worker    "source/opt/struct_packing_pass.h",
796*8975f5c5SAndroid Build Coastguard Worker    "source/opt/struct_cfg_analysis.cpp",
797*8975f5c5SAndroid Build Coastguard Worker    "source/opt/struct_cfg_analysis.h",
798*8975f5c5SAndroid Build Coastguard Worker    "source/opt/switch_descriptorset_pass.cpp",
799*8975f5c5SAndroid Build Coastguard Worker    "source/opt/switch_descriptorset_pass.h",
800*8975f5c5SAndroid Build Coastguard Worker    "source/opt/tree_iterator.h",
801*8975f5c5SAndroid Build Coastguard Worker    "source/opt/trim_capabilities_pass.cpp",
802*8975f5c5SAndroid Build Coastguard Worker    "source/opt/trim_capabilities_pass.h",
803*8975f5c5SAndroid Build Coastguard Worker    "source/opt/type_manager.cpp",
804*8975f5c5SAndroid Build Coastguard Worker    "source/opt/type_manager.h",
805*8975f5c5SAndroid Build Coastguard Worker    "source/opt/types.cpp",
806*8975f5c5SAndroid Build Coastguard Worker    "source/opt/types.h",
807*8975f5c5SAndroid Build Coastguard Worker    "source/opt/unify_const_pass.cpp",
808*8975f5c5SAndroid Build Coastguard Worker    "source/opt/unify_const_pass.h",
809*8975f5c5SAndroid Build Coastguard Worker    "source/opt/upgrade_memory_model.cpp",
810*8975f5c5SAndroid Build Coastguard Worker    "source/opt/upgrade_memory_model.h",
811*8975f5c5SAndroid Build Coastguard Worker    "source/opt/value_number_table.cpp",
812*8975f5c5SAndroid Build Coastguard Worker    "source/opt/value_number_table.h",
813*8975f5c5SAndroid Build Coastguard Worker    "source/opt/vector_dce.cpp",
814*8975f5c5SAndroid Build Coastguard Worker    "source/opt/vector_dce.h",
815*8975f5c5SAndroid Build Coastguard Worker    "source/opt/workaround1209.cpp",
816*8975f5c5SAndroid Build Coastguard Worker    "source/opt/workaround1209.h",
817*8975f5c5SAndroid Build Coastguard Worker    "source/opt/wrap_opkill.cpp",
818*8975f5c5SAndroid Build Coastguard Worker    "source/opt/wrap_opkill.h",
819*8975f5c5SAndroid Build Coastguard Worker  ]
820*8975f5c5SAndroid Build Coastguard Worker
821*8975f5c5SAndroid Build Coastguard Worker  deps = [
822*8975f5c5SAndroid Build Coastguard Worker    ":spvtools",
823*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_debuginfo",
824*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_vendor_tables_spv-amd-shader-ballot",
825*8975f5c5SAndroid Build Coastguard Worker  ]
826*8975f5c5SAndroid Build Coastguard Worker  public_deps = [
827*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_headers",
828*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_cldebuginfo100",
829*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_language_header_vkdebuginfo100",
830*8975f5c5SAndroid Build Coastguard Worker  ]
831*8975f5c5SAndroid Build Coastguard Worker
832*8975f5c5SAndroid Build Coastguard Worker  if (build_with_chromium) {
833*8975f5c5SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
834*8975f5c5SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
835*8975f5c5SAndroid Build Coastguard Worker  }
836*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
837*8975f5c5SAndroid Build Coastguard Worker}
838*8975f5c5SAndroid Build Coastguard Worker
839*8975f5c5SAndroid Build Coastguard Workerstatic_library("spvtools_link") {
840*8975f5c5SAndroid Build Coastguard Worker  sources = [ "source/link/linker.cpp" ]
841*8975f5c5SAndroid Build Coastguard Worker  deps = [
842*8975f5c5SAndroid Build Coastguard Worker    ":spvtools",
843*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_opt",
844*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_val",
845*8975f5c5SAndroid Build Coastguard Worker  ]
846*8975f5c5SAndroid Build Coastguard Worker  public_deps = [ ":spvtools_headers" ]
847*8975f5c5SAndroid Build Coastguard Worker  if (build_with_chromium) {
848*8975f5c5SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
849*8975f5c5SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
850*8975f5c5SAndroid Build Coastguard Worker  }
851*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
852*8975f5c5SAndroid Build Coastguard Worker}
853*8975f5c5SAndroid Build Coastguard Worker
854*8975f5c5SAndroid Build Coastguard Workerstatic_library("spvtools_reduce") {
855*8975f5c5SAndroid Build Coastguard Worker  sources = [
856*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/change_operand_reduction_opportunity.cpp",
857*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/change_operand_reduction_opportunity.h",
858*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/change_operand_to_undef_reduction_opportunity.cpp",
859*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/change_operand_to_undef_reduction_opportunity.h",
860*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.cpp",
861*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_opportunity_finder.h",
862*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.cpp",
863*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/conditional_branch_to_simple_conditional_branch_reduction_opportunity.h",
864*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity.cpp",
865*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity.h",
866*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity_finder.cpp",
867*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/merge_blocks_reduction_opportunity_finder.h",
868*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/operand_to_const_reduction_opportunity_finder.cpp",
869*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/operand_to_const_reduction_opportunity_finder.h",
870*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/operand_to_dominating_id_reduction_opportunity_finder.cpp",
871*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/operand_to_dominating_id_reduction_opportunity_finder.h",
872*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/operand_to_undef_reduction_opportunity_finder.cpp",
873*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/operand_to_undef_reduction_opportunity_finder.h",
874*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reducer.cpp",
875*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reducer.h",
876*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity.cpp",
877*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity.h",
878*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity_finder.cpp",
879*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_opportunity_finder.h",
880*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_pass.cpp",
881*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_pass.h",
882*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_util.cpp",
883*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/reduction_util.h",
884*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity.cpp",
885*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity.h",
886*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity_finder.cpp",
887*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_block_reduction_opportunity_finder.h",
888*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity.cpp",
889*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity.h",
890*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity_finder.cpp",
891*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_function_reduction_opportunity_finder.h",
892*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_instruction_reduction_opportunity.cpp",
893*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_instruction_reduction_opportunity.h",
894*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity.cpp",
895*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity.h",
896*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity_finder.cpp",
897*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_selection_reduction_opportunity_finder.h",
898*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_struct_member_reduction_opportunity.cpp",
899*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_struct_member_reduction_opportunity.h",
900*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_unused_instruction_reduction_opportunity_finder.cpp",
901*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_unused_instruction_reduction_opportunity_finder.h",
902*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_unused_struct_member_reduction_opportunity_finder.cpp",
903*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/remove_unused_struct_member_reduction_opportunity_finder.h",
904*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_opportunity_finder.cpp",
905*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_opportunity_finder.h",
906*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.cpp",
907*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/simple_conditional_branch_to_branch_reduction_opportunity.h",
908*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity.cpp",
909*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity.h",
910*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity_finder.cpp",
911*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_construct_to_block_reduction_opportunity_finder.h",
912*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity.cpp",
913*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity.h",
914*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity_finder.cpp",
915*8975f5c5SAndroid Build Coastguard Worker    "source/reduce/structured_loop_to_selection_reduction_opportunity_finder.h",
916*8975f5c5SAndroid Build Coastguard Worker  ]
917*8975f5c5SAndroid Build Coastguard Worker  deps = [
918*8975f5c5SAndroid Build Coastguard Worker    ":spvtools",
919*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_opt",
920*8975f5c5SAndroid Build Coastguard Worker  ]
921*8975f5c5SAndroid Build Coastguard Worker  public_deps = [ ":spvtools_headers" ]
922*8975f5c5SAndroid Build Coastguard Worker  if (build_with_chromium) {
923*8975f5c5SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
924*8975f5c5SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
925*8975f5c5SAndroid Build Coastguard Worker  }
926*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
927*8975f5c5SAndroid Build Coastguard Worker}
928*8975f5c5SAndroid Build Coastguard Worker
929*8975f5c5SAndroid Build Coastguard Workerif (build_with_chromium && spvtools_build_executables) {
930*8975f5c5SAndroid Build Coastguard Worker  # The spirv-fuzz library is only built when in a Chromium checkout
931*8975f5c5SAndroid Build Coastguard Worker  # due to its dependency on protobuf.
932*8975f5c5SAndroid Build Coastguard Worker
933*8975f5c5SAndroid Build Coastguard Worker  proto_library("spvtools_fuzz_proto") {
934*8975f5c5SAndroid Build Coastguard Worker    sources = [ "source/fuzz/protobufs/spvtoolsfuzz.proto" ]
935*8975f5c5SAndroid Build Coastguard Worker    generate_python = false
936*8975f5c5SAndroid Build Coastguard Worker    use_protobuf_full = true
937*8975f5c5SAndroid Build Coastguard Worker  }
938*8975f5c5SAndroid Build Coastguard Worker
939*8975f5c5SAndroid Build Coastguard Worker  static_library("spvtools_fuzz") {
940*8975f5c5SAndroid Build Coastguard Worker    sources = [
941*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/added_function_reducer.cpp",
942*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/added_function_reducer.h",
943*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/available_instructions.cpp",
944*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/available_instructions.h",
945*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/call_graph.cpp",
946*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/call_graph.h",
947*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/comparator_deep_blocks_first.h",
948*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/counter_overflow_id_source.cpp",
949*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/counter_overflow_id_source.h",
950*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/data_descriptor.cpp",
951*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/data_descriptor.h",
952*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/equivalence_relation.h",
953*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/constant_uniform_facts.cpp",
954*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/constant_uniform_facts.h",
955*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/data_synonym_and_id_equation_facts.cpp",
956*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/data_synonym_and_id_equation_facts.h",
957*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/dead_block_facts.cpp",
958*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/dead_block_facts.h",
959*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/fact_manager.cpp",
960*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/fact_manager.h",
961*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/irrelevant_value_facts.cpp",
962*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/irrelevant_value_facts.h",
963*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/livesafe_function_facts.cpp",
964*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fact_manager/livesafe_function_facts.h",
965*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/force_render_red.cpp",
966*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/force_render_red.h",
967*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer.cpp",
968*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer.h",
969*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_context.cpp",
970*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_context.h",
971*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass.cpp",
972*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass.h",
973*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_access_chains.cpp",
974*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_access_chains.h",
975*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_bit_instruction_synonyms.cpp",
976*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_bit_instruction_synonyms.h",
977*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_extract.cpp",
978*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_extract.h",
979*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_inserts.cpp",
980*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_inserts.h",
981*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_types.cpp",
982*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_composite_types.h",
983*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_copy_memory.cpp",
984*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_copy_memory.h",
985*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_blocks.cpp",
986*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_blocks.h",
987*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_breaks.cpp",
988*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_breaks.h",
989*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_continues.cpp",
990*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_dead_continues.h",
991*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_equation_instructions.cpp",
992*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_equation_instructions.h",
993*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_function_calls.cpp",
994*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_function_calls.h",
995*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_global_variables.cpp",
996*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_global_variables.h",
997*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_image_sample_unused_components.cpp",
998*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_image_sample_unused_components.h",
999*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loads.cpp",
1000*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loads.h",
1001*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_local_variables.cpp",
1002*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_local_variables.h",
1003*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loop_preheaders.cpp",
1004*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loop_preheaders.h",
1005*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loops_to_create_int_constant_synonyms.cpp",
1006*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_loops_to_create_int_constant_synonyms.h",
1007*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_no_contraction_decorations.cpp",
1008*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_no_contraction_decorations.h",
1009*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_opphi_synonyms.cpp",
1010*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_opphi_synonyms.h",
1011*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_parameters.cpp",
1012*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_parameters.h",
1013*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_relaxed_decorations.cpp",
1014*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_relaxed_decorations.h",
1015*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_stores.cpp",
1016*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_stores.h",
1017*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_synonyms.cpp",
1018*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_synonyms.h",
1019*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_vector_shuffle_instructions.cpp",
1020*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_add_vector_shuffle_instructions.h",
1021*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_branch_weights.cpp",
1022*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_branch_weights.h",
1023*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_function_controls.cpp",
1024*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_function_controls.h",
1025*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_loop_controls.cpp",
1026*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_loop_controls.h",
1027*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_memory_operands_masks.cpp",
1028*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_memory_operands_masks.h",
1029*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_selection_controls.cpp",
1030*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_adjust_selection_controls.h",
1031*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_apply_id_synonyms.cpp",
1032*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_apply_id_synonyms.h",
1033*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_construct_composites.cpp",
1034*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_construct_composites.h",
1035*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_copy_objects.cpp",
1036*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_copy_objects.h",
1037*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_donate_modules.cpp",
1038*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_donate_modules.h",
1039*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_duplicate_regions_with_selections.cpp",
1040*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_duplicate_regions_with_selections.h",
1041*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_expand_vector_reductions.cpp",
1042*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_expand_vector_reductions.h",
1043*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_flatten_conditional_branches.cpp",
1044*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_flatten_conditional_branches.h",
1045*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_inline_functions.cpp",
1046*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_inline_functions.h",
1047*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_signedness_of_integer_operands.cpp",
1048*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_signedness_of_integer_operands.h",
1049*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_zero_like_constants.cpp",
1050*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_interchange_zero_like_constants.h",
1051*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_invert_comparison_operators.cpp",
1052*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_invert_comparison_operators.h",
1053*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_make_vector_operations_dynamic.cpp",
1054*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_make_vector_operations_dynamic.h",
1055*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_blocks.cpp",
1056*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_blocks.h",
1057*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_function_returns.cpp",
1058*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_merge_function_returns.h",
1059*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_mutate_pointers.cpp",
1060*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_mutate_pointers.h",
1061*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_obfuscate_constants.cpp",
1062*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_obfuscate_constants.h",
1063*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_outline_functions.cpp",
1064*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_outline_functions.h",
1065*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_blocks.cpp",
1066*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_blocks.h",
1067*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_parameters.cpp",
1068*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_parameters.h",
1069*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_variables.cpp",
1070*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_function_variables.h",
1071*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_instructions.cpp",
1072*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_instructions.h",
1073*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_phi_operands.cpp",
1074*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_permute_phi_operands.h",
1075*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_down.cpp",
1076*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_down.h",
1077*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_up.cpp",
1078*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_propagate_instructions_up.h",
1079*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_push_ids_through_variables.cpp",
1080*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_push_ids_through_variables.h",
1081*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_adds_subs_muls_with_carrying_extended.cpp",
1082*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_adds_subs_muls_with_carrying_extended.h",
1083*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_branches_from_dead_blocks_with_exits.cpp",
1084*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_branches_from_dead_blocks_with_exits.h",
1085*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_memories_with_loads_stores.cpp",
1086*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_memories_with_loads_stores.h",
1087*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_objects_with_stores_loads.cpp",
1088*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_copy_objects_with_stores_loads.h",
1089*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_irrelevant_ids.cpp",
1090*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_irrelevant_ids.h",
1091*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_linear_algebra_instructions.cpp",
1092*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_linear_algebra_instructions.h",
1093*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_loads_stores_with_copy_memories.cpp",
1094*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_loads_stores_with_copy_memories.h",
1095*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opphi_ids_from_dead_predecessors.cpp",
1096*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opphi_ids_from_dead_predecessors.h",
1097*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opselects_with_conditional_branches.cpp",
1098*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_opselects_with_conditional_branches.h",
1099*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_parameter_with_global.cpp",
1100*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_parameter_with_global.h",
1101*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_params_with_struct.cpp",
1102*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_replace_params_with_struct.h",
1103*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_split_blocks.cpp",
1104*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_split_blocks.h",
1105*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_commutable_operands.cpp",
1106*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_commutable_operands.h",
1107*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_conditional_branch_operands.cpp",
1108*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_conditional_branch_operands.h",
1109*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_functions.cpp",
1110*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_swap_functions.h",
1111*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_toggle_access_chain_instruction.cpp",
1112*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_toggle_access_chain_instruction.h",
1113*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_regions_in_selections.cpp",
1114*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_regions_in_selections.h",
1115*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_vector_synonym.cpp",
1116*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_pass_wrap_vector_synonym.h",
1117*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_util.cpp",
1118*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/fuzzer_util.h",
1119*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/id_use_descriptor.cpp",
1120*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/id_use_descriptor.h",
1121*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/instruction_descriptor.cpp",
1122*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/instruction_descriptor.h",
1123*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/instruction_message.cpp",
1124*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/instruction_message.h",
1125*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/overflow_id_source.cpp",
1126*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/overflow_id_source.h",
1127*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_instances.h",
1128*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager.cpp",
1129*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager.h",
1130*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_looped_with_recommendations.cpp",
1131*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_looped_with_recommendations.h",
1132*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_random_with_recommendations.cpp",
1133*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_random_with_recommendations.h",
1134*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_simple.cpp",
1135*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_manager_simple.h",
1136*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender.cpp",
1137*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender.h",
1138*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender_standard.cpp",
1139*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pass_management/repeated_pass_recommender_standard.h",
1140*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/protobufs/spirvfuzz_protobufs.h",
1141*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pseudo_random_generator.cpp",
1142*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/pseudo_random_generator.h",
1143*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/random_generator.cpp",
1144*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/random_generator.h",
1145*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/replayer.cpp",
1146*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/replayer.h",
1147*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/shrinker.cpp",
1148*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/shrinker.h",
1149*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation.cpp",
1150*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation.h",
1151*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_access_chain.cpp",
1152*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_access_chain.h",
1153*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_bit_instruction_synonym.cpp",
1154*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_bit_instruction_synonym.h",
1155*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_boolean.cpp",
1156*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_boolean.h",
1157*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_composite.cpp",
1158*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_composite.h",
1159*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_null.cpp",
1160*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_null.h",
1161*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_scalar.cpp",
1162*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_constant_scalar.h",
1163*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_copy_memory.cpp",
1164*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_copy_memory.h",
1165*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_block.cpp",
1166*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_block.h",
1167*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_break.cpp",
1168*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_break.h",
1169*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_continue.cpp",
1170*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_dead_continue.h",
1171*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_early_terminator_wrapper.cpp",
1172*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_early_terminator_wrapper.h",
1173*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_function.cpp",
1174*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_function.h",
1175*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_undef.cpp",
1176*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_undef.h",
1177*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_variable.cpp",
1178*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_global_variable.h",
1179*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_image_sample_unused_components.cpp",
1180*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_image_sample_unused_components.h",
1181*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_local_variable.cpp",
1182*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_local_variable.h",
1183*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_preheader.cpp",
1184*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_preheader.h",
1185*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_to_create_int_constant_synonym.cpp",
1186*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_loop_to_create_int_constant_synonym.h",
1187*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_no_contraction_decoration.cpp",
1188*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_no_contraction_decoration.h",
1189*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_opphi_synonym.cpp",
1190*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_opphi_synonym.h",
1191*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_parameter.cpp",
1192*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_parameter.h",
1193*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_relaxed_decoration.cpp",
1194*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_relaxed_decoration.h",
1195*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_spec_constant_op.cpp",
1196*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_spec_constant_op.h",
1197*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_synonym.cpp",
1198*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_synonym.h",
1199*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_array.cpp",
1200*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_array.h",
1201*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_boolean.cpp",
1202*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_boolean.h",
1203*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_float.cpp",
1204*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_float.h",
1205*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_function.cpp",
1206*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_function.h",
1207*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_int.cpp",
1208*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_int.h",
1209*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_matrix.cpp",
1210*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_matrix.h",
1211*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_pointer.cpp",
1212*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_pointer.h",
1213*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_struct.cpp",
1214*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_struct.h",
1215*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_vector.cpp",
1216*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_add_type_vector.h",
1217*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_adjust_branch_weights.cpp",
1218*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_adjust_branch_weights.h",
1219*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_construct.cpp",
1220*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_construct.h",
1221*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_extract.cpp",
1222*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_extract.h",
1223*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_insert.cpp",
1224*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_composite_insert.h",
1225*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_compute_data_synonym_fact_closure.cpp",
1226*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_compute_data_synonym_fact_closure.h",
1227*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_context.cpp",
1228*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_context.h",
1229*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_duplicate_region_with_selection.cpp",
1230*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_duplicate_region_with_selection.h",
1231*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_equation_instruction.cpp",
1232*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_equation_instruction.h",
1233*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_expand_vector_reduction.cpp",
1234*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_expand_vector_reduction.h",
1235*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_flatten_conditional_branch.cpp",
1236*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_flatten_conditional_branch.h",
1237*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_function_call.cpp",
1238*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_function_call.h",
1239*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_inline_function.cpp",
1240*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_inline_function.h",
1241*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_invert_comparison_operator.cpp",
1242*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_invert_comparison_operator.h",
1243*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_load.cpp",
1244*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_load.h",
1245*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_make_vector_operation_dynamic.cpp",
1246*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_make_vector_operation_dynamic.h",
1247*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_blocks.cpp",
1248*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_blocks.h",
1249*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_function_returns.cpp",
1250*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_merge_function_returns.h",
1251*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_block_down.cpp",
1252*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_block_down.h",
1253*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_instruction_down.cpp",
1254*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_move_instruction_down.h",
1255*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_mutate_pointer.cpp",
1256*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_mutate_pointer.h",
1257*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_outline_function.cpp",
1258*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_outline_function.h",
1259*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_function_parameters.cpp",
1260*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_function_parameters.h",
1261*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_phi_operands.cpp",
1262*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_permute_phi_operands.h",
1263*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_down.cpp",
1264*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_down.h",
1265*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_up.cpp",
1266*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_propagate_instruction_up.h",
1267*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_push_id_through_variable.cpp",
1268*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_push_id_through_variable.h",
1269*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_record_synonymous_constants.cpp",
1270*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_record_synonymous_constants.h",
1271*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_add_sub_mul_with_carrying_extended.cpp",
1272*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_add_sub_mul_with_carrying_extended.h",
1273*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.cpp",
1274*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_boolean_constant_with_constant_binary.h",
1275*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_branch_from_dead_block_with_exit.cpp",
1276*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_branch_from_dead_block_with_exit.h",
1277*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_constant_with_uniform.cpp",
1278*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_constant_with_uniform.h",
1279*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_memory_with_load_store.cpp",
1280*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_memory_with_load_store.h",
1281*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_object_with_store_load.cpp",
1282*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_copy_object_with_store_load.h",
1283*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_id_with_synonym.cpp",
1284*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_id_with_synonym.h",
1285*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_irrelevant_id.cpp",
1286*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_irrelevant_id.h",
1287*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_linear_algebra_instruction.cpp",
1288*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_linear_algebra_instruction.h",
1289*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_load_store_with_copy_memory.cpp",
1290*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_load_store_with_copy_memory.h",
1291*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opphi_id_from_dead_predecessor.cpp",
1292*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opphi_id_from_dead_predecessor.h",
1293*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opselect_with_conditional_branch.cpp",
1294*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_opselect_with_conditional_branch.h",
1295*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_parameter_with_global.cpp",
1296*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_parameter_with_global.h",
1297*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_params_with_struct.cpp",
1298*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_replace_params_with_struct.h",
1299*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_function_control.cpp",
1300*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_function_control.h",
1301*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_loop_control.cpp",
1302*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_loop_control.h",
1303*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_memory_operands_mask.cpp",
1304*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_memory_operands_mask.h",
1305*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_selection_control.cpp",
1306*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_set_selection_control.h",
1307*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_split_block.cpp",
1308*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_split_block.h",
1309*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_store.cpp",
1310*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_store.h",
1311*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_commutable_operands.cpp",
1312*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_commutable_operands.h",
1313*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_conditional_branch_operands.cpp",
1314*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_conditional_branch_operands.h",
1315*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_function_variables.cpp",
1316*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_function_variables.h",
1317*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_two_functions.cpp",
1318*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_swap_two_functions.h",
1319*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_toggle_access_chain_instruction.cpp",
1320*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_toggle_access_chain_instruction.h",
1321*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_vector_shuffle.cpp",
1322*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_vector_shuffle.h",
1323*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_early_terminator_in_function.cpp",
1324*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_early_terminator_in_function.h",
1325*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_region_in_selection.cpp",
1326*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_region_in_selection.h",
1327*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_vector_synonym.cpp",
1328*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/transformation_wrap_vector_synonym.h",
1329*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/uniform_buffer_element_descriptor.cpp",
1330*8975f5c5SAndroid Build Coastguard Worker      "source/fuzz/uniform_buffer_element_descriptor.h",
1331*8975f5c5SAndroid Build Coastguard Worker    ]
1332*8975f5c5SAndroid Build Coastguard Worker    deps = [
1333*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1334*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_fuzz_proto",
1335*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_opt",
1336*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_reduce",
1337*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf:protobuf_full",
1338*8975f5c5SAndroid Build Coastguard Worker    ]
1339*8975f5c5SAndroid Build Coastguard Worker    public_deps = [ ":spvtools_headers" ]
1340*8975f5c5SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:chromium_code" ]
1341*8975f5c5SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:no_chromium_code" ]
1342*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1343*8975f5c5SAndroid Build Coastguard Worker  }
1344*8975f5c5SAndroid Build Coastguard Worker}
1345*8975f5c5SAndroid Build Coastguard Worker
1346*8975f5c5SAndroid Build Coastguard Workergroup("SPIRV-Tools") {
1347*8975f5c5SAndroid Build Coastguard Worker  public_deps = [
1348*8975f5c5SAndroid Build Coastguard Worker    ":spvtools",
1349*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_link",
1350*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_opt",
1351*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_reduce",
1352*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_val",
1353*8975f5c5SAndroid Build Coastguard Worker  ]
1354*8975f5c5SAndroid Build Coastguard Worker}
1355*8975f5c5SAndroid Build Coastguard Worker
1356*8975f5c5SAndroid Build Coastguard Worker# The tests are scoped to Chromium to avoid needing to write gtest integration.
1357*8975f5c5SAndroid Build Coastguard Worker# See Chromium's third_party/googletest/BUILD.gn for a complete integration.
1358*8975f5c5SAndroid Build Coastguard Workerif (build_with_chromium && spvtools_build_executables) {
1359*8975f5c5SAndroid Build Coastguard Worker  test("spvtools_test") {
1360*8975f5c5SAndroid Build Coastguard Worker    sources = [
1361*8975f5c5SAndroid Build Coastguard Worker      "test/assembly_context_test.cpp",
1362*8975f5c5SAndroid Build Coastguard Worker      "test/assembly_format_test.cpp",
1363*8975f5c5SAndroid Build Coastguard Worker      "test/binary_destroy_test.cpp",
1364*8975f5c5SAndroid Build Coastguard Worker      "test/binary_endianness_test.cpp",
1365*8975f5c5SAndroid Build Coastguard Worker      "test/binary_header_get_test.cpp",
1366*8975f5c5SAndroid Build Coastguard Worker      "test/binary_parse_test.cpp",
1367*8975f5c5SAndroid Build Coastguard Worker      "test/binary_strnlen_s_test.cpp",
1368*8975f5c5SAndroid Build Coastguard Worker      "test/binary_to_text.literal_test.cpp",
1369*8975f5c5SAndroid Build Coastguard Worker      "test/binary_to_text_test.cpp",
1370*8975f5c5SAndroid Build Coastguard Worker      "test/comment_test.cpp",
1371*8975f5c5SAndroid Build Coastguard Worker      "test/enum_set_test.cpp",
1372*8975f5c5SAndroid Build Coastguard Worker      "test/enum_string_mapping_test.cpp",
1373*8975f5c5SAndroid Build Coastguard Worker      "test/ext_inst.cldebug100_test.cpp",
1374*8975f5c5SAndroid Build Coastguard Worker      "test/ext_inst.debuginfo_test.cpp",
1375*8975f5c5SAndroid Build Coastguard Worker      "test/ext_inst.glsl_test.cpp",
1376*8975f5c5SAndroid Build Coastguard Worker      "test/ext_inst.opencl_test.cpp",
1377*8975f5c5SAndroid Build Coastguard Worker      "test/fix_word_test.cpp",
1378*8975f5c5SAndroid Build Coastguard Worker      "test/generator_magic_number_test.cpp",
1379*8975f5c5SAndroid Build Coastguard Worker      "test/hex_float_test.cpp",
1380*8975f5c5SAndroid Build Coastguard Worker      "test/hex_to_text_test.cpp",
1381*8975f5c5SAndroid Build Coastguard Worker      "test/immediate_int_test.cpp",
1382*8975f5c5SAndroid Build Coastguard Worker      "test/libspirv_macros_test.cpp",
1383*8975f5c5SAndroid Build Coastguard Worker      "test/name_mapper_test.cpp",
1384*8975f5c5SAndroid Build Coastguard Worker      "test/named_id_test.cpp",
1385*8975f5c5SAndroid Build Coastguard Worker      "test/opcode_make_test.cpp",
1386*8975f5c5SAndroid Build Coastguard Worker      "test/opcode_require_capabilities_test.cpp",
1387*8975f5c5SAndroid Build Coastguard Worker      "test/opcode_split_test.cpp",
1388*8975f5c5SAndroid Build Coastguard Worker      "test/opcode_table_get_test.cpp",
1389*8975f5c5SAndroid Build Coastguard Worker      "test/operand_capabilities_test.cpp",
1390*8975f5c5SAndroid Build Coastguard Worker      "test/operand_pattern_test.cpp",
1391*8975f5c5SAndroid Build Coastguard Worker      "test/operand_test.cpp",
1392*8975f5c5SAndroid Build Coastguard Worker      "test/target_env_test.cpp",
1393*8975f5c5SAndroid Build Coastguard Worker      "test/test_fixture.h",
1394*8975f5c5SAndroid Build Coastguard Worker      "test/text_advance_test.cpp",
1395*8975f5c5SAndroid Build Coastguard Worker      "test/text_destroy_test.cpp",
1396*8975f5c5SAndroid Build Coastguard Worker      "test/text_literal_test.cpp",
1397*8975f5c5SAndroid Build Coastguard Worker      "test/text_start_new_inst_test.cpp",
1398*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.annotation_test.cpp",
1399*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.barrier_test.cpp",
1400*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.constant_test.cpp",
1401*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.control_flow_test.cpp",
1402*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.debug_test.cpp",
1403*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.device_side_enqueue_test.cpp",
1404*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.extension_test.cpp",
1405*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.function_test.cpp",
1406*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.group_test.cpp",
1407*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.image_test.cpp",
1408*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.literal_test.cpp",
1409*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.memory_test.cpp",
1410*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.misc_test.cpp",
1411*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.mode_setting_test.cpp",
1412*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.pipe_storage_test.cpp",
1413*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.reserved_sampling_test.cpp",
1414*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.subgroup_dispatch_test.cpp",
1415*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary.type_declaration_test.cpp",
1416*8975f5c5SAndroid Build Coastguard Worker      "test/text_to_binary_test.cpp",
1417*8975f5c5SAndroid Build Coastguard Worker      "test/text_word_get_test.cpp",
1418*8975f5c5SAndroid Build Coastguard Worker      "test/to_string_test.cpp",
1419*8975f5c5SAndroid Build Coastguard Worker      "test/unit_spirv.cpp",
1420*8975f5c5SAndroid Build Coastguard Worker      "test/unit_spirv.h",
1421*8975f5c5SAndroid Build Coastguard Worker    ]
1422*8975f5c5SAndroid Build Coastguard Worker
1423*8975f5c5SAndroid Build Coastguard Worker    deps = [
1424*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1425*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_language_header_cldebuginfo100",
1426*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_language_header_debuginfo",
1427*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_language_header_vkdebuginfo100",
1428*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1429*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_val",
1430*8975f5c5SAndroid Build Coastguard Worker      "//testing/gmock",
1431*8975f5c5SAndroid Build Coastguard Worker      "//testing/gtest",
1432*8975f5c5SAndroid Build Coastguard Worker      "//testing/gtest:gtest_main",
1433*8975f5c5SAndroid Build Coastguard Worker      "//third_party/googletest:gmock",
1434*8975f5c5SAndroid Build Coastguard Worker      "//third_party/googletest:gtest",
1435*8975f5c5SAndroid Build Coastguard Worker    ]
1436*8975f5c5SAndroid Build Coastguard Worker
1437*8975f5c5SAndroid Build Coastguard Worker    if (is_clang) {
1438*8975f5c5SAndroid Build Coastguard Worker      cflags_cc = [ "-Wno-self-assign" ]
1439*8975f5c5SAndroid Build Coastguard Worker    }
1440*8975f5c5SAndroid Build Coastguard Worker
1441*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1442*8975f5c5SAndroid Build Coastguard Worker  }
1443*8975f5c5SAndroid Build Coastguard Worker}
1444*8975f5c5SAndroid Build Coastguard Worker
1445*8975f5c5SAndroid Build Coastguard Workerif (spirv_tools_standalone) {
1446*8975f5c5SAndroid Build Coastguard Worker  group("fuzzers") {
1447*8975f5c5SAndroid Build Coastguard Worker    testonly = true
1448*8975f5c5SAndroid Build Coastguard Worker    deps = [ "test/fuzzers" ]
1449*8975f5c5SAndroid Build Coastguard Worker  }
1450*8975f5c5SAndroid Build Coastguard Worker}
1451*8975f5c5SAndroid Build Coastguard Worker
1452*8975f5c5SAndroid Build Coastguard Workersource_set("spvtools_software_version") {
1453*8975f5c5SAndroid Build Coastguard Worker  sources = [ "source/software_version.cpp" ]
1454*8975f5c5SAndroid Build Coastguard Worker  deps = [
1455*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_build_version",
1456*8975f5c5SAndroid Build Coastguard Worker    ":spvtools_headers",
1457*8975f5c5SAndroid Build Coastguard Worker  ]
1458*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
1459*8975f5c5SAndroid Build Coastguard Worker}
1460*8975f5c5SAndroid Build Coastguard Worker
1461*8975f5c5SAndroid Build Coastguard Workersource_set("spvtools_tools_util") {
1462*8975f5c5SAndroid Build Coastguard Worker  sources = [
1463*8975f5c5SAndroid Build Coastguard Worker    "tools/util/flags.cpp",
1464*8975f5c5SAndroid Build Coastguard Worker    "tools/util/cli_consumer.cpp",
1465*8975f5c5SAndroid Build Coastguard Worker    "tools/util/cli_consumer.h",
1466*8975f5c5SAndroid Build Coastguard Worker  ]
1467*8975f5c5SAndroid Build Coastguard Worker  deps = [ ":spvtools_headers" ]
1468*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
1469*8975f5c5SAndroid Build Coastguard Worker}
1470*8975f5c5SAndroid Build Coastguard Worker
1471*8975f5c5SAndroid Build Coastguard Workersource_set("spvtools_tools_io") {
1472*8975f5c5SAndroid Build Coastguard Worker  sources = [
1473*8975f5c5SAndroid Build Coastguard Worker    "tools/io.cpp",
1474*8975f5c5SAndroid Build Coastguard Worker    "tools/io.h",
1475*8975f5c5SAndroid Build Coastguard Worker  ]
1476*8975f5c5SAndroid Build Coastguard Worker  deps = [ ":spvtools_headers" ]
1477*8975f5c5SAndroid Build Coastguard Worker  configs += [ ":spvtools_internal_config" ]
1478*8975f5c5SAndroid Build Coastguard Worker}
1479*8975f5c5SAndroid Build Coastguard Worker
1480*8975f5c5SAndroid Build Coastguard Workerif (spvtools_build_executables) {
1481*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-as") {
1482*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/as/as.cpp" ]
1483*8975f5c5SAndroid Build Coastguard Worker    deps = [
1484*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1485*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1486*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1487*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1488*8975f5c5SAndroid Build Coastguard Worker    ]
1489*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1490*8975f5c5SAndroid Build Coastguard Worker  }
1491*8975f5c5SAndroid Build Coastguard Worker
1492*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-dis") {
1493*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/dis/dis.cpp" ]
1494*8975f5c5SAndroid Build Coastguard Worker    deps = [
1495*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1496*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1497*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1498*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1499*8975f5c5SAndroid Build Coastguard Worker    ]
1500*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1501*8975f5c5SAndroid Build Coastguard Worker  }
1502*8975f5c5SAndroid Build Coastguard Worker
1503*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-val") {
1504*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/val/val.cpp" ]
1505*8975f5c5SAndroid Build Coastguard Worker    deps = [
1506*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1507*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1508*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1509*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1510*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_val",
1511*8975f5c5SAndroid Build Coastguard Worker    ]
1512*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1513*8975f5c5SAndroid Build Coastguard Worker  }
1514*8975f5c5SAndroid Build Coastguard Worker
1515*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-cfg") {
1516*8975f5c5SAndroid Build Coastguard Worker    sources = [
1517*8975f5c5SAndroid Build Coastguard Worker      "tools/cfg/bin_to_dot.cpp",
1518*8975f5c5SAndroid Build Coastguard Worker      "tools/cfg/bin_to_dot.h",
1519*8975f5c5SAndroid Build Coastguard Worker      "tools/cfg/cfg.cpp",
1520*8975f5c5SAndroid Build Coastguard Worker    ]
1521*8975f5c5SAndroid Build Coastguard Worker    deps = [
1522*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1523*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1524*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1525*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1526*8975f5c5SAndroid Build Coastguard Worker    ]
1527*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1528*8975f5c5SAndroid Build Coastguard Worker  }
1529*8975f5c5SAndroid Build Coastguard Worker
1530*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-opt") {
1531*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/opt/opt.cpp" ]
1532*8975f5c5SAndroid Build Coastguard Worker    deps = [
1533*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1534*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_opt",
1535*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1536*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1537*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1538*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_val",
1539*8975f5c5SAndroid Build Coastguard Worker    ]
1540*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1541*8975f5c5SAndroid Build Coastguard Worker  }
1542*8975f5c5SAndroid Build Coastguard Worker
1543*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-link") {
1544*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/link/linker.cpp" ]
1545*8975f5c5SAndroid Build Coastguard Worker    deps = [
1546*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1547*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_link",
1548*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_opt",
1549*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1550*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1551*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1552*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_val",
1553*8975f5c5SAndroid Build Coastguard Worker    ]
1554*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1555*8975f5c5SAndroid Build Coastguard Worker  }
1556*8975f5c5SAndroid Build Coastguard Worker}
1557*8975f5c5SAndroid Build Coastguard Worker
1558*8975f5c5SAndroid Build Coastguard Workerif (!is_ios && !spirv_is_winuwp && build_with_chromium && spvtools_build_executables) {
1559*8975f5c5SAndroid Build Coastguard Worker  # iOS and UWP do not allow std::system calls which spirv-fuzz
1560*8975f5c5SAndroid Build Coastguard Worker  # requires. Additionally, spirv-fuzz is only built when in a
1561*8975f5c5SAndroid Build Coastguard Worker  # Chromium checkout due to its dependency on protobuf.
1562*8975f5c5SAndroid Build Coastguard Worker
1563*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-fuzz") {
1564*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/fuzz/fuzz.cpp" ]
1565*8975f5c5SAndroid Build Coastguard Worker    deps = [
1566*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1567*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_fuzz",
1568*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_opt",
1569*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_reduce",
1570*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1571*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1572*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1573*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_val",
1574*8975f5c5SAndroid Build Coastguard Worker      "//third_party/protobuf:protobuf_full",
1575*8975f5c5SAndroid Build Coastguard Worker    ]
1576*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1577*8975f5c5SAndroid Build Coastguard Worker  }
1578*8975f5c5SAndroid Build Coastguard Worker}
1579*8975f5c5SAndroid Build Coastguard Worker
1580*8975f5c5SAndroid Build Coastguard Workerif (!is_ios && !spirv_is_winuwp && spvtools_build_executables) {
1581*8975f5c5SAndroid Build Coastguard Worker  # iOS and UWP do not allow std::system calls which spirv-reduce
1582*8975f5c5SAndroid Build Coastguard Worker  # requires.
1583*8975f5c5SAndroid Build Coastguard Worker
1584*8975f5c5SAndroid Build Coastguard Worker  executable("spirv-reduce") {
1585*8975f5c5SAndroid Build Coastguard Worker    sources = [ "tools/reduce/reduce.cpp" ]
1586*8975f5c5SAndroid Build Coastguard Worker    deps = [
1587*8975f5c5SAndroid Build Coastguard Worker      ":spvtools",
1588*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_opt",
1589*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_reduce",
1590*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_software_version",
1591*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_util",
1592*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_tools_io",
1593*8975f5c5SAndroid Build Coastguard Worker      ":spvtools_val",
1594*8975f5c5SAndroid Build Coastguard Worker    ]
1595*8975f5c5SAndroid Build Coastguard Worker    configs += [ ":spvtools_internal_config" ]
1596*8975f5c5SAndroid Build Coastguard Worker  }
1597*8975f5c5SAndroid Build Coastguard Worker}
1598*8975f5c5SAndroid Build Coastguard Worker
1599*8975f5c5SAndroid Build Coastguard Workerif (spvtools_build_executables){
1600*8975f5c5SAndroid Build Coastguard Worker  group("all_spirv_tools") {
1601*8975f5c5SAndroid Build Coastguard Worker    deps = [
1602*8975f5c5SAndroid Build Coastguard Worker      ":spirv-as",
1603*8975f5c5SAndroid Build Coastguard Worker      ":spirv-cfg",
1604*8975f5c5SAndroid Build Coastguard Worker      ":spirv-dis",
1605*8975f5c5SAndroid Build Coastguard Worker      ":spirv-link",
1606*8975f5c5SAndroid Build Coastguard Worker      ":spirv-opt",
1607*8975f5c5SAndroid Build Coastguard Worker      ":spirv-val",
1608*8975f5c5SAndroid Build Coastguard Worker    ]
1609*8975f5c5SAndroid Build Coastguard Worker    if (!is_ios && !spirv_is_winuwp && build_with_chromium) {
1610*8975f5c5SAndroid Build Coastguard Worker      deps += [ ":spirv-fuzz" ]
1611*8975f5c5SAndroid Build Coastguard Worker    }
1612*8975f5c5SAndroid Build Coastguard Worker    if (!is_ios && !spirv_is_winuwp) {
1613*8975f5c5SAndroid Build Coastguard Worker      deps += [ ":spirv-reduce" ]
1614*8975f5c5SAndroid Build Coastguard Worker    }
1615*8975f5c5SAndroid Build Coastguard Worker  }
1616*8975f5c5SAndroid Build Coastguard Worker}
1617