xref: /aosp_15_r20/external/pigweed/pw_trace_tokenized/BUILD.gn (revision 61c4878ac05f98d0ceed94b57d316916de578985)
1*61c4878aSAndroid Build Coastguard Worker# Copyright 2020 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_pw_build/target_types.gni")
18*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_docgen/docs.gni")
19*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_protobuf_compiler/proto.gni")
20*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_third_party/nanopb/nanopb.gni")
21*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_trace/backend.gni")
22*61c4878aSAndroid Build Coastguard Workerimport("$dir_pw_unit_test/test.gni")
23*61c4878aSAndroid Build Coastguard Workerimport("config.gni")
24*61c4878aSAndroid Build Coastguard Worker
25*61c4878aSAndroid Build Coastguard Workerconfig("public_include_path") {
26*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public" ]
27*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
28*61c4878aSAndroid Build Coastguard Worker}
29*61c4878aSAndroid Build Coastguard Worker
30*61c4878aSAndroid Build Coastguard Workerconfig("backend_config") {
31*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "public_overrides" ]
32*61c4878aSAndroid Build Coastguard Worker}
33*61c4878aSAndroid Build Coastguard Worker
34*61c4878aSAndroid Build Coastguard Worker# Some tests in this file do not compile unless pw_trace_tokenized is the trace
35*61c4878aSAndroid Build Coastguard Worker# backend.
36*61c4878aSAndroid Build Coastguard Worker_pw_trace_tokenized_is_selected =
37*61c4878aSAndroid Build Coastguard Worker    get_label_info(pw_trace_BACKEND, "label_no_toolchain") ==
38*61c4878aSAndroid Build Coastguard Worker    get_label_info(":pw_trace_tokenized", "label_no_toolchain") &&
39*61c4878aSAndroid Build Coastguard Worker    pw_trace_tokenizer_time != ""
40*61c4878aSAndroid Build Coastguard Worker
41*61c4878aSAndroid Build Coastguard Workerpw_source_set("config") {
42*61c4878aSAndroid Build Coastguard Worker  public_deps = [ pw_trace_CONFIG ]
43*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
44*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_trace_tokenized/config.h" ]
45*61c4878aSAndroid Build Coastguard Worker}
46*61c4878aSAndroid Build Coastguard Worker
47*61c4878aSAndroid Build Coastguard Workerconfig("linux_include_config_overrides") {
48*61c4878aSAndroid Build Coastguard Worker  cflags = [
49*61c4878aSAndroid Build Coastguard Worker    "-include",
50*61c4878aSAndroid Build Coastguard Worker    rebase_path("linux_config_overrides.h", root_build_dir),
51*61c4878aSAndroid Build Coastguard Worker  ]
52*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
53*61c4878aSAndroid Build Coastguard Worker}
54*61c4878aSAndroid Build Coastguard Worker
55*61c4878aSAndroid Build Coastguard Workerpw_source_set("linux_config_overrides") {
56*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":linux_include_config_overrides" ]
57*61c4878aSAndroid Build Coastguard Worker  sources = [ "linux_config_overrides.h" ]
58*61c4878aSAndroid Build Coastguard Worker}
59*61c4878aSAndroid Build Coastguard Worker
60*61c4878aSAndroid Build Coastguard Workerpw_test_group("tests") {
61*61c4878aSAndroid Build Coastguard Worker  tests = [
62*61c4878aSAndroid Build Coastguard Worker    ":trace_tokenized_test",
63*61c4878aSAndroid Build Coastguard Worker    ":tokenized_trace_buffer_test",
64*61c4878aSAndroid Build Coastguard Worker    ":tokenized_trace_buffer_log_test",
65*61c4878aSAndroid Build Coastguard Worker    ":trace_service_pwpb_test",
66*61c4878aSAndroid Build Coastguard Worker  ]
67*61c4878aSAndroid Build Coastguard Worker}
68*61c4878aSAndroid Build Coastguard Worker
69*61c4878aSAndroid Build Coastguard Workerpw_source_set("pw_trace_tokenized") {
70*61c4878aSAndroid Build Coastguard Worker  public_configs = [
71*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
72*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
73*61c4878aSAndroid Build Coastguard Worker  ]
74*61c4878aSAndroid Build Coastguard Worker  public_deps = [
75*61c4878aSAndroid Build Coastguard Worker    ":config",
76*61c4878aSAndroid Build Coastguard Worker    ":core",
77*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_tokenizer",
78*61c4878aSAndroid Build Coastguard Worker  ]
79*61c4878aSAndroid Build Coastguard Worker  deps = []
80*61c4878aSAndroid Build Coastguard Worker  if (pw_trace_tokenizer_time != "") {
81*61c4878aSAndroid Build Coastguard Worker    deps += [ "$pw_trace_tokenizer_time" ]
82*61c4878aSAndroid Build Coastguard Worker  }
83*61c4878aSAndroid Build Coastguard Worker
84*61c4878aSAndroid Build Coastguard Worker  public = [ "public_overrides/pw_trace_backend/trace_backend.h" ]
85*61c4878aSAndroid Build Coastguard Worker}
86*61c4878aSAndroid Build Coastguard Worker
87*61c4878aSAndroid Build Coastguard Workerpw_test("trace_tokenized_test") {
88*61c4878aSAndroid Build Coastguard Worker  enable_if = _pw_trace_tokenized_is_selected
89*61c4878aSAndroid Build Coastguard Worker  deps = [
90*61c4878aSAndroid Build Coastguard Worker    ":core",
91*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
92*61c4878aSAndroid Build Coastguard Worker  ]
93*61c4878aSAndroid Build Coastguard Worker
94*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_test.cc" ]
95*61c4878aSAndroid Build Coastguard Worker}
96*61c4878aSAndroid Build Coastguard Worker
97*61c4878aSAndroid Build Coastguard Workerconfig("trace_buffer_size") {
98*61c4878aSAndroid Build Coastguard Worker  defines = [ "PW_TRACE_BUFFER_SIZE_BYTES=${pw_trace_tokenized_BUFFER_SIZE}" ]
99*61c4878aSAndroid Build Coastguard Worker}
100*61c4878aSAndroid Build Coastguard Worker
101*61c4878aSAndroid Build Coastguard Workerpw_proto_library("protos") {
102*61c4878aSAndroid Build Coastguard Worker  sources = [
103*61c4878aSAndroid Build Coastguard Worker    "pw_trace_protos/trace.proto",
104*61c4878aSAndroid Build Coastguard Worker    "pw_trace_protos/trace_rpc.proto",
105*61c4878aSAndroid Build Coastguard Worker    "pw_trace_protos/trace_service.proto",
106*61c4878aSAndroid Build Coastguard Worker  ]
107*61c4878aSAndroid Build Coastguard Worker  inputs = [
108*61c4878aSAndroid Build Coastguard Worker    "pw_trace_protos/trace_rpc.options",
109*61c4878aSAndroid Build Coastguard Worker    "pw_trace_protos/trace_service.options",
110*61c4878aSAndroid Build Coastguard Worker  ]
111*61c4878aSAndroid Build Coastguard Worker  python_package = "py"
112*61c4878aSAndroid Build Coastguard Worker  deps = [ "$dir_pw_chrono:protos" ]
113*61c4878aSAndroid Build Coastguard Worker}
114*61c4878aSAndroid Build Coastguard Worker
115*61c4878aSAndroid Build Coastguard Workerpw_source_set("trace_rpc_service") {
116*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
117*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":protos.nanopb_rpc" ]
118*61c4878aSAndroid Build Coastguard Worker  deps = [
119*61c4878aSAndroid Build Coastguard Worker    ":core",
120*61c4878aSAndroid Build Coastguard Worker    ":tokenized_trace_buffer",
121*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
122*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
123*61c4878aSAndroid Build Coastguard Worker  ]
124*61c4878aSAndroid Build Coastguard Worker  sources = [
125*61c4878aSAndroid Build Coastguard Worker    "public/pw_trace_tokenized/trace_rpc_service_nanopb.h",
126*61c4878aSAndroid Build Coastguard Worker    "trace_rpc_service_nanopb.cc",
127*61c4878aSAndroid Build Coastguard Worker  ]
128*61c4878aSAndroid Build Coastguard Worker}
129*61c4878aSAndroid Build Coastguard Worker
130*61c4878aSAndroid Build Coastguard Workerpw_source_set("base_trace_service") {
131*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
132*61c4878aSAndroid Build Coastguard Worker  public_deps = [
133*61c4878aSAndroid Build Coastguard Worker    ":core",
134*61c4878aSAndroid Build Coastguard Worker    ":tokenized_trace_buffer",
135*61c4878aSAndroid Build Coastguard Worker  ]
136*61c4878aSAndroid Build Coastguard Worker  deps = [
137*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_ring_buffer",
138*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_stream",
139*61c4878aSAndroid Build Coastguard Worker  ]
140*61c4878aSAndroid Build Coastguard Worker  sources = [
141*61c4878aSAndroid Build Coastguard Worker    "base_trace_service.cc",
142*61c4878aSAndroid Build Coastguard Worker    "public/pw_trace_tokenized/base_trace_service.h",
143*61c4878aSAndroid Build Coastguard Worker  ]
144*61c4878aSAndroid Build Coastguard Worker}
145*61c4878aSAndroid Build Coastguard Worker
146*61c4878aSAndroid Build Coastguard Workerpw_source_set("trace_service_pwpb") {
147*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":public_include_path" ]
148*61c4878aSAndroid Build Coastguard Worker  public_deps = [
149*61c4878aSAndroid Build Coastguard Worker    ":base_trace_service",
150*61c4878aSAndroid Build Coastguard Worker    ":protos.pwpb_rpc",
151*61c4878aSAndroid Build Coastguard Worker  ]
152*61c4878aSAndroid Build Coastguard Worker  deps = [ "$dir_pw_chrono:system_clock" ]
153*61c4878aSAndroid Build Coastguard Worker  sources = [
154*61c4878aSAndroid Build Coastguard Worker    "public/pw_trace_tokenized/trace_service_pwpb.h",
155*61c4878aSAndroid Build Coastguard Worker    "trace_service_pwpb.cc",
156*61c4878aSAndroid Build Coastguard Worker  ]
157*61c4878aSAndroid Build Coastguard Worker}
158*61c4878aSAndroid Build Coastguard Worker
159*61c4878aSAndroid Build Coastguard Workerpw_test("trace_service_pwpb_test") {
160*61c4878aSAndroid Build Coastguard Worker  enable_if = _pw_trace_tokenized_is_selected
161*61c4878aSAndroid Build Coastguard Worker  deps = [
162*61c4878aSAndroid Build Coastguard Worker    ":trace_service_pwpb",
163*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_chrono:system_clock",
164*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_rpc/pwpb:test_method_context",
165*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
166*61c4878aSAndroid Build Coastguard Worker  ]
167*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_service_pwpb_test.cc" ]
168*61c4878aSAndroid Build Coastguard Worker}
169*61c4878aSAndroid Build Coastguard Worker
170*61c4878aSAndroid Build Coastguard Workerpw_source_set("tokenized_trace_buffer") {
171*61c4878aSAndroid Build Coastguard Worker  deps = [ ":core" ]
172*61c4878aSAndroid Build Coastguard Worker  public_deps = [
173*61c4878aSAndroid Build Coastguard Worker    ":config",
174*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_bytes",
175*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_ring_buffer",
176*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_tokenizer",
177*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_varint",
178*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
179*61c4878aSAndroid Build Coastguard Worker  ]
180*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_buffer.cc" ]
181*61c4878aSAndroid Build Coastguard Worker  public_configs = [
182*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
183*61c4878aSAndroid Build Coastguard Worker    ":trace_buffer_size",
184*61c4878aSAndroid Build Coastguard Worker  ]
185*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_trace_tokenized/trace_buffer.h" ]
186*61c4878aSAndroid Build Coastguard Worker}
187*61c4878aSAndroid Build Coastguard Worker
188*61c4878aSAndroid Build Coastguard Workerpw_test("tokenized_trace_buffer_test") {
189*61c4878aSAndroid Build Coastguard Worker  enable_if = _pw_trace_tokenized_is_selected
190*61c4878aSAndroid Build Coastguard Worker  deps = [
191*61c4878aSAndroid Build Coastguard Worker    ":tokenized_trace_buffer",
192*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
193*61c4878aSAndroid Build Coastguard Worker  ]
194*61c4878aSAndroid Build Coastguard Worker
195*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_buffer_test.cc" ]
196*61c4878aSAndroid Build Coastguard Worker}
197*61c4878aSAndroid Build Coastguard Worker
198*61c4878aSAndroid Build Coastguard Workerpw_source_set("tokenized_trace_buffer_log") {
199*61c4878aSAndroid Build Coastguard Worker  deps = [
200*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_base64",
201*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
202*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_string",
203*61c4878aSAndroid Build Coastguard Worker  ]
204*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":tokenized_trace_buffer" ]
205*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_buffer_log.cc" ]
206*61c4878aSAndroid Build Coastguard Worker  public = [ "public/pw_trace_tokenized/trace_buffer_log.h" ]
207*61c4878aSAndroid Build Coastguard Worker}
208*61c4878aSAndroid Build Coastguard Worker
209*61c4878aSAndroid Build Coastguard Workerpw_test("tokenized_trace_buffer_log_test") {
210*61c4878aSAndroid Build Coastguard Worker  enable_if = _pw_trace_tokenized_is_selected
211*61c4878aSAndroid Build Coastguard Worker  deps = [
212*61c4878aSAndroid Build Coastguard Worker    ":tokenized_trace_buffer_log",
213*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
214*61c4878aSAndroid Build Coastguard Worker  ]
215*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace_buffer_log_test.cc" ]
216*61c4878aSAndroid Build Coastguard Worker}
217*61c4878aSAndroid Build Coastguard Worker
218*61c4878aSAndroid Build Coastguard Workerpw_source_set("fake_trace_time") {
219*61c4878aSAndroid Build Coastguard Worker  deps = [ ":config" ]
220*61c4878aSAndroid Build Coastguard Worker  sources = [ "fake_trace_time.cc" ]
221*61c4878aSAndroid Build Coastguard Worker}
222*61c4878aSAndroid Build Coastguard Worker
223*61c4878aSAndroid Build Coastguard Workerpw_source_set("host_trace_time") {
224*61c4878aSAndroid Build Coastguard Worker  deps = [ ":config" ]
225*61c4878aSAndroid Build Coastguard Worker  sources = [ "host_trace_time.cc" ]
226*61c4878aSAndroid Build Coastguard Worker}
227*61c4878aSAndroid Build Coastguard Worker
228*61c4878aSAndroid Build Coastguard Workerpw_source_set("core") {
229*61c4878aSAndroid Build Coastguard Worker  public_configs = [
230*61c4878aSAndroid Build Coastguard Worker    ":backend_config",
231*61c4878aSAndroid Build Coastguard Worker    ":public_include_path",
232*61c4878aSAndroid Build Coastguard Worker  ]
233*61c4878aSAndroid Build Coastguard Worker  public_deps = [
234*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
235*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_status",
236*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_tokenizer",
237*61c4878aSAndroid Build Coastguard Worker    dir_pw_span,
238*61c4878aSAndroid Build Coastguard Worker  ]
239*61c4878aSAndroid Build Coastguard Worker  deps = [
240*61c4878aSAndroid Build Coastguard Worker    ":config",
241*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_assert",
242*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_ring_buffer",
243*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace:facade",
244*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_varint",
245*61c4878aSAndroid Build Coastguard Worker  ]
246*61c4878aSAndroid Build Coastguard Worker  public = [
247*61c4878aSAndroid Build Coastguard Worker    "public/pw_trace_tokenized/internal/trace_tokenized_internal.h",
248*61c4878aSAndroid Build Coastguard Worker    "public/pw_trace_tokenized/trace_callback.h",
249*61c4878aSAndroid Build Coastguard Worker    "public/pw_trace_tokenized/trace_tokenized.h",
250*61c4878aSAndroid Build Coastguard Worker  ]
251*61c4878aSAndroid Build Coastguard Worker  sources = [ "trace.cc" ]
252*61c4878aSAndroid Build Coastguard Worker  visibility = [ ":*" ]
253*61c4878aSAndroid Build Coastguard Worker}
254*61c4878aSAndroid Build Coastguard Worker
255*61c4878aSAndroid Build Coastguard Workerpw_doc_group("docs") {
256*61c4878aSAndroid Build Coastguard Worker  sources = [ "docs.rst" ]
257*61c4878aSAndroid Build Coastguard Worker}
258*61c4878aSAndroid Build Coastguard Worker
259*61c4878aSAndroid Build Coastguard Workerconfig("trace_example_config") {
260*61c4878aSAndroid Build Coastguard Worker  include_dirs = [ "example/public" ]
261*61c4878aSAndroid Build Coastguard Worker}
262*61c4878aSAndroid Build Coastguard Worker
263*61c4878aSAndroid Build Coastguard Workerpw_source_set("trace_example_to_file") {
264*61c4878aSAndroid Build Coastguard Worker  public_deps = [ ":pw_trace_tokenized" ]
265*61c4878aSAndroid Build Coastguard Worker  public_configs = [ ":trace_example_config" ]
266*61c4878aSAndroid Build Coastguard Worker  public = [ "example/public/pw_trace_tokenized/example/trace_to_file.h" ]
267*61c4878aSAndroid Build Coastguard Worker}
268*61c4878aSAndroid Build Coastguard Worker
269*61c4878aSAndroid Build Coastguard Worker# Builds trace examples
270*61c4878aSAndroid Build Coastguard Workerpw_executable("trace_tokenized_example_basic") {
271*61c4878aSAndroid Build Coastguard Worker  deps = [
272*61c4878aSAndroid Build Coastguard Worker    ":trace_example_to_file",
273*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
274*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
275*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace:trace_sample_app",
276*61c4878aSAndroid Build Coastguard Worker  ]
277*61c4878aSAndroid Build Coastguard Worker  sources = [ "example/basic.cc" ]
278*61c4878aSAndroid Build Coastguard Worker}
279*61c4878aSAndroid Build Coastguard Worker
280*61c4878aSAndroid Build Coastguard Workerpw_executable("trace_tokenized_example_trigger") {
281*61c4878aSAndroid Build Coastguard Worker  deps = [
282*61c4878aSAndroid Build Coastguard Worker    ":trace_example_to_file",
283*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
284*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
285*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace:trace_sample_app",
286*61c4878aSAndroid Build Coastguard Worker  ]
287*61c4878aSAndroid Build Coastguard Worker  sources = [ "example/trigger.cc" ]
288*61c4878aSAndroid Build Coastguard Worker}
289*61c4878aSAndroid Build Coastguard Worker
290*61c4878aSAndroid Build Coastguard Workerpw_executable("trace_tokenized_example_filter") {
291*61c4878aSAndroid Build Coastguard Worker  deps = [
292*61c4878aSAndroid Build Coastguard Worker    ":trace_example_to_file",
293*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_log",
294*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace",
295*61c4878aSAndroid Build Coastguard Worker    "$dir_pw_trace:trace_sample_app",
296*61c4878aSAndroid Build Coastguard Worker  ]
297*61c4878aSAndroid Build Coastguard Worker  sources = [ "example/filter.cc" ]
298*61c4878aSAndroid Build Coastguard Worker}
299*61c4878aSAndroid Build Coastguard Worker
300*61c4878aSAndroid Build Coastguard Workerif (dir_pw_third_party_nanopb == "") {
301*61c4878aSAndroid Build Coastguard Worker  group("trace_tokenized_example_rpc") {
302*61c4878aSAndroid Build Coastguard Worker  }
303*61c4878aSAndroid Build Coastguard Worker} else {
304*61c4878aSAndroid Build Coastguard Worker  pw_executable("trace_tokenized_example_rpc") {
305*61c4878aSAndroid Build Coastguard Worker    sources = [ "example/rpc.cc" ]
306*61c4878aSAndroid Build Coastguard Worker    deps = [
307*61c4878aSAndroid Build Coastguard Worker      ":pw_trace_tokenized",
308*61c4878aSAndroid Build Coastguard Worker      ":trace_rpc_service",
309*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_hdlc",
310*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_log",
311*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_rpc:server",
312*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_rpc/system_server",
313*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_trace",
314*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_trace:trace_sample_app",
315*61c4878aSAndroid Build Coastguard Worker    ]
316*61c4878aSAndroid Build Coastguard Worker  }
317*61c4878aSAndroid Build Coastguard Worker}
318*61c4878aSAndroid Build Coastguard Worker
319*61c4878aSAndroid Build Coastguard Workerif (current_os != "linux") {
320*61c4878aSAndroid Build Coastguard Worker  group("trace_tokenized_example_linux_group_by_tid") {
321*61c4878aSAndroid Build Coastguard Worker  }
322*61c4878aSAndroid Build Coastguard Worker} else {
323*61c4878aSAndroid Build Coastguard Worker  pw_executable("trace_tokenized_example_linux_group_by_tid") {
324*61c4878aSAndroid Build Coastguard Worker    sources = [ "example/linux_group_by_tid.cc" ]
325*61c4878aSAndroid Build Coastguard Worker    deps = [
326*61c4878aSAndroid Build Coastguard Worker      ":trace_example_to_file",
327*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_log",
328*61c4878aSAndroid Build Coastguard Worker      "$dir_pw_trace",
329*61c4878aSAndroid Build Coastguard Worker    ]
330*61c4878aSAndroid Build Coastguard Worker  }
331*61c4878aSAndroid Build Coastguard Worker}
332