xref: /aosp_15_r20/external/bazelbuild-rules_cc/cc/toolchains/variables/BUILD (revision eed53cd41c5909d05eedc7ad9720bb158fd93452)
1*eed53cd4SHONG Yifanload("//cc/toolchains/impl:variables.bzl", "cc_builtin_variables", "cc_variable", "types")
2*eed53cd4SHONG Yifan
3*eed53cd4SHONG Yifanpackage(default_visibility = ["//visibility:public"])
4*eed53cd4SHONG Yifan
5*eed53cd4SHONG Yifancc_variable(
6*eed53cd4SHONG Yifan    name = "cs_fdo_instrument_path",
7*eed53cd4SHONG Yifan    actions = [
8*eed53cd4SHONG Yifan        "//cc/toolchains/actions:link_actions",
9*eed53cd4SHONG Yifan        "//cc/toolchains/actions:compile_actions",
10*eed53cd4SHONG Yifan    ],
11*eed53cd4SHONG Yifan    type = types.directory,
12*eed53cd4SHONG Yifan)
13*eed53cd4SHONG Yifan
14*eed53cd4SHONG Yifancc_variable(
15*eed53cd4SHONG Yifan    name = "def_file_path",
16*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
17*eed53cd4SHONG Yifan    type = types.option(types.file),
18*eed53cd4SHONG Yifan)
19*eed53cd4SHONG Yifan
20*eed53cd4SHONG Yifancc_variable(
21*eed53cd4SHONG Yifan    name = "dependency_file",
22*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
23*eed53cd4SHONG Yifan    type = types.file,
24*eed53cd4SHONG Yifan)
25*eed53cd4SHONG Yifan
26*eed53cd4SHONG Yifancc_variable(
27*eed53cd4SHONG Yifan    name = "dependent_module_map_files",
28*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
29*eed53cd4SHONG Yifan    type = types.option(types.list(types.file)),
30*eed53cd4SHONG Yifan)
31*eed53cd4SHONG Yifan
32*eed53cd4SHONG Yifancc_variable(
33*eed53cd4SHONG Yifan    name = "external_include_paths",
34*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
35*eed53cd4SHONG Yifan    type = types.option(types.list(types.directory)),
36*eed53cd4SHONG Yifan)
37*eed53cd4SHONG Yifan
38*eed53cd4SHONG Yifancc_variable(
39*eed53cd4SHONG Yifan    name = "fdo_instrument_path",
40*eed53cd4SHONG Yifan    actions = [
41*eed53cd4SHONG Yifan        "//cc/toolchains/actions:link_actions",
42*eed53cd4SHONG Yifan        "//cc/toolchains/actions:compile_actions",
43*eed53cd4SHONG Yifan    ],
44*eed53cd4SHONG Yifan    type = types.directory,
45*eed53cd4SHONG Yifan)
46*eed53cd4SHONG Yifan
47*eed53cd4SHONG Yifancc_variable(
48*eed53cd4SHONG Yifan    name = "fdo_prefetch_hints_path",
49*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
50*eed53cd4SHONG Yifan    type = types.file,
51*eed53cd4SHONG Yifan)
52*eed53cd4SHONG Yifan
53*eed53cd4SHONG Yifancc_variable(
54*eed53cd4SHONG Yifan    name = "fdo_profile_path",
55*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
56*eed53cd4SHONG Yifan    type = types.file,
57*eed53cd4SHONG Yifan)
58*eed53cd4SHONG Yifan
59*eed53cd4SHONG Yifancc_variable(
60*eed53cd4SHONG Yifan    name = "force_pic",
61*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
62*eed53cd4SHONG Yifan    # Provided when --force-pic is passed
63*eed53cd4SHONG Yifan    type = types.option(types.void),
64*eed53cd4SHONG Yifan)
65*eed53cd4SHONG Yifan
66*eed53cd4SHONG Yifancc_variable(
67*eed53cd4SHONG Yifan    name = "framework_include_paths",
68*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
69*eed53cd4SHONG Yifan    type = types.list(types.directory),
70*eed53cd4SHONG Yifan)
71*eed53cd4SHONG Yifan
72*eed53cd4SHONG Yifancc_variable(
73*eed53cd4SHONG Yifan    name = "gcov_gcno_file",
74*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
75*eed53cd4SHONG Yifan    type = types.file,
76*eed53cd4SHONG Yifan)
77*eed53cd4SHONG Yifan
78*eed53cd4SHONG Yifancc_variable(
79*eed53cd4SHONG Yifan    name = "generate_interface_library",
80*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
81*eed53cd4SHONG Yifan    # "yes" or "no"
82*eed53cd4SHONG Yifan    type = types.option(types.string),
83*eed53cd4SHONG Yifan)
84*eed53cd4SHONG Yifan
85*eed53cd4SHONG Yifancc_variable(
86*eed53cd4SHONG Yifan    name = "include",
87*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
88*eed53cd4SHONG Yifan    type = types.list(types.file),
89*eed53cd4SHONG Yifan)
90*eed53cd4SHONG Yifan
91*eed53cd4SHONG Yifancc_variable(
92*eed53cd4SHONG Yifan    name = "include_paths",
93*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
94*eed53cd4SHONG Yifan    type = types.list(types.directory),
95*eed53cd4SHONG Yifan)
96*eed53cd4SHONG Yifan
97*eed53cd4SHONG Yifancc_variable(
98*eed53cd4SHONG Yifan    name = "includes",
99*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
100*eed53cd4SHONG Yifan    type = types.option(types.list(types.file)),
101*eed53cd4SHONG Yifan)
102*eed53cd4SHONG Yifan
103*eed53cd4SHONG Yifancc_variable(
104*eed53cd4SHONG Yifan    name = "input_file",
105*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:strip"],
106*eed53cd4SHONG Yifan    type = types.file,
107*eed53cd4SHONG Yifan)
108*eed53cd4SHONG Yifan
109*eed53cd4SHONG Yifancc_variable(
110*eed53cd4SHONG Yifan    name = "interface_library_builder_path",
111*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
112*eed53cd4SHONG Yifan    # Should be a file, but contains the string "ignored" when there's no value.
113*eed53cd4SHONG Yifan    type = types.option(types.string),
114*eed53cd4SHONG Yifan)
115*eed53cd4SHONG Yifan
116*eed53cd4SHONG Yifancc_variable(
117*eed53cd4SHONG Yifan    name = "interface_library_input_path",
118*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
119*eed53cd4SHONG Yifan    # Should be a file, but contains the string "ignored" when there's no value.
120*eed53cd4SHONG Yifan    type = types.option(types.string),
121*eed53cd4SHONG Yifan)
122*eed53cd4SHONG Yifan
123*eed53cd4SHONG Yifancc_variable(
124*eed53cd4SHONG Yifan    name = "interface_library_output_path",
125*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
126*eed53cd4SHONG Yifan    # Should be a file, but contains the string "ignored" when there's no value.
127*eed53cd4SHONG Yifan    type = types.option(types.string),
128*eed53cd4SHONG Yifan)
129*eed53cd4SHONG Yifan
130*eed53cd4SHONG Yifancc_variable(
131*eed53cd4SHONG Yifan    name = "is_cc_test",
132*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
133*eed53cd4SHONG Yifan    type = types.option(types.bool),
134*eed53cd4SHONG Yifan)
135*eed53cd4SHONG Yifan
136*eed53cd4SHONG Yifancc_variable(
137*eed53cd4SHONG Yifan    name = "is_using_fission",
138*eed53cd4SHONG Yifan    actions = [
139*eed53cd4SHONG Yifan        "//cc/toolchains/actions:link_actions",
140*eed53cd4SHONG Yifan        "//cc/toolchains/actions:compile_actions",
141*eed53cd4SHONG Yifan    ],
142*eed53cd4SHONG Yifan    type = types.option(types.void),
143*eed53cd4SHONG Yifan)
144*eed53cd4SHONG Yifan
145*eed53cd4SHONG Yifancc_variable(
146*eed53cd4SHONG Yifan    name = "legacy_compile_flags",
147*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
148*eed53cd4SHONG Yifan    type = types.list(types.string),
149*eed53cd4SHONG Yifan)
150*eed53cd4SHONG Yifan
151*eed53cd4SHONG Yifancc_variable(
152*eed53cd4SHONG Yifan    name = "legacy_link_flags",
153*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
154*eed53cd4SHONG Yifan    type = types.list(types.string),
155*eed53cd4SHONG Yifan)
156*eed53cd4SHONG Yifan
157*eed53cd4SHONG Yifancc_variable(
158*eed53cd4SHONG Yifan    name = "libraries_to_link",
159*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
160*eed53cd4SHONG Yifan    type = types.option(types.list(types.struct(
161*eed53cd4SHONG Yifan        shared_libraries = types.list(types.struct(
162*eed53cd4SHONG Yifan            name = types.string,
163*eed53cd4SHONG Yifan            is_whole_archive = types.bool,
164*eed53cd4SHONG Yifan            object_files = types.list(types.file),
165*eed53cd4SHONG Yifan            path = types.file,
166*eed53cd4SHONG Yifan            type = types.string,
167*eed53cd4SHONG Yifan        )),
168*eed53cd4SHONG Yifan    ))),
169*eed53cd4SHONG Yifan)
170*eed53cd4SHONG Yifan
171*eed53cd4SHONG Yifancc_variable(
172*eed53cd4SHONG Yifan    name = "libraries_to_link.shared_libraries",
173*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
174*eed53cd4SHONG Yifan    # See :libraries_to_link.
175*eed53cd4SHONG Yifan    type = types.unknown,
176*eed53cd4SHONG Yifan)
177*eed53cd4SHONG Yifan
178*eed53cd4SHONG Yifancc_variable(
179*eed53cd4SHONG Yifan    name = "libraries_to_link.shared_libraries.is_whole_archive",
180*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
181*eed53cd4SHONG Yifan    type = types.string,
182*eed53cd4SHONG Yifan)
183*eed53cd4SHONG Yifan
184*eed53cd4SHONG Yifancc_variable(
185*eed53cd4SHONG Yifan    name = "libraries_to_link.shared_libraries.name",
186*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
187*eed53cd4SHONG Yifan    type = types.string,
188*eed53cd4SHONG Yifan)
189*eed53cd4SHONG Yifan
190*eed53cd4SHONG Yifancc_variable(
191*eed53cd4SHONG Yifan    name = "libraries_to_link.shared_libraries.object_files",
192*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
193*eed53cd4SHONG Yifan    type = types.list(types.file),
194*eed53cd4SHONG Yifan)
195*eed53cd4SHONG Yifan
196*eed53cd4SHONG Yifancc_variable(
197*eed53cd4SHONG Yifan    name = "libraries_to_link.shared_libraries.path",
198*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
199*eed53cd4SHONG Yifan    type = types.file,
200*eed53cd4SHONG Yifan)
201*eed53cd4SHONG Yifan
202*eed53cd4SHONG Yifancc_variable(
203*eed53cd4SHONG Yifan    name = "libraries_to_link.shared_libraries.type",
204*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
205*eed53cd4SHONG Yifan    type = types.string,
206*eed53cd4SHONG Yifan)
207*eed53cd4SHONG Yifan
208*eed53cd4SHONG Yifancc_variable(
209*eed53cd4SHONG Yifan    name = "library_search_directories",
210*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
211*eed53cd4SHONG Yifan    type = types.list(types.directory),
212*eed53cd4SHONG Yifan)
213*eed53cd4SHONG Yifan
214*eed53cd4SHONG Yifancc_variable(
215*eed53cd4SHONG Yifan    name = "linker_param_file",
216*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
217*eed53cd4SHONG Yifan    type = types.file,
218*eed53cd4SHONG Yifan)
219*eed53cd4SHONG Yifan
220*eed53cd4SHONG Yifancc_variable(
221*eed53cd4SHONG Yifan    name = "linkstamp_paths",
222*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
223*eed53cd4SHONG Yifan    type = types.list(types.directory),
224*eed53cd4SHONG Yifan)
225*eed53cd4SHONG Yifan
226*eed53cd4SHONG Yifancc_variable(
227*eed53cd4SHONG Yifan    name = "lto_indexing_bitcode_file",
228*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
229*eed53cd4SHONG Yifan    type = types.option(types.file),
230*eed53cd4SHONG Yifan)
231*eed53cd4SHONG Yifan
232*eed53cd4SHONG Yifancc_variable(
233*eed53cd4SHONG Yifan    name = "module_files",
234*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
235*eed53cd4SHONG Yifan    type = types.option(types.list(types.file)),
236*eed53cd4SHONG Yifan)
237*eed53cd4SHONG Yifan
238*eed53cd4SHONG Yifancc_variable(
239*eed53cd4SHONG Yifan    name = "module_map_file",
240*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
241*eed53cd4SHONG Yifan    type = types.option(types.file),
242*eed53cd4SHONG Yifan)
243*eed53cd4SHONG Yifan
244*eed53cd4SHONG Yifancc_variable(
245*eed53cd4SHONG Yifan    name = "module_name",
246*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
247*eed53cd4SHONG Yifan    type = types.option(types.string),
248*eed53cd4SHONG Yifan)
249*eed53cd4SHONG Yifan
250*eed53cd4SHONG Yifancc_variable(
251*eed53cd4SHONG Yifan    name = "output_assembly_file",
252*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
253*eed53cd4SHONG Yifan    type = types.file,
254*eed53cd4SHONG Yifan)
255*eed53cd4SHONG Yifan
256*eed53cd4SHONG Yifancc_variable(
257*eed53cd4SHONG Yifan    name = "output_execpath",
258*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
259*eed53cd4SHONG Yifan    type = types.option(types.directory),
260*eed53cd4SHONG Yifan)
261*eed53cd4SHONG Yifan
262*eed53cd4SHONG Yifancc_variable(
263*eed53cd4SHONG Yifan    name = "output_file",
264*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
265*eed53cd4SHONG Yifan    type = types.file,
266*eed53cd4SHONG Yifan)
267*eed53cd4SHONG Yifan
268*eed53cd4SHONG Yifancc_variable(
269*eed53cd4SHONG Yifan    name = "output_preprocess_file",
270*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
271*eed53cd4SHONG Yifan    type = types.file,
272*eed53cd4SHONG Yifan)
273*eed53cd4SHONG Yifan
274*eed53cd4SHONG Yifancc_variable(
275*eed53cd4SHONG Yifan    name = "per_object_debug_info_file",
276*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
277*eed53cd4SHONG Yifan    type = types.file,
278*eed53cd4SHONG Yifan)
279*eed53cd4SHONG Yifan
280*eed53cd4SHONG Yifancc_variable(
281*eed53cd4SHONG Yifan    name = "pic",
282*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
283*eed53cd4SHONG Yifan    type = types.option(types.void),
284*eed53cd4SHONG Yifan)
285*eed53cd4SHONG Yifan
286*eed53cd4SHONG Yifancc_variable(
287*eed53cd4SHONG Yifan    name = "preprocessor_defines",
288*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
289*eed53cd4SHONG Yifan    type = types.list(types.string),
290*eed53cd4SHONG Yifan)
291*eed53cd4SHONG Yifan
292*eed53cd4SHONG Yifancc_variable(
293*eed53cd4SHONG Yifan    name = "propellor_optimize_ld_path",
294*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
295*eed53cd4SHONG Yifan    type = types.option(types.file),
296*eed53cd4SHONG Yifan)
297*eed53cd4SHONG Yifan
298*eed53cd4SHONG Yifancc_variable(
299*eed53cd4SHONG Yifan    name = "quote_include_paths",
300*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
301*eed53cd4SHONG Yifan    type = types.list(types.directory),
302*eed53cd4SHONG Yifan)
303*eed53cd4SHONG Yifan
304*eed53cd4SHONG Yifancc_variable(
305*eed53cd4SHONG Yifan    name = "runtime_library_search_directories",
306*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
307*eed53cd4SHONG Yifan    type = types.option(types.list(types.directory)),
308*eed53cd4SHONG Yifan)
309*eed53cd4SHONG Yifan
310*eed53cd4SHONG Yifancc_variable(
311*eed53cd4SHONG Yifan    name = "runtime_solib_name",
312*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
313*eed53cd4SHONG Yifan    type = types.option(types.string),
314*eed53cd4SHONG Yifan)
315*eed53cd4SHONG Yifan
316*eed53cd4SHONG Yifancc_variable(
317*eed53cd4SHONG Yifan    name = "serialized_diagnostics_file",
318*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
319*eed53cd4SHONG Yifan    type = types.option(types.file),
320*eed53cd4SHONG Yifan)
321*eed53cd4SHONG Yifan
322*eed53cd4SHONG Yifancc_variable(
323*eed53cd4SHONG Yifan    name = "source_file",
324*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
325*eed53cd4SHONG Yifan    type = types.file,
326*eed53cd4SHONG Yifan)
327*eed53cd4SHONG Yifan
328*eed53cd4SHONG Yifancc_variable(
329*eed53cd4SHONG Yifan    name = "strip_debug_symbols",
330*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
331*eed53cd4SHONG Yifan    type = types.option(types.void),
332*eed53cd4SHONG Yifan)
333*eed53cd4SHONG Yifan
334*eed53cd4SHONG Yifancc_variable(
335*eed53cd4SHONG Yifan    name = "stripopts",
336*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:strip"],
337*eed53cd4SHONG Yifan    type = types.list(types.string),
338*eed53cd4SHONG Yifan)
339*eed53cd4SHONG Yifan
340*eed53cd4SHONG Yifancc_variable(
341*eed53cd4SHONG Yifan    name = "sysroot",
342*eed53cd4SHONG Yifan    type = types.directory,
343*eed53cd4SHONG Yifan)
344*eed53cd4SHONG Yifan
345*eed53cd4SHONG Yifancc_variable(
346*eed53cd4SHONG Yifan    name = "system_include_paths",
347*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
348*eed53cd4SHONG Yifan    type = types.list(types.directory),
349*eed53cd4SHONG Yifan)
350*eed53cd4SHONG Yifan
351*eed53cd4SHONG Yifancc_variable(
352*eed53cd4SHONG Yifan    name = "thinlto_index",
353*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
354*eed53cd4SHONG Yifan    type = types.option(types.string),
355*eed53cd4SHONG Yifan)
356*eed53cd4SHONG Yifan
357*eed53cd4SHONG Yifancc_variable(
358*eed53cd4SHONG Yifan    name = "thinlto_indexing_param_file",
359*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
360*eed53cd4SHONG Yifan    type = types.option(types.string),
361*eed53cd4SHONG Yifan)
362*eed53cd4SHONG Yifan
363*eed53cd4SHONG Yifancc_variable(
364*eed53cd4SHONG Yifan    name = "thinlto_input_bitcode_file",
365*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
366*eed53cd4SHONG Yifan    type = types.option(types.file),
367*eed53cd4SHONG Yifan)
368*eed53cd4SHONG Yifan
369*eed53cd4SHONG Yifancc_variable(
370*eed53cd4SHONG Yifan    name = "thinlto_merged_object_file",
371*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
372*eed53cd4SHONG Yifan    type = types.option(types.file),
373*eed53cd4SHONG Yifan)
374*eed53cd4SHONG Yifan
375*eed53cd4SHONG Yifancc_variable(
376*eed53cd4SHONG Yifan    name = "thinlto_object_suffix_replace",
377*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
378*eed53cd4SHONG Yifan    type = types.option(types.string),
379*eed53cd4SHONG Yifan)
380*eed53cd4SHONG Yifan
381*eed53cd4SHONG Yifancc_variable(
382*eed53cd4SHONG Yifan    name = "thinlto_output_object_file",
383*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
384*eed53cd4SHONG Yifan    type = types.option(types.file),
385*eed53cd4SHONG Yifan)
386*eed53cd4SHONG Yifan
387*eed53cd4SHONG Yifancc_variable(
388*eed53cd4SHONG Yifan    name = "thinlto_param_file",
389*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
390*eed53cd4SHONG Yifan    type = types.option(types.file),
391*eed53cd4SHONG Yifan)
392*eed53cd4SHONG Yifan
393*eed53cd4SHONG Yifancc_variable(
394*eed53cd4SHONG Yifan    name = "thinlto_prefix_replace",
395*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
396*eed53cd4SHONG Yifan    type = types.option(types.string),
397*eed53cd4SHONG Yifan)
398*eed53cd4SHONG Yifan
399*eed53cd4SHONG Yifancc_variable(
400*eed53cd4SHONG Yifan    name = "unfiltered_compile_flags",
401*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
402*eed53cd4SHONG Yifan    type = types.list(types.string),
403*eed53cd4SHONG Yifan)
404*eed53cd4SHONG Yifan
405*eed53cd4SHONG Yifancc_variable(
406*eed53cd4SHONG Yifan    name = "user_compile_flags",
407*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:compile_actions"],
408*eed53cd4SHONG Yifan    type = types.list(types.string),
409*eed53cd4SHONG Yifan)
410*eed53cd4SHONG Yifan
411*eed53cd4SHONG Yifancc_variable(
412*eed53cd4SHONG Yifan    name = "user_link_flags",
413*eed53cd4SHONG Yifan    actions = ["//cc/toolchains/actions:link_actions"],
414*eed53cd4SHONG Yifan    type = types.list(types.string),
415*eed53cd4SHONG Yifan)
416*eed53cd4SHONG Yifan
417*eed53cd4SHONG Yifancc_builtin_variables(
418*eed53cd4SHONG Yifan    name = "variables",
419*eed53cd4SHONG Yifan    srcs = [
420*eed53cd4SHONG Yifan        ":cs_fdo_instrument_path",
421*eed53cd4SHONG Yifan        ":def_file_path",
422*eed53cd4SHONG Yifan        ":dependency_file",
423*eed53cd4SHONG Yifan        ":dependent_module_map_files",
424*eed53cd4SHONG Yifan        ":external_include_paths",
425*eed53cd4SHONG Yifan        ":fdo_instrument_path",
426*eed53cd4SHONG Yifan        ":fdo_prefetch_hints_path",
427*eed53cd4SHONG Yifan        ":fdo_profile_path",
428*eed53cd4SHONG Yifan        ":force_pic",
429*eed53cd4SHONG Yifan        ":framework_include_paths",
430*eed53cd4SHONG Yifan        ":gcov_gcno_file",
431*eed53cd4SHONG Yifan        ":generate_interface_library",
432*eed53cd4SHONG Yifan        ":include",
433*eed53cd4SHONG Yifan        ":include_paths",
434*eed53cd4SHONG Yifan        ":includes",
435*eed53cd4SHONG Yifan        ":input_file",
436*eed53cd4SHONG Yifan        ":interface_library_builder_path",
437*eed53cd4SHONG Yifan        ":interface_library_input_path",
438*eed53cd4SHONG Yifan        ":interface_library_output_path",
439*eed53cd4SHONG Yifan        ":is_cc_test",
440*eed53cd4SHONG Yifan        ":is_using_fission",
441*eed53cd4SHONG Yifan        ":legacy_compile_flags",
442*eed53cd4SHONG Yifan        ":legacy_link_flags",
443*eed53cd4SHONG Yifan        ":libraries_to_link",
444*eed53cd4SHONG Yifan        ":library_search_directories",
445*eed53cd4SHONG Yifan        ":linker_param_file",
446*eed53cd4SHONG Yifan        ":linkstamp_paths",
447*eed53cd4SHONG Yifan        ":lto_indexing_bitcode_file",
448*eed53cd4SHONG Yifan        ":module_files",
449*eed53cd4SHONG Yifan        ":module_map_file",
450*eed53cd4SHONG Yifan        ":module_name",
451*eed53cd4SHONG Yifan        ":output_assembly_file",
452*eed53cd4SHONG Yifan        ":output_execpath",
453*eed53cd4SHONG Yifan        ":output_file",
454*eed53cd4SHONG Yifan        ":output_preprocess_file",
455*eed53cd4SHONG Yifan        ":per_object_debug_info_file",
456*eed53cd4SHONG Yifan        ":pic",
457*eed53cd4SHONG Yifan        ":preprocessor_defines",
458*eed53cd4SHONG Yifan        ":propellor_optimize_ld_path",
459*eed53cd4SHONG Yifan        ":quote_include_paths",
460*eed53cd4SHONG Yifan        ":runtime_library_search_directories",
461*eed53cd4SHONG Yifan        ":runtime_solib_name",
462*eed53cd4SHONG Yifan        ":serialized_diagnostics_file",
463*eed53cd4SHONG Yifan        ":source_file",
464*eed53cd4SHONG Yifan        ":strip_debug_symbols",
465*eed53cd4SHONG Yifan        ":stripopts",
466*eed53cd4SHONG Yifan        ":sysroot",
467*eed53cd4SHONG Yifan        ":system_include_paths",
468*eed53cd4SHONG Yifan        ":thinlto_index",
469*eed53cd4SHONG Yifan        ":thinlto_indexing_param_file",
470*eed53cd4SHONG Yifan        ":thinlto_input_bitcode_file",
471*eed53cd4SHONG Yifan        ":thinlto_merged_object_file",
472*eed53cd4SHONG Yifan        ":thinlto_object_suffix_replace",
473*eed53cd4SHONG Yifan        ":thinlto_output_object_file",
474*eed53cd4SHONG Yifan        ":thinlto_param_file",
475*eed53cd4SHONG Yifan        ":thinlto_prefix_replace",
476*eed53cd4SHONG Yifan        ":unfiltered_compile_flags",
477*eed53cd4SHONG Yifan        ":user_compile_flags",
478*eed53cd4SHONG Yifan        ":user_link_flags",
479*eed53cd4SHONG Yifan    ],
480*eed53cd4SHONG Yifan    visibility = ["//visibility:public"],
481*eed53cd4SHONG Yifan)
482