xref: /aosp_15_r20/external/pigweed/pw_async2/BUILD.bazel (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2023 The Pigweed Authors
2*61c4878aSAndroid Build Coastguard Worker#
3*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of
5*61c4878aSAndroid Build Coastguard Worker# the License at
6*61c4878aSAndroid Build Coastguard Worker#
7*61c4878aSAndroid Build Coastguard Worker#     https://www.apache.org/licenses/LICENSE-2.0
8*61c4878aSAndroid Build Coastguard Worker#
9*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under
13*61c4878aSAndroid Build Coastguard Worker# the License.
14*61c4878aSAndroid Build Coastguard Worker
15*61c4878aSAndroid Build Coastguard Workerload("@rules_python//sphinxdocs:sphinx_docs_library.bzl", "sphinx_docs_library")
16*61c4878aSAndroid Build Coastguard Workerload(
17*61c4878aSAndroid Build Coastguard Worker    "//pw_build:compatibility.bzl",
18*61c4878aSAndroid Build Coastguard Worker    "incompatible_with_mcu",
19*61c4878aSAndroid Build Coastguard Worker    "minimum_cxx_20",
20*61c4878aSAndroid Build Coastguard Worker)
21*61c4878aSAndroid Build Coastguard Workerload("//pw_unit_test:pw_cc_test.bzl", "pw_cc_test")
22*61c4878aSAndroid Build Coastguard Worker
23*61c4878aSAndroid Build Coastguard Workerpackage(default_visibility = ["//visibility:public"])
24*61c4878aSAndroid Build Coastguard Worker
25*61c4878aSAndroid Build Coastguard Workerlicenses(["notice"])
26*61c4878aSAndroid Build Coastguard Worker
27*61c4878aSAndroid Build Coastguard Workercc_library(
28*61c4878aSAndroid Build Coastguard Worker    name = "poll",
29*61c4878aSAndroid Build Coastguard Worker    hdrs = [
30*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/internal/poll_internal.h",
31*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/poll.h",
32*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/try.h",
33*61c4878aSAndroid Build Coastguard Worker    ],
34*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
35*61c4878aSAndroid Build Coastguard Worker    deps = [
36*61c4878aSAndroid Build Coastguard Worker        "//pw_polyfill",
37*61c4878aSAndroid Build Coastguard Worker        "//pw_string:to_string",
38*61c4878aSAndroid Build Coastguard Worker        "//third_party/fuchsia:stdcompat",
39*61c4878aSAndroid Build Coastguard Worker    ],
40*61c4878aSAndroid Build Coastguard Worker)
41*61c4878aSAndroid Build Coastguard Worker
42*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
43*61c4878aSAndroid Build Coastguard Worker    name = "poll_test",
44*61c4878aSAndroid Build Coastguard Worker    srcs = ["poll_test.cc"],
45*61c4878aSAndroid Build Coastguard Worker    deps = [
46*61c4878aSAndroid Build Coastguard Worker        ":poll",
47*61c4878aSAndroid Build Coastguard Worker        "//pw_result",
48*61c4878aSAndroid Build Coastguard Worker    ],
49*61c4878aSAndroid Build Coastguard Worker)
50*61c4878aSAndroid Build Coastguard Worker
51*61c4878aSAndroid Build Coastguard Worker# NOTE: this target should only be used directly by implementors of the
52*61c4878aSAndroid Build Coastguard Worker# `dispatcher` facade.
53*61c4878aSAndroid Build Coastguard Workercc_library(
54*61c4878aSAndroid Build Coastguard Worker    name = "dispatcher_base",
55*61c4878aSAndroid Build Coastguard Worker    srcs = [
56*61c4878aSAndroid Build Coastguard Worker        "dispatcher_base.cc",
57*61c4878aSAndroid Build Coastguard Worker    ],
58*61c4878aSAndroid Build Coastguard Worker    hdrs = [
59*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/dispatcher_base.h",
60*61c4878aSAndroid Build Coastguard Worker    ],
61*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
62*61c4878aSAndroid Build Coastguard Worker    deps = [
63*61c4878aSAndroid Build Coastguard Worker        ":poll",
64*61c4878aSAndroid Build Coastguard Worker        "//pw_assert",
65*61c4878aSAndroid Build Coastguard Worker        "//pw_chrono:system_clock",
66*61c4878aSAndroid Build Coastguard Worker        "//pw_containers:vector",
67*61c4878aSAndroid Build Coastguard Worker        "//pw_sync:interrupt_spin_lock",
68*61c4878aSAndroid Build Coastguard Worker        "//pw_sync:lock_annotations",
69*61c4878aSAndroid Build Coastguard Worker        "//pw_sync:mutex",
70*61c4878aSAndroid Build Coastguard Worker        "//pw_toolchain:no_destructor",
71*61c4878aSAndroid Build Coastguard Worker    ],
72*61c4878aSAndroid Build Coastguard Worker)
73*61c4878aSAndroid Build Coastguard Worker
74*61c4878aSAndroid Build Coastguard Workercc_library(
75*61c4878aSAndroid Build Coastguard Worker    name = "dispatcher",
76*61c4878aSAndroid Build Coastguard Worker    hdrs = [
77*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/dispatcher.h",
78*61c4878aSAndroid Build Coastguard Worker    ],
79*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
80*61c4878aSAndroid Build Coastguard Worker    deps = [
81*61c4878aSAndroid Build Coastguard Worker        ":dispatcher_backend",
82*61c4878aSAndroid Build Coastguard Worker        ":dispatcher_base",
83*61c4878aSAndroid Build Coastguard Worker    ],
84*61c4878aSAndroid Build Coastguard Worker)
85*61c4878aSAndroid Build Coastguard Worker
86*61c4878aSAndroid Build Coastguard Workerlabel_flag(
87*61c4878aSAndroid Build Coastguard Worker    name = "dispatcher_backend",
88*61c4878aSAndroid Build Coastguard Worker    build_setting_default = ":dispatcher_backend_multiplexer",
89*61c4878aSAndroid Build Coastguard Worker)
90*61c4878aSAndroid Build Coastguard Worker
91*61c4878aSAndroid Build Coastguard Workercc_library(
92*61c4878aSAndroid Build Coastguard Worker    name = "dispatcher_backend_multiplexer",
93*61c4878aSAndroid Build Coastguard Worker    visibility = ["//targets:__pkg__"],
94*61c4878aSAndroid Build Coastguard Worker    deps = select({
95*61c4878aSAndroid Build Coastguard Worker        "@platforms//os:linux": ["//pw_async2_epoll:dispatcher"],
96*61c4878aSAndroid Build Coastguard Worker        "//conditions:default": ["//pw_async2_basic:dispatcher"],
97*61c4878aSAndroid Build Coastguard Worker    }),
98*61c4878aSAndroid Build Coastguard Worker)
99*61c4878aSAndroid Build Coastguard Worker
100*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
101*61c4878aSAndroid Build Coastguard Worker    name = "dispatcher_test",
102*61c4878aSAndroid Build Coastguard Worker    srcs = ["dispatcher_test.cc"],
103*61c4878aSAndroid Build Coastguard Worker    deps = [":dispatcher"],
104*61c4878aSAndroid Build Coastguard Worker)
105*61c4878aSAndroid Build Coastguard Worker
106*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
107*61c4878aSAndroid Build Coastguard Worker    name = "dispatcher_thread_test",
108*61c4878aSAndroid Build Coastguard Worker    srcs = ["dispatcher_thread_test.cc"],
109*61c4878aSAndroid Build Coastguard Worker    # TODO: b/343776738 - update to run on all compatible devices
110*61c4878aSAndroid Build Coastguard Worker    target_compatible_with = incompatible_with_mcu(),
111*61c4878aSAndroid Build Coastguard Worker    deps = [
112*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
113*61c4878aSAndroid Build Coastguard Worker        "//pw_function",
114*61c4878aSAndroid Build Coastguard Worker        "//pw_thread:sleep",
115*61c4878aSAndroid Build Coastguard Worker        "//pw_thread:thread",
116*61c4878aSAndroid Build Coastguard Worker    ],
117*61c4878aSAndroid Build Coastguard Worker)
118*61c4878aSAndroid Build Coastguard Worker
119*61c4878aSAndroid Build Coastguard Workercc_library(
120*61c4878aSAndroid Build Coastguard Worker    name = "pend_func_task",
121*61c4878aSAndroid Build Coastguard Worker    hdrs = [
122*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/pend_func_task.h",
123*61c4878aSAndroid Build Coastguard Worker    ],
124*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
125*61c4878aSAndroid Build Coastguard Worker    deps = [
126*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
127*61c4878aSAndroid Build Coastguard Worker        "//pw_function",
128*61c4878aSAndroid Build Coastguard Worker    ],
129*61c4878aSAndroid Build Coastguard Worker)
130*61c4878aSAndroid Build Coastguard Worker
131*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
132*61c4878aSAndroid Build Coastguard Worker    name = "pend_func_task_test",
133*61c4878aSAndroid Build Coastguard Worker    srcs = ["pend_func_task_test.cc"],
134*61c4878aSAndroid Build Coastguard Worker    deps = [":pend_func_task"],
135*61c4878aSAndroid Build Coastguard Worker)
136*61c4878aSAndroid Build Coastguard Worker
137*61c4878aSAndroid Build Coastguard Workercc_library(
138*61c4878aSAndroid Build Coastguard Worker    name = "pendable_as_task",
139*61c4878aSAndroid Build Coastguard Worker    hdrs = [
140*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/pendable_as_task.h",
141*61c4878aSAndroid Build Coastguard Worker    ],
142*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
143*61c4878aSAndroid Build Coastguard Worker    deps = [
144*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
145*61c4878aSAndroid Build Coastguard Worker    ],
146*61c4878aSAndroid Build Coastguard Worker)
147*61c4878aSAndroid Build Coastguard Worker
148*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
149*61c4878aSAndroid Build Coastguard Worker    name = "pendable_as_task_test",
150*61c4878aSAndroid Build Coastguard Worker    srcs = ["pendable_as_task_test.cc"],
151*61c4878aSAndroid Build Coastguard Worker    deps = [":pendable_as_task"],
152*61c4878aSAndroid Build Coastguard Worker)
153*61c4878aSAndroid Build Coastguard Worker
154*61c4878aSAndroid Build Coastguard Workercc_library(
155*61c4878aSAndroid Build Coastguard Worker    name = "allocate_task",
156*61c4878aSAndroid Build Coastguard Worker    hdrs = [
157*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/allocate_task.h",
158*61c4878aSAndroid Build Coastguard Worker    ],
159*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
160*61c4878aSAndroid Build Coastguard Worker    deps = [
161*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
162*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:allocator",
163*61c4878aSAndroid Build Coastguard Worker    ],
164*61c4878aSAndroid Build Coastguard Worker)
165*61c4878aSAndroid Build Coastguard Worker
166*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
167*61c4878aSAndroid Build Coastguard Worker    name = "allocate_task_test",
168*61c4878aSAndroid Build Coastguard Worker    srcs = ["allocate_task_test.cc"],
169*61c4878aSAndroid Build Coastguard Worker    deps = [
170*61c4878aSAndroid Build Coastguard Worker        ":allocate_task",
171*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:testing",
172*61c4878aSAndroid Build Coastguard Worker    ],
173*61c4878aSAndroid Build Coastguard Worker)
174*61c4878aSAndroid Build Coastguard Worker
175*61c4878aSAndroid Build Coastguard Workercc_library(
176*61c4878aSAndroid Build Coastguard Worker    name = "once_sender",
177*61c4878aSAndroid Build Coastguard Worker    hdrs = [
178*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/once_sender.h",
179*61c4878aSAndroid Build Coastguard Worker    ],
180*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
181*61c4878aSAndroid Build Coastguard Worker    deps = [
182*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
183*61c4878aSAndroid Build Coastguard Worker        "//pw_function",
184*61c4878aSAndroid Build Coastguard Worker    ],
185*61c4878aSAndroid Build Coastguard Worker)
186*61c4878aSAndroid Build Coastguard Worker
187*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
188*61c4878aSAndroid Build Coastguard Worker    name = "once_sender_test",
189*61c4878aSAndroid Build Coastguard Worker    srcs = [
190*61c4878aSAndroid Build Coastguard Worker        "once_sender_test.cc",
191*61c4878aSAndroid Build Coastguard Worker    ],
192*61c4878aSAndroid Build Coastguard Worker    deps = [
193*61c4878aSAndroid Build Coastguard Worker        ":once_sender",
194*61c4878aSAndroid Build Coastguard Worker        "//pw_containers:vector",
195*61c4878aSAndroid Build Coastguard Worker    ],
196*61c4878aSAndroid Build Coastguard Worker)
197*61c4878aSAndroid Build Coastguard Worker
198*61c4878aSAndroid Build Coastguard Workercc_library(
199*61c4878aSAndroid Build Coastguard Worker    name = "coro",
200*61c4878aSAndroid Build Coastguard Worker    srcs = [
201*61c4878aSAndroid Build Coastguard Worker        "coro.cc",
202*61c4878aSAndroid Build Coastguard Worker    ],
203*61c4878aSAndroid Build Coastguard Worker    hdrs = [
204*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/coro.h",
205*61c4878aSAndroid Build Coastguard Worker    ],
206*61c4878aSAndroid Build Coastguard Worker    implementation_deps = [
207*61c4878aSAndroid Build Coastguard Worker        "//pw_log",
208*61c4878aSAndroid Build Coastguard Worker    ],
209*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
210*61c4878aSAndroid Build Coastguard Worker    target_compatible_with = minimum_cxx_20(),
211*61c4878aSAndroid Build Coastguard Worker    deps = [
212*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
213*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:allocator",
214*61c4878aSAndroid Build Coastguard Worker        "//pw_function",
215*61c4878aSAndroid Build Coastguard Worker    ],
216*61c4878aSAndroid Build Coastguard Worker)
217*61c4878aSAndroid Build Coastguard Worker
218*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
219*61c4878aSAndroid Build Coastguard Worker    name = "coro_test",
220*61c4878aSAndroid Build Coastguard Worker    srcs = ["coro_test.cc"],
221*61c4878aSAndroid Build Coastguard Worker    deps = [
222*61c4878aSAndroid Build Coastguard Worker        ":coro",
223*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
224*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:null_allocator",
225*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:testing",
226*61c4878aSAndroid Build Coastguard Worker    ],
227*61c4878aSAndroid Build Coastguard Worker)
228*61c4878aSAndroid Build Coastguard Worker
229*61c4878aSAndroid Build Coastguard Workercc_library(
230*61c4878aSAndroid Build Coastguard Worker    name = "coro_or_else_task",
231*61c4878aSAndroid Build Coastguard Worker    hdrs = [
232*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/coro_or_else_task.h",
233*61c4878aSAndroid Build Coastguard Worker    ],
234*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
235*61c4878aSAndroid Build Coastguard Worker    deps = [
236*61c4878aSAndroid Build Coastguard Worker        ":coro",
237*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
238*61c4878aSAndroid Build Coastguard Worker        "//pw_function",
239*61c4878aSAndroid Build Coastguard Worker    ],
240*61c4878aSAndroid Build Coastguard Worker)
241*61c4878aSAndroid Build Coastguard Worker
242*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
243*61c4878aSAndroid Build Coastguard Worker    name = "coro_or_else_task_test",
244*61c4878aSAndroid Build Coastguard Worker    srcs = ["coro_or_else_task_test.cc"],
245*61c4878aSAndroid Build Coastguard Worker    deps = [
246*61c4878aSAndroid Build Coastguard Worker        ":coro",
247*61c4878aSAndroid Build Coastguard Worker        ":coro_or_else_task",
248*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
249*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:null_allocator",
250*61c4878aSAndroid Build Coastguard Worker        "//pw_allocator:testing",
251*61c4878aSAndroid Build Coastguard Worker    ],
252*61c4878aSAndroid Build Coastguard Worker)
253*61c4878aSAndroid Build Coastguard Worker
254*61c4878aSAndroid Build Coastguard Workercc_library(
255*61c4878aSAndroid Build Coastguard Worker    name = "time_provider",
256*61c4878aSAndroid Build Coastguard Worker    srcs = [
257*61c4878aSAndroid Build Coastguard Worker        "time_provider.cc",
258*61c4878aSAndroid Build Coastguard Worker    ],
259*61c4878aSAndroid Build Coastguard Worker    hdrs = [
260*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/time_provider.h",
261*61c4878aSAndroid Build Coastguard Worker    ],
262*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
263*61c4878aSAndroid Build Coastguard Worker    deps = [
264*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
265*61c4878aSAndroid Build Coastguard Worker        "//pw_chrono:virtual_clock",
266*61c4878aSAndroid Build Coastguard Worker        "//pw_containers:intrusive_list",
267*61c4878aSAndroid Build Coastguard Worker        "//pw_sync:interrupt_spin_lock",
268*61c4878aSAndroid Build Coastguard Worker        "//pw_toolchain:no_destructor",
269*61c4878aSAndroid Build Coastguard Worker    ],
270*61c4878aSAndroid Build Coastguard Worker)
271*61c4878aSAndroid Build Coastguard Worker
272*61c4878aSAndroid Build Coastguard Workercc_library(
273*61c4878aSAndroid Build Coastguard Worker    name = "system_time_provider",
274*61c4878aSAndroid Build Coastguard Worker    srcs = [
275*61c4878aSAndroid Build Coastguard Worker        "system_time_provider.cc",
276*61c4878aSAndroid Build Coastguard Worker    ],
277*61c4878aSAndroid Build Coastguard Worker    hdrs = [
278*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/system_time_provider.h",
279*61c4878aSAndroid Build Coastguard Worker    ],
280*61c4878aSAndroid Build Coastguard Worker    implementation_deps = [
281*61c4878aSAndroid Build Coastguard Worker        "//pw_chrono:system_timer",
282*61c4878aSAndroid Build Coastguard Worker        "//pw_toolchain:no_destructor",
283*61c4878aSAndroid Build Coastguard Worker    ],
284*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
285*61c4878aSAndroid Build Coastguard Worker    deps = [
286*61c4878aSAndroid Build Coastguard Worker        ":time_provider",
287*61c4878aSAndroid Build Coastguard Worker        "//pw_chrono:system_clock",
288*61c4878aSAndroid Build Coastguard Worker    ],
289*61c4878aSAndroid Build Coastguard Worker)
290*61c4878aSAndroid Build Coastguard Worker
291*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
292*61c4878aSAndroid Build Coastguard Worker    name = "system_time_provider_test",
293*61c4878aSAndroid Build Coastguard Worker    srcs = [
294*61c4878aSAndroid Build Coastguard Worker        "system_time_provider_test.cc",
295*61c4878aSAndroid Build Coastguard Worker    ],
296*61c4878aSAndroid Build Coastguard Worker    deps = [
297*61c4878aSAndroid Build Coastguard Worker        ":system_time_provider",
298*61c4878aSAndroid Build Coastguard Worker        "//pw_unit_test",
299*61c4878aSAndroid Build Coastguard Worker    ],
300*61c4878aSAndroid Build Coastguard Worker)
301*61c4878aSAndroid Build Coastguard Worker
302*61c4878aSAndroid Build Coastguard Workercc_library(
303*61c4878aSAndroid Build Coastguard Worker    name = "simulated_time_provider",
304*61c4878aSAndroid Build Coastguard Worker    hdrs = [
305*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/simulated_time_provider.h",
306*61c4878aSAndroid Build Coastguard Worker    ],
307*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
308*61c4878aSAndroid Build Coastguard Worker    deps = [
309*61c4878aSAndroid Build Coastguard Worker        ":time_provider",
310*61c4878aSAndroid Build Coastguard Worker        "//pw_sync:interrupt_spin_lock",
311*61c4878aSAndroid Build Coastguard Worker    ],
312*61c4878aSAndroid Build Coastguard Worker)
313*61c4878aSAndroid Build Coastguard Worker
314*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
315*61c4878aSAndroid Build Coastguard Worker    name = "simulated_time_provider_test",
316*61c4878aSAndroid Build Coastguard Worker    srcs = [
317*61c4878aSAndroid Build Coastguard Worker        "simulated_time_provider_test.cc",
318*61c4878aSAndroid Build Coastguard Worker    ],
319*61c4878aSAndroid Build Coastguard Worker    deps = [
320*61c4878aSAndroid Build Coastguard Worker        ":simulated_time_provider",
321*61c4878aSAndroid Build Coastguard Worker        "//pw_chrono:system_clock",
322*61c4878aSAndroid Build Coastguard Worker        "//pw_unit_test",
323*61c4878aSAndroid Build Coastguard Worker    ],
324*61c4878aSAndroid Build Coastguard Worker)
325*61c4878aSAndroid Build Coastguard Worker
326*61c4878aSAndroid Build Coastguard Workercc_library(
327*61c4878aSAndroid Build Coastguard Worker    name = "enqueue_heap_func",
328*61c4878aSAndroid Build Coastguard Worker    hdrs = [
329*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/enqueue_heap_func.h",
330*61c4878aSAndroid Build Coastguard Worker    ],
331*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
332*61c4878aSAndroid Build Coastguard Worker    deps = [
333*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
334*61c4878aSAndroid Build Coastguard Worker    ],
335*61c4878aSAndroid Build Coastguard Worker)
336*61c4878aSAndroid Build Coastguard Worker
337*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
338*61c4878aSAndroid Build Coastguard Worker    name = "enqueue_heap_func_test",
339*61c4878aSAndroid Build Coastguard Worker    srcs = [
340*61c4878aSAndroid Build Coastguard Worker        "enqueue_heap_func_test.cc",
341*61c4878aSAndroid Build Coastguard Worker    ],
342*61c4878aSAndroid Build Coastguard Worker    deps = [
343*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
344*61c4878aSAndroid Build Coastguard Worker        ":enqueue_heap_func",
345*61c4878aSAndroid Build Coastguard Worker        "//pw_unit_test",
346*61c4878aSAndroid Build Coastguard Worker    ],
347*61c4878aSAndroid Build Coastguard Worker)
348*61c4878aSAndroid Build Coastguard Worker
349*61c4878aSAndroid Build Coastguard Workercc_library(
350*61c4878aSAndroid Build Coastguard Worker    name = "join",
351*61c4878aSAndroid Build Coastguard Worker    hdrs = [
352*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/join.h",
353*61c4878aSAndroid Build Coastguard Worker    ],
354*61c4878aSAndroid Build Coastguard Worker    strip_include_prefix = "public",
355*61c4878aSAndroid Build Coastguard Worker    deps = [
356*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
357*61c4878aSAndroid Build Coastguard Worker    ],
358*61c4878aSAndroid Build Coastguard Worker)
359*61c4878aSAndroid Build Coastguard Worker
360*61c4878aSAndroid Build Coastguard Workerpw_cc_test(
361*61c4878aSAndroid Build Coastguard Worker    name = "join_test",
362*61c4878aSAndroid Build Coastguard Worker    srcs = [
363*61c4878aSAndroid Build Coastguard Worker        "join_test.cc",
364*61c4878aSAndroid Build Coastguard Worker    ],
365*61c4878aSAndroid Build Coastguard Worker    deps = [
366*61c4878aSAndroid Build Coastguard Worker        ":dispatcher",
367*61c4878aSAndroid Build Coastguard Worker        ":join",
368*61c4878aSAndroid Build Coastguard Worker    ],
369*61c4878aSAndroid Build Coastguard Worker)
370*61c4878aSAndroid Build Coastguard Worker
371*61c4878aSAndroid Build Coastguard Workersphinx_docs_library(
372*61c4878aSAndroid Build Coastguard Worker    name = "docs",
373*61c4878aSAndroid Build Coastguard Worker    srcs = [
374*61c4878aSAndroid Build Coastguard Worker        "backends.rst",
375*61c4878aSAndroid Build Coastguard Worker        "docs.rst",
376*61c4878aSAndroid Build Coastguard Worker    ],
377*61c4878aSAndroid Build Coastguard Worker    prefix = "pw_async2/",
378*61c4878aSAndroid Build Coastguard Worker    target_compatible_with = incompatible_with_mcu(),
379*61c4878aSAndroid Build Coastguard Worker    deps = [
380*61c4878aSAndroid Build Coastguard Worker        "//pw_async2/examples:docs",
381*61c4878aSAndroid Build Coastguard Worker    ],
382*61c4878aSAndroid Build Coastguard Worker)
383*61c4878aSAndroid Build Coastguard Worker
384*61c4878aSAndroid Build Coastguard Workerfilegroup(
385*61c4878aSAndroid Build Coastguard Worker    name = "doxygen",
386*61c4878aSAndroid Build Coastguard Worker    srcs = [
387*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/allocate_task.h",
388*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/coro.h",
389*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/coro_or_else_task.h",
390*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/dispatcher.h",
391*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/dispatcher_base.h",
392*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/enqueue_heap_func.h",
393*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/join.h",
394*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/once_sender.h",
395*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/pend_func_task.h",
396*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/pendable_as_task.h",
397*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/poll.h",
398*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/simulated_time_provider.h",
399*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/system_time_provider.h",
400*61c4878aSAndroid Build Coastguard Worker        "public/pw_async2/time_provider.h",
401*61c4878aSAndroid Build Coastguard Worker    ],
402*61c4878aSAndroid Build Coastguard Worker)
403