xref: /aosp_15_r20/external/pigweed/pw_toolchain_bazel/actions/BUILD.bazel (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1# Copyright 2024 The Pigweed Authors
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7#     https://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES")
16load("//actions:defs.bzl", "pw_cc_action_name", "pw_cc_action_name_set")
17
18package(default_visibility = ["//visibility:public"])
19
20# The following entries are copied from action_names.bzl.
21
22pw_cc_action_name(
23    name = "c_compile",
24    action_name = ACTION_NAMES.c_compile,
25)
26
27pw_cc_action_name(
28    name = "cpp_compile",
29    action_name = ACTION_NAMES.cpp_compile,
30)
31
32pw_cc_action_name(
33    name = "linkstamp_compile",
34    action_name = ACTION_NAMES.linkstamp_compile,
35)
36
37pw_cc_action_name(
38    name = "cc_flags_make_variable",
39    action_name = ACTION_NAMES.cc_flags_make_variable,
40)
41
42pw_cc_action_name(
43    name = "cpp_module_codegen",
44    action_name = ACTION_NAMES.cpp_module_codegen,
45)
46
47pw_cc_action_name(
48    name = "cpp_header_parsing",
49    action_name = ACTION_NAMES.cpp_header_parsing,
50)
51
52pw_cc_action_name(
53    name = "cpp_module_compile",
54    action_name = ACTION_NAMES.cpp_module_compile,
55)
56
57pw_cc_action_name(
58    name = "assemble",
59    action_name = ACTION_NAMES.assemble,
60)
61
62pw_cc_action_name(
63    name = "preprocess_assemble",
64    action_name = ACTION_NAMES.preprocess_assemble,
65)
66
67pw_cc_action_name(
68    name = "llvm_cov",
69    action_name = ACTION_NAMES.llvm_cov,
70)
71
72pw_cc_action_name(
73    name = "lto_indexing",
74    action_name = ACTION_NAMES.lto_indexing,
75)
76
77pw_cc_action_name(
78    name = "lto_backend",
79    action_name = ACTION_NAMES.lto_backend,
80)
81
82pw_cc_action_name(
83    name = "lto_index_for_executable",
84    action_name = ACTION_NAMES.lto_index_for_executable,
85)
86
87pw_cc_action_name(
88    name = "lto_index_for_dynamic_library",
89    action_name = ACTION_NAMES.lto_index_for_dynamic_library,
90)
91
92pw_cc_action_name(
93    name = "lto_index_for_nodeps_dynamic_library",
94    action_name = ACTION_NAMES.lto_index_for_nodeps_dynamic_library,
95)
96
97pw_cc_action_name(
98    name = "cpp_link_executable",
99    action_name = ACTION_NAMES.cpp_link_executable,
100)
101
102pw_cc_action_name(
103    name = "cpp_link_dynamic_library",
104    action_name = ACTION_NAMES.cpp_link_dynamic_library,
105)
106
107pw_cc_action_name(
108    name = "cpp_link_nodeps_dynamic_library",
109    action_name = ACTION_NAMES.cpp_link_nodeps_dynamic_library,
110)
111
112pw_cc_action_name(
113    name = "cpp_link_static_library",
114    action_name = ACTION_NAMES.cpp_link_static_library,
115)
116
117pw_cc_action_name(
118    name = "strip",
119    action_name = ACTION_NAMES.strip,
120)
121
122pw_cc_action_name(
123    name = "objc_compile",
124    action_name = ACTION_NAMES.objc_compile,
125)
126
127pw_cc_action_name(
128    name = "objc_executable",
129    action_name = ACTION_NAMES.objc_executable,
130)
131
132pw_cc_action_name(
133    name = "objc_fully_link",
134    action_name = ACTION_NAMES.objc_fully_link,
135)
136
137pw_cc_action_name(
138    name = "objcpp_compile",
139    action_name = ACTION_NAMES.objcpp_compile,
140)
141
142pw_cc_action_name(
143    name = "clif_match",
144    action_name = ACTION_NAMES.clif_match,
145)
146
147pw_cc_action_name(
148    name = "objcopy_embed_data",
149    action_name = ACTION_NAMES.objcopy_embed_data,
150)
151
152# This action name isn't yet a well-known action name.
153pw_cc_action_name(
154    name = "objdump_embed_data",
155    action_name = "objdump_embed_data",
156)
157
158pw_cc_action_name_set(
159    name = "all_ar_actions",
160    actions = [":cpp_link_static_library"],
161)
162
163pw_cc_action_name_set(
164    name = "all_asm_actions",
165    actions = [
166        ":assemble",
167        ":preprocess_assemble",
168    ],
169)
170
171pw_cc_action_name_set(
172    name = "all_c_compiler_actions",
173    actions = [
174        ":c_compile",
175        ":cc_flags_make_variable",
176    ],
177)
178
179pw_cc_action_name_set(
180    name = "all_compiler_actions",
181    actions = [
182        ":all_c_compiler_actions",
183        ":all_cpp_compiler_actions",
184    ],
185)
186
187pw_cc_action_name_set(
188    name = "all_coverage_actions",
189    actions = [":llvm_cov"],
190)
191
192pw_cc_action_name_set(
193    name = "all_cpp_compiler_actions",
194    actions = [
195        ":cpp_compile",
196        ":cpp_header_parsing",
197    ],
198)
199
200pw_cc_action_name_set(
201    name = "all_link_actions",
202    actions = [
203        ":cpp_link_executable",
204        ":cpp_link_dynamic_library",
205        ":cpp_link_nodeps_dynamic_library",
206    ],
207)
208
209pw_cc_action_name_set(
210    name = "all_objcopy_actions",
211    actions = [":objcopy_embed_data"],
212)
213
214pw_cc_action_name_set(
215    name = "all_objdump_actions",
216    actions = [":objdump_embed_data"],
217)
218
219pw_cc_action_name_set(
220    name = "all_strip_actions",
221    actions = [":strip"],
222)
223
224pw_cc_action_name_set(
225    name = "all_actions",
226    actions = [
227        ":c_compile",
228        ":cpp_compile",
229        ":linkstamp_compile",
230        ":cc_flags_make_variable",
231        ":cpp_module_codegen",
232        ":cpp_header_parsing",
233        ":cpp_module_compile",
234        ":assemble",
235        ":preprocess_assemble",
236        ":llvm_cov",
237        ":lto_indexing",
238        ":lto_backend",
239        ":lto_index_for_executable",
240        ":lto_index_for_dynamic_library",
241        ":lto_index_for_nodeps_dynamic_library",
242        ":cpp_link_executable",
243        ":cpp_link_dynamic_library",
244        ":cpp_link_nodeps_dynamic_library",
245        ":cpp_link_static_library",
246        ":strip",
247        ":objc_compile",
248        ":objc_executable",
249        ":objc_fully_link",
250        ":objcpp_compile",
251        ":clif_match",
252        ":objcopy_embed_data",
253        ":objdump_embed_data",
254    ],
255)
256