xref: /aosp_15_r20/external/pigweed/pw_system/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2021 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 Workerimport("//build_overrides/pigweed.gni")
16*61c4878aSAndroid Build Coastguard Worker
17*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/ambiq/ambiq.gni")
18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/freertos/freertos.gni")
19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/nanopb/nanopb.gni")
20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/pico_sdk/pi_pico.gni")
21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/smartfusion_mss/mss.gni")
22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pigweed/third_party/stm32cube/stm32cube.gni")
23*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_async2/backend.gni")
24*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/error.gni")
25*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/facade.gni")
26*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/module_config.gni")
27*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_build/target_types.gni")
28*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_cpu_exception/backend.gni")
29*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni")
30*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_protobuf_compiler/proto.gni")
31*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
32*61c4878aSAndroid Build Coastguard Workerimport("backend.gni")
33*61c4878aSAndroid Build Coastguard Worker
34*61c4878aSAndroid Build Coastguard Workerdeclare_args() {
35*61c4878aSAndroid Build Coastguard Worker  # The build target that overrides the default configuration options for this
36*61c4878aSAndroid Build Coastguard Worker  # module. This should point to a source set that provides defines through a
37*61c4878aSAndroid Build Coastguard Worker  # public config (which may -include a file or add defines directly).
38*61c4878aSAndroid Build Coastguard Worker  pw_system_CONFIG = pw_build_DEFAULT_MODULE_CONFIG
39*61c4878aSAndroid Build Coastguard Worker}
40*61c4878aSAndroid Build Coastguard Worker
41*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") {
42*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public" ]
43*61c4878aSAndroid Build Coastguard Worker}
44*61c4878aSAndroid Build Coastguard Worker
45*61c4878aSAndroid Build Coastguard Worker# This config moves RPC logging to a separate RPC channel and HDLC
46*61c4878aSAndroid Build Coastguard Worker# address. This does two things:
47*61c4878aSAndroid Build Coastguard Worker#   * The separate RPC channel allows logging traffic to be treated as
48*61c4878aSAndroid Build Coastguard Worker#     if it is being sent to a different client via a separate RPC
49*61c4878aSAndroid Build Coastguard Worker#     channel. This illustrates the ability for an RPC server to
50*61c4878aSAndroid Build Coastguard Worker#     communicate to multiple clients over multiple physical links.
51*61c4878aSAndroid Build Coastguard Worker#   * The separate HDLC address completely isolates typical RPC traffic
52*61c4878aSAndroid Build Coastguard Worker#     from logging traffic by communicating to a different HDLC endpoint
53*61c4878aSAndroid Build Coastguard Worker#     address. This effectively creates two virtual data pipes over the
54*61c4878aSAndroid Build Coastguard Worker#     same physical link.
55*61c4878aSAndroid Build Coastguard Worker#
56*61c4878aSAndroid Build Coastguard Worker# This is mostly to illustrate pw_rpc's capability to route and multiplex
57*61c4878aSAndroid Build Coastguard Worker# traffic.
58*61c4878aSAndroid Build Coastguard Workerconfig("multi_endpoint_rpc_overrides") {
59*61c4878aSAndroid Build Coastguard Worker  defines = [
60*61c4878aSAndroid Build Coastguard Worker    "PW_SYSTEM_LOGGING_CHANNEL_ID=10000",
61*61c4878aSAndroid Build Coastguard Worker    "PW_SYSTEM_LOGGING_RPC_HDLC_ADDRESS=10000",
62*61c4878aSAndroid Build Coastguard Worker  ]
63*61c4878aSAndroid Build Coastguard Worker}
64*61c4878aSAndroid Build Coastguard Worker
65*61c4878aSAndroid Build Coastguard Workerconfig("pw_cpu_exception_config") {
66*61c4878aSAndroid Build Coastguard Worker  # disable the crash handler entirely if the cpu exception backend has
67*61c4878aSAndroid Build Coastguard Worker  # not been set.
68*61c4878aSAndroid Build Coastguard Worker  if (pw_cpu_exception_ENTRY_BACKEND == "") {
69*61c4878aSAndroid Build Coastguard Worker    defines = [ "PW_SYSTEM_ENABLE_CRASH_HANDLER=0" ]
70*61c4878aSAndroid Build Coastguard Worker  }
71*61c4878aSAndroid Build Coastguard Worker}
72*61c4878aSAndroid Build Coastguard Worker
73*61c4878aSAndroid Build Coastguard Worker# The Pigweed config pattern requires a pw_source_set to provide the
74*61c4878aSAndroid Build Coastguard Worker# configuration defines. This provides the flags in
75*61c4878aSAndroid Build Coastguard Worker# multi_endpoint_rpc_overrides.
76*61c4878aSAndroid Build Coastguard Workerpw_source_set("multi_endpoint_rpc_config") {
77*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":multi_endpoint_rpc_overrides" ]
78*61c4878aSAndroid Build Coastguard Worker}
79*61c4878aSAndroid Build Coastguard Worker
80*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") {
81*61c4878aSAndroid Build Coastguard Worker  sources = [ "public/pw_system/config.h" ]
82*61c4878aSAndroid Build Coastguard Worker  public_configs = [
83*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
84*61c4878aSAndroid Build Coastguard Worker    ":pw_cpu_exception_config",
85*61c4878aSAndroid Build Coastguard Worker  ]
86*61c4878aSAndroid Build Coastguard Worker  public_deps = [ pw_system_CONFIG ]
87*61c4878aSAndroid Build Coastguard Worker  visibility = [ "./*" ]
88*61c4878aSAndroid Build Coastguard Worker}
89*61c4878aSAndroid Build Coastguard Worker
90*61c4878aSAndroid Build Coastguard Workerpw_source_set("log") {
91*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/log.h" ]
92*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
93*61c4878aSAndroid Build Coastguard Worker  sources = [ "log.cc" ]
94*61c4878aSAndroid Build Coastguard Worker  public_deps = [
95*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log_rpc:log_service",
96*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log_rpc:rpc_log_drain_thread",
97*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multisink",
98*61c4878aSAndroid Build Coastguard Worker  ]
99*61c4878aSAndroid Build Coastguard Worker  deps = [
100*61c4878aSAndroid Build Coastguard Worker    ":config",
101*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log_rpc:rpc_log_drain",
102*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:lock_annotations",
103*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:mutex",
104*61c4878aSAndroid Build Coastguard Worker  ]
105*61c4878aSAndroid Build Coastguard Worker}
106*61c4878aSAndroid Build Coastguard Worker
107*61c4878aSAndroid Build Coastguard Worker# There is no public part to this backend which does not cause circular
108*61c4878aSAndroid Build Coastguard Worker# dependencies, there is only the pw_build_LINK_DEPS "log_backend.impl".
109*61c4878aSAndroid Build Coastguard Workerpw_source_set("log_backend") {
110*61c4878aSAndroid Build Coastguard Worker}
111*61c4878aSAndroid Build Coastguard Worker
112*61c4878aSAndroid Build Coastguard Workerpw_source_set("log_backend.impl") {
113*61c4878aSAndroid Build Coastguard Worker  sources = [ "log_backend.cc" ]
114*61c4878aSAndroid Build Coastguard Worker  deps = [
115*61c4878aSAndroid Build Coastguard Worker    ":config",
116*61c4878aSAndroid Build Coastguard Worker    ":log",
117*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
118*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
119*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log:proto_utils",
120*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log:pw_log.facade",
121*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log_string:handler.facade",
122*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_metric:global",
123*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multisink",
124*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_result",
125*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
126*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:interrupt_spin_lock",
127*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:lock_annotations",
128*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_tokenizer",
129*61c4878aSAndroid Build Coastguard Worker  ]
130*61c4878aSAndroid Build Coastguard Worker}
131*61c4878aSAndroid Build Coastguard Worker
132*61c4878aSAndroid Build Coastguard Workerpw_facade("rpc_server") {
133*61c4878aSAndroid Build Coastguard Worker  backend = pw_system_RPC_SERVER_BACKEND
134*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/rpc_server.h" ]
135*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
136*61c4878aSAndroid Build Coastguard Worker  public_deps = [
137*61c4878aSAndroid Build Coastguard Worker    ":config",
138*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc:server",
139*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread_core",
140*61c4878aSAndroid Build Coastguard Worker  ]
141*61c4878aSAndroid Build Coastguard Worker}
142*61c4878aSAndroid Build Coastguard Worker
143*61c4878aSAndroid Build Coastguard Workerpw_facade("io") {
144*61c4878aSAndroid Build Coastguard Worker  backend = pw_system_IO_BACKEND
145*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
146*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/io.h" ]
147*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_stream" ]
148*61c4878aSAndroid Build Coastguard Worker}
149*61c4878aSAndroid Build Coastguard Worker
150*61c4878aSAndroid Build Coastguard Workerpw_facade("device_handler") {
151*61c4878aSAndroid Build Coastguard Worker  backend = pw_system_DEVICE_HANDLER
152*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
153*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/device_handler.h" ]
154*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_snapshot:snapshot_proto.pwpb" ]
155*61c4878aSAndroid Build Coastguard Worker}
156*61c4878aSAndroid Build Coastguard Worker
157*61c4878aSAndroid Build Coastguard Workerpw_source_set("unknown_device_handler") {
158*61c4878aSAndroid Build Coastguard Worker  sources = [ "unknown_device_handler.cc" ]
159*61c4878aSAndroid Build Coastguard Worker  deps = [ ":device_handler.facade" ]
160*61c4878aSAndroid Build Coastguard Worker}
161*61c4878aSAndroid Build Coastguard Worker
162*61c4878aSAndroid Build Coastguard Workerpw_source_set("init") {
163*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
164*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/init.h" ]
165*61c4878aSAndroid Build Coastguard Worker  sources = [ "init.cc" ]
166*61c4878aSAndroid Build Coastguard Worker  deps = [
167*61c4878aSAndroid Build Coastguard Worker    ":device_service",
168*61c4878aSAndroid Build Coastguard Worker    ":file_manager",
169*61c4878aSAndroid Build Coastguard Worker    ":file_service",
170*61c4878aSAndroid Build Coastguard Worker    ":log",
171*61c4878aSAndroid Build Coastguard Worker    ":rpc_server",
172*61c4878aSAndroid Build Coastguard Worker    ":target_hooks.facade",
173*61c4878aSAndroid Build Coastguard Worker    ":thread_snapshot_service",
174*61c4878aSAndroid Build Coastguard Worker    ":trace_service",
175*61c4878aSAndroid Build Coastguard Worker    ":transfer_service",
176*61c4878aSAndroid Build Coastguard Worker    ":work_queue",
177*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_metric:global",
178*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_metric:metric_service_pwpb",
179*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc/pwpb:echo_service",
180*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
181*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
182*61c4878aSAndroid Build Coastguard Worker  ]
183*61c4878aSAndroid Build Coastguard Worker  if (pw_cpu_exception_ENTRY_BACKEND != "") {
184*61c4878aSAndroid Build Coastguard Worker    deps += [
185*61c4878aSAndroid Build Coastguard Worker      ":crash_handler",
186*61c4878aSAndroid Build Coastguard Worker      ":crash_snapshot",
187*61c4878aSAndroid Build Coastguard Worker    ]
188*61c4878aSAndroid Build Coastguard Worker  }
189*61c4878aSAndroid Build Coastguard Worker
190*61c4878aSAndroid Build Coastguard Worker  # disable include checking, as there are conditional includes dependent on
191*61c4878aSAndroid Build Coastguard Worker  # whether the pw_cpu_exception_ENTRY_BACKEND is set.
192*61c4878aSAndroid Build Coastguard Worker  check_includes = false
193*61c4878aSAndroid Build Coastguard Worker}
194*61c4878aSAndroid Build Coastguard Worker
195*61c4878aSAndroid Build Coastguard Workerpw_source_set("hdlc_rpc_server") {
196*61c4878aSAndroid Build Coastguard Worker  sources = [ "hdlc_rpc_server.cc" ]
197*61c4878aSAndroid Build Coastguard Worker  deps = [
198*61c4878aSAndroid Build Coastguard Worker    ":config",
199*61c4878aSAndroid Build Coastguard Worker    ":io",
200*61c4878aSAndroid Build Coastguard Worker    ":rpc_server.facade",
201*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
202*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_hdlc:decoder",
203*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_hdlc:default_addresses",
204*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_hdlc:rpc_channel_output",
205*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
206*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:mutex",
207*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
208*61c4878aSAndroid Build Coastguard Worker  ]
209*61c4878aSAndroid Build Coastguard Worker}
210*61c4878aSAndroid Build Coastguard Worker
211*61c4878aSAndroid Build Coastguard Workerpw_source_set("work_queue") {
212*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
213*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/work_queue.h" ]
214*61c4878aSAndroid Build Coastguard Worker  sources = [ "work_queue.cc" ]
215*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_work_queue" ]
216*61c4878aSAndroid Build Coastguard Worker  deps = [ ":config" ]
217*61c4878aSAndroid Build Coastguard Worker}
218*61c4878aSAndroid Build Coastguard Worker
219*61c4878aSAndroid Build Coastguard Workerpw_source_set("sys_io_target_io") {
220*61c4878aSAndroid Build Coastguard Worker  sources = [ "sys_io_target_io.cc" ]
221*61c4878aSAndroid Build Coastguard Worker  deps = [
222*61c4878aSAndroid Build Coastguard Worker    ":io.facade",
223*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream",
224*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream:sys_io_stream",
225*61c4878aSAndroid Build Coastguard Worker  ]
226*61c4878aSAndroid Build Coastguard Worker}
227*61c4878aSAndroid Build Coastguard Worker
228*61c4878aSAndroid Build Coastguard Workerpw_source_set("socket_target_io") {
229*61c4878aSAndroid Build Coastguard Worker  sources = [ "socket_target_io.cc" ]
230*61c4878aSAndroid Build Coastguard Worker  deps = [
231*61c4878aSAndroid Build Coastguard Worker    ":config",
232*61c4878aSAndroid Build Coastguard Worker    ":io.facade",
233*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
234*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream",
235*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream:socket_stream",
236*61c4878aSAndroid Build Coastguard Worker  ]
237*61c4878aSAndroid Build Coastguard Worker}
238*61c4878aSAndroid Build Coastguard Worker
239*61c4878aSAndroid Build Coastguard Workerpw_source_set("transfer_handlers") {
240*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/transfer_handlers.h" ]
241*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
242*61c4878aSAndroid Build Coastguard Worker  public_deps = [
243*61c4878aSAndroid Build Coastguard Worker    ":config",
244*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_persistent_ram",
245*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace_tokenized:config",
246*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_transfer",
247*61c4878aSAndroid Build Coastguard Worker  ]
248*61c4878aSAndroid Build Coastguard Worker  sources = [ "transfer_handlers.cc" ]
249*61c4878aSAndroid Build Coastguard Worker  deps = []
250*61c4878aSAndroid Build Coastguard Worker}
251*61c4878aSAndroid Build Coastguard Worker
252*61c4878aSAndroid Build Coastguard Workerpw_source_set("file_manager") {
253*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/file_manager.h" ]
254*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
255*61c4878aSAndroid Build Coastguard Worker  public_deps = [
256*61c4878aSAndroid Build Coastguard Worker    ":config",
257*61c4878aSAndroid Build Coastguard Worker    ":transfer_handlers",
258*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_file:flat_file_system",
259*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_persistent_ram:flat_file_system_entry",
260*61c4878aSAndroid Build Coastguard Worker  ]
261*61c4878aSAndroid Build Coastguard Worker  sources = [ "file_manager.cc" ]
262*61c4878aSAndroid Build Coastguard Worker  deps = [ ":trace_service" ]
263*61c4878aSAndroid Build Coastguard Worker  if (pw_cpu_exception_ENTRY_BACKEND != "") {
264*61c4878aSAndroid Build Coastguard Worker    deps += [ ":crash_snapshot" ]
265*61c4878aSAndroid Build Coastguard Worker  }
266*61c4878aSAndroid Build Coastguard Worker
267*61c4878aSAndroid Build Coastguard Worker  # disable include checking, as there are conditional includes dependent on
268*61c4878aSAndroid Build Coastguard Worker  # whether the pw_cpu_exception_ENTRY_BACKEND is set.
269*61c4878aSAndroid Build Coastguard Worker  check_includes = false
270*61c4878aSAndroid Build Coastguard Worker}
271*61c4878aSAndroid Build Coastguard Worker
272*61c4878aSAndroid Build Coastguard Workerpw_source_set("transfer_service") {
273*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/transfer_service.h" ]
274*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
275*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_transfer" ]
276*61c4878aSAndroid Build Coastguard Worker  sources = [ "transfer_service.cc" ]
277*61c4878aSAndroid Build Coastguard Worker  deps = [ ":file_manager" ]
278*61c4878aSAndroid Build Coastguard Worker}
279*61c4878aSAndroid Build Coastguard Worker
280*61c4878aSAndroid Build Coastguard Workerpw_source_set("file_service") {
281*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/file_service.h" ]
282*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
283*61c4878aSAndroid Build Coastguard Worker  public_deps = []
284*61c4878aSAndroid Build Coastguard Worker  sources = [ "file_service.cc" ]
285*61c4878aSAndroid Build Coastguard Worker  deps = [ ":file_manager" ]
286*61c4878aSAndroid Build Coastguard Worker}
287*61c4878aSAndroid Build Coastguard Worker
288*61c4878aSAndroid Build Coastguard Workerpw_source_set("trace_service") {
289*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/trace_service.h" ]
290*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
291*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":transfer_handlers" ]
292*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_service.cc" ]
293*61c4878aSAndroid Build Coastguard Worker  deps = [
294*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_persistent_ram",
295*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace_tokenized:trace_service_pwpb",
296*61c4878aSAndroid Build Coastguard Worker  ]
297*61c4878aSAndroid Build Coastguard Worker}
298*61c4878aSAndroid Build Coastguard Worker
299*61c4878aSAndroid Build Coastguard Workerpw_source_set("crash_handler") {
300*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/crash_handler.h" ]
301*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
302*61c4878aSAndroid Build Coastguard Worker  public_deps = []
303*61c4878aSAndroid Build Coastguard Worker  sources = [ "crash_handler.cc" ]
304*61c4878aSAndroid Build Coastguard Worker  deps = [
305*61c4878aSAndroid Build Coastguard Worker    ":crash_snapshot",
306*61c4878aSAndroid Build Coastguard Worker    ":device_handler",
307*61c4878aSAndroid Build Coastguard Worker    ":log",
308*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert_trap:message",
309*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_cpu_exception:handler",
310*61c4878aSAndroid Build Coastguard Worker  ]
311*61c4878aSAndroid Build Coastguard Worker}
312*61c4878aSAndroid Build Coastguard Worker
313*61c4878aSAndroid Build Coastguard Workerpw_source_set("crash_snapshot") {
314*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/crash_snapshot.h" ]
315*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
316*61c4878aSAndroid Build Coastguard Worker  public_deps = [
317*61c4878aSAndroid Build Coastguard Worker    ":transfer_handlers",
318*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_cpu_exception:entry",
319*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_persistent_ram",
320*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_snapshot:snapshot_proto.pwpb",
321*61c4878aSAndroid Build Coastguard Worker  ]
322*61c4878aSAndroid Build Coastguard Worker  sources = [ "crash_snapshot.cc" ]
323*61c4878aSAndroid Build Coastguard Worker  deps = [
324*61c4878aSAndroid Build Coastguard Worker    ":device_handler",
325*61c4878aSAndroid Build Coastguard Worker    ":log",
326*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multisink:util",
327*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_snapshot:uuid",
328*61c4878aSAndroid Build Coastguard Worker  ]
329*61c4878aSAndroid Build Coastguard Worker}
330*61c4878aSAndroid Build Coastguard Worker
331*61c4878aSAndroid Build Coastguard Workerpw_proto_library("device_service_proto") {
332*61c4878aSAndroid Build Coastguard Worker  sources = [ "pw_system_protos/device_service.proto" ]
333*61c4878aSAndroid Build Coastguard Worker  inputs = [ "pw_system_protos/device_service.options" ]
334*61c4878aSAndroid Build Coastguard Worker  deps = []
335*61c4878aSAndroid Build Coastguard Worker}
336*61c4878aSAndroid Build Coastguard Worker
337*61c4878aSAndroid Build Coastguard Workerpw_source_set("device_service_pwpb") {
338*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/device_service_pwpb.h" ]
339*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
340*61c4878aSAndroid Build Coastguard Worker  public_deps = []
341*61c4878aSAndroid Build Coastguard Worker  sources = [ "device_service_pwpb.cc" ]
342*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":device_service_proto.pwpb_rpc" ]
343*61c4878aSAndroid Build Coastguard Worker  deps = [ ":device_handler" ]
344*61c4878aSAndroid Build Coastguard Worker}
345*61c4878aSAndroid Build Coastguard Worker
346*61c4878aSAndroid Build Coastguard Workerpw_source_set("device_service") {
347*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/device_service.h" ]
348*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
349*61c4878aSAndroid Build Coastguard Worker  public_deps = []
350*61c4878aSAndroid Build Coastguard Worker  sources = [ "device_service.cc" ]
351*61c4878aSAndroid Build Coastguard Worker  deps = [ ":device_service_pwpb" ]
352*61c4878aSAndroid Build Coastguard Worker}
353*61c4878aSAndroid Build Coastguard Worker
354*61c4878aSAndroid Build Coastguard Workerpw_source_set("thread_snapshot_service") {
355*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/thread_snapshot_service.h" ]
356*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
357*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_rpc:server" ]
358*61c4878aSAndroid Build Coastguard Worker  sources = [ "thread_snapshot_service.cc" ]
359*61c4878aSAndroid Build Coastguard Worker  deps = [ "$dir_pw_thread:thread_snapshot_service" ]
360*61c4878aSAndroid Build Coastguard Worker}
361*61c4878aSAndroid Build Coastguard Worker
362*61c4878aSAndroid Build Coastguard Workerpw_facade("target_hooks") {
363*61c4878aSAndroid Build Coastguard Worker  backend = pw_system_TARGET_HOOKS_BACKEND
364*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/target_hooks.h" ]
365*61c4878aSAndroid Build Coastguard Worker  public_deps = [ "$dir_pw_thread:thread" ]
366*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
367*61c4878aSAndroid Build Coastguard Worker}
368*61c4878aSAndroid Build Coastguard Worker
369*61c4878aSAndroid Build Coastguard Workerif (pw_system_TARGET_HOOKS_BACKEND == "") {
370*61c4878aSAndroid Build Coastguard Worker  # Do nothing, prevents errors from trying to parse pw_system_TARGET_HOOKS_BACKEND as a
371*61c4878aSAndroid Build Coastguard Worker  # build target when it's unset.
372*61c4878aSAndroid Build Coastguard Worker} else if (get_label_info(pw_system_TARGET_HOOKS_BACKEND,
373*61c4878aSAndroid Build Coastguard Worker                          "label_no_toolchain") ==
374*61c4878aSAndroid Build Coastguard Worker           get_label_info(":stl_target_hooks", "label_no_toolchain")) {
375*61c4878aSAndroid Build Coastguard Worker  pw_source_set("stl_target_hooks") {
376*61c4878aSAndroid Build Coastguard Worker    deps = [
377*61c4878aSAndroid Build Coastguard Worker      ":config",
378*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_thread:thread",
379*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_thread_stl:thread",
380*61c4878aSAndroid Build Coastguard Worker    ]
381*61c4878aSAndroid Build Coastguard Worker    sources = [ "stl_target_hooks.cc" ]
382*61c4878aSAndroid Build Coastguard Worker  }
383*61c4878aSAndroid Build Coastguard Worker} else if (get_label_info(pw_system_TARGET_HOOKS_BACKEND,
384*61c4878aSAndroid Build Coastguard Worker                          "label_no_toolchain") ==
385*61c4878aSAndroid Build Coastguard Worker           get_label_info(":freertos_target_hooks", "label_no_toolchain")) {
386*61c4878aSAndroid Build Coastguard Worker  pw_source_set("freertos_target_hooks") {
387*61c4878aSAndroid Build Coastguard Worker    deps = [
388*61c4878aSAndroid Build Coastguard Worker      ":config",
389*61c4878aSAndroid Build Coastguard Worker      ":init",
390*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_third_party/freertos",
391*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_thread:thread",
392*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_thread_freertos:thread",
393*61c4878aSAndroid Build Coastguard Worker    ]
394*61c4878aSAndroid Build Coastguard Worker    sources = [ "freertos_target_hooks.cc" ]
395*61c4878aSAndroid Build Coastguard Worker  }
396*61c4878aSAndroid Build Coastguard Worker}
397*61c4878aSAndroid Build Coastguard Worker
398*61c4878aSAndroid Build Coastguard Workergroup("pw_system") {
399*61c4878aSAndroid Build Coastguard Worker  public_deps = [
400*61c4878aSAndroid Build Coastguard Worker    ":init",
401*61c4878aSAndroid Build Coastguard Worker    ":io",
402*61c4878aSAndroid Build Coastguard Worker    ":log",
403*61c4878aSAndroid Build Coastguard Worker    ":rpc_server",
404*61c4878aSAndroid Build Coastguard Worker    ":work_queue",
405*61c4878aSAndroid Build Coastguard Worker  ]
406*61c4878aSAndroid Build Coastguard Worker  deps = [ ":target_hooks" ]
407*61c4878aSAndroid Build Coastguard Worker}
408*61c4878aSAndroid Build Coastguard Worker
409*61c4878aSAndroid Build Coastguard Workerpw_source_set("async") {
410*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/system.h" ]
411*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
412*61c4878aSAndroid Build Coastguard Worker  sources = [
413*61c4878aSAndroid Build Coastguard Worker    "pw_system_private/threads.h",
414*61c4878aSAndroid Build Coastguard Worker    "system.cc",
415*61c4878aSAndroid Build Coastguard Worker    "threads.cc",
416*61c4878aSAndroid Build Coastguard Worker  ]
417*61c4878aSAndroid Build Coastguard Worker  public_deps = [
418*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_allocator:allocator",
419*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async2:dispatcher",
420*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_channel",
421*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc:server",
422*61c4878aSAndroid Build Coastguard Worker  ]
423*61c4878aSAndroid Build Coastguard Worker  deps = [
424*61c4878aSAndroid Build Coastguard Worker    ":async_packet_io",
425*61c4878aSAndroid Build Coastguard Worker    ":file_manager",
426*61c4878aSAndroid Build Coastguard Worker    ":file_service",
427*61c4878aSAndroid Build Coastguard Worker    ":log",
428*61c4878aSAndroid Build Coastguard Worker    ":thread_snapshot_service",
429*61c4878aSAndroid Build Coastguard Worker    ":transfer_service",
430*61c4878aSAndroid Build Coastguard Worker    ":work_queue",
431*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_allocator:best_fit_block_allocator",
432*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_allocator:synchronized_allocator",
433*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async2:allocate_task",
434*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async2:pend_func_task",
435*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_hdlc:router",
436*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multibuf:simple_allocator",
437*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc/pwpb:echo_service",
438*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:interrupt_spin_lock",
439*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
440*61c4878aSAndroid Build Coastguard Worker  ]
441*61c4878aSAndroid Build Coastguard Worker  if (pw_cpu_exception_ENTRY_BACKEND != "") {
442*61c4878aSAndroid Build Coastguard Worker    deps += [
443*61c4878aSAndroid Build Coastguard Worker      ":crash_handler",
444*61c4878aSAndroid Build Coastguard Worker      ":crash_snapshot",
445*61c4878aSAndroid Build Coastguard Worker    ]
446*61c4878aSAndroid Build Coastguard Worker  }
447*61c4878aSAndroid Build Coastguard Worker}
448*61c4878aSAndroid Build Coastguard Worker
449*61c4878aSAndroid Build Coastguard Workerpw_executable("system_example") {
450*61c4878aSAndroid Build Coastguard Worker  # TODO: b/303282642 - Remove this testonly
451*61c4878aSAndroid Build Coastguard Worker  testonly = pw_unit_test_TESTONLY
452*61c4878aSAndroid Build Coastguard Worker
453*61c4878aSAndroid Build Coastguard Worker  sources = [ "example_user_app_init.cc" ]
454*61c4878aSAndroid Build Coastguard Worker  deps = [
455*61c4878aSAndroid Build Coastguard Worker    ":pw_system",
456*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
457*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:sleep",
458*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
459*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_unit_test:rpc_service",
460*61c4878aSAndroid Build Coastguard Worker
461*61c4878aSAndroid Build Coastguard Worker    # Adds a test that the test server can run.
462*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_status:status_test.lib",
463*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string:string_builder_test.lib",
464*61c4878aSAndroid Build Coastguard Worker  ]
465*61c4878aSAndroid Build Coastguard Worker}
466*61c4878aSAndroid Build Coastguard Worker
467*61c4878aSAndroid Build Coastguard Workerpw_executable("system_async_host_example") {
468*61c4878aSAndroid Build Coastguard Worker  sources = [ "system_async_host_example.cc" ]
469*61c4878aSAndroid Build Coastguard Worker  deps = [
470*61c4878aSAndroid Build Coastguard Worker    ":async",
471*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_channel:epoll_channel",
472*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multibuf:testing",
473*61c4878aSAndroid Build Coastguard Worker  ]
474*61c4878aSAndroid Build Coastguard Worker}
475*61c4878aSAndroid Build Coastguard Worker
476*61c4878aSAndroid Build Coastguard Workerpw_source_set("async_packet_io") {
477*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
478*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_system/internal/async_packet_io.h" ]
479*61c4878aSAndroid Build Coastguard Worker  sources = [ "async_packet_io.cc" ]
480*61c4878aSAndroid Build Coastguard Worker  public_deps = [
481*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_async2:dispatcher",
482*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_channel:forwarding_channel",
483*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_containers:inline_var_len_entry_queue",
484*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_hdlc:router",
485*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multibuf:simple_allocator",
486*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc:server",
487*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:lock_annotations",
488*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:mutex",
489*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_sync:thread_notification",
490*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_thread:thread",
491*61c4878aSAndroid Build Coastguard Worker    dir_pw_allocator,
492*61c4878aSAndroid Build Coastguard Worker    dir_pw_channel,
493*61c4878aSAndroid Build Coastguard Worker    dir_pw_multibuf,
494*61c4878aSAndroid Build Coastguard Worker  ]
495*61c4878aSAndroid Build Coastguard Worker  deps = [
496*61c4878aSAndroid Build Coastguard Worker    ":config",
497*61c4878aSAndroid Build Coastguard Worker    dir_pw_assert,
498*61c4878aSAndroid Build Coastguard Worker    dir_pw_log,
499*61c4878aSAndroid Build Coastguard Worker  ]
500*61c4878aSAndroid Build Coastguard Worker  visibility = [ "./*" ]
501*61c4878aSAndroid Build Coastguard Worker}
502*61c4878aSAndroid Build Coastguard Worker
503*61c4878aSAndroid Build Coastguard Workerpw_test("async_packet_io_test") {
504*61c4878aSAndroid Build Coastguard Worker  sources = [ "async_packet_io_test.cc" ]
505*61c4878aSAndroid Build Coastguard Worker  deps = [
506*61c4878aSAndroid Build Coastguard Worker    ":async_packet_io",
507*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_allocator:testing",
508*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_channel:loopback_channel",
509*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multibuf:testing",
510*61c4878aSAndroid Build Coastguard Worker  ]
511*61c4878aSAndroid Build Coastguard Worker
512*61c4878aSAndroid Build Coastguard Worker  # TODO: b/317922402 - Run on Windows when thread detaching is supported.
513*61c4878aSAndroid Build Coastguard Worker  enable_if = host_os != "win" && pw_async2_DISPATCHER_BACKEND != ""
514*61c4878aSAndroid Build Coastguard Worker}
515*61c4878aSAndroid Build Coastguard Worker
516*61c4878aSAndroid Build Coastguard Workerpw_test("system_async_test") {
517*61c4878aSAndroid Build Coastguard Worker  sources = [ "system_async_test.cc" ]
518*61c4878aSAndroid Build Coastguard Worker  deps = [
519*61c4878aSAndroid Build Coastguard Worker    ":async",
520*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_allocator:testing",
521*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_channel:loopback_channel",
522*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_multibuf:testing",
523*61c4878aSAndroid Build Coastguard Worker  ]
524*61c4878aSAndroid Build Coastguard Worker
525*61c4878aSAndroid Build Coastguard Worker  # TODO: b/317922402 - Run on Windows when thread detaching is supported.
526*61c4878aSAndroid Build Coastguard Worker  enable_if = host_os != "win" && pw_async2_DISPATCHER_BACKEND != ""
527*61c4878aSAndroid Build Coastguard Worker}
528*61c4878aSAndroid Build Coastguard Worker
529*61c4878aSAndroid Build Coastguard Workergroup("system_examples") {
530*61c4878aSAndroid Build Coastguard Worker  # TODO: b/303282642 - Remove this testonly
531*61c4878aSAndroid Build Coastguard Worker  testonly = pw_unit_test_TESTONLY
532*61c4878aSAndroid Build Coastguard Worker
533*61c4878aSAndroid Build Coastguard Worker  deps = [ ":system_example($dir_pigweed/targets/host_device_simulator:host_device_simulator.speed_optimized)" ]
534*61c4878aSAndroid Build Coastguard Worker  if (dir_pw_third_party_stm32cube_f4 != "" &&
535*61c4878aSAndroid Build Coastguard Worker      dir_pw_third_party_freertos != "") {
536*61c4878aSAndroid Build Coastguard Worker    deps += [ ":system_example($dir_pigweed/targets/stm32f429i_disc1_stm32cube:stm32f429i_disc1_stm32cube.size_optimized)" ]
537*61c4878aSAndroid Build Coastguard Worker    deps += [ ":system_example($dir_pigweed/targets/stm32f429i_disc1_stm32cube:stm32f429i_disc1_stm32cube_clang.size_optimized)" ]
538*61c4878aSAndroid Build Coastguard Worker  }
539*61c4878aSAndroid Build Coastguard Worker  if (dir_pw_third_party_smartfusion_mss != "" &&
540*61c4878aSAndroid Build Coastguard Worker      dir_pw_third_party_freertos != "") {
541*61c4878aSAndroid Build Coastguard Worker    deps += [
542*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/emcraft_sf2_som:emcraft_sf2_som.size_optimized)",
543*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/emcraft_sf2_som:emcraft_sf2_som.speed_optimized)",
544*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/emcraft_sf2_som:emcraft_sf2_som_debug.debug)",
545*61c4878aSAndroid Build Coastguard Worker    ]
546*61c4878aSAndroid Build Coastguard Worker  }
547*61c4878aSAndroid Build Coastguard Worker  if (PICO_SRC_DIR != "" && dir_pw_third_party_freertos != "") {
548*61c4878aSAndroid Build Coastguard Worker    deps += [
549*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/rp2040:rp2040.debug)",
550*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/rp2040:rp2040.size_optimized)",
551*61c4878aSAndroid Build Coastguard Worker    ]
552*61c4878aSAndroid Build Coastguard Worker  }
553*61c4878aSAndroid Build Coastguard Worker  if (dir_pw_third_party_ambiq_SDK != "" && dir_pw_third_party_freertos != "") {
554*61c4878aSAndroid Build Coastguard Worker    deps += [
555*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/apollo4_pw_system:apollo4_pw_system.debug)",
556*61c4878aSAndroid Build Coastguard Worker      ":system_example($dir_pigweed/targets/apollo4_pw_system:apollo4_pw_system.size_optimized)",
557*61c4878aSAndroid Build Coastguard Worker    ]
558*61c4878aSAndroid Build Coastguard Worker  }
559*61c4878aSAndroid Build Coastguard Worker}
560*61c4878aSAndroid Build Coastguard Worker
561*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") {
562*61c4878aSAndroid Build Coastguard Worker  sources = [
563*61c4878aSAndroid Build Coastguard Worker    "cli.rst",
564*61c4878aSAndroid Build Coastguard Worker    "docs.rst",
565*61c4878aSAndroid Build Coastguard Worker  ]
566*61c4878aSAndroid Build Coastguard Worker  inputs = [
567*61c4878aSAndroid Build Coastguard Worker    "Kconfig",
568*61c4878aSAndroid Build Coastguard Worker    "system_async_test.cc",
569*61c4878aSAndroid Build Coastguard Worker  ]
570*61c4878aSAndroid Build Coastguard Worker}
571*61c4878aSAndroid Build Coastguard Worker
572*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") {
573*61c4878aSAndroid Build Coastguard Worker  tests = [
574*61c4878aSAndroid Build Coastguard Worker    ":async_packet_io_test",
575*61c4878aSAndroid Build Coastguard Worker    ":system_async_test",
576*61c4878aSAndroid Build Coastguard Worker  ]
577*61c4878aSAndroid Build Coastguard Worker}
578