blob: c9dd954bcdf9e469910657ec37aa21dbd0332806 [file] [log] [blame]
Robert Oliver21dcf272020-05-12 15:41:52 -04001# Copyright 2020 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(
16 "//pw_build:pigweed.bzl",
Robert Oliver6d05de12020-07-13 15:10:42 -040017 "pw_cc_binary",
Robert Oliver21dcf272020-05-12 15:41:52 -040018 "pw_cc_library",
19 "pw_cc_test",
20)
21
22package(default_visibility = ["//visibility:public"])
23
24licenses(["notice"]) # Apache License 2.0
25
26# TODO(pwbug/101): Need to add support for facades/backends to Bazel.
27
28pw_cc_library(
29 name = "headers",
30 hdrs = [
Robert Oliver19468fb2020-10-19 14:56:07 -040031 "public/pw_trace_tokenized/config.h",
Robert Oliver21dcf272020-05-12 15:41:52 -040032 "public/pw_trace_tokenized/internal/trace_tokenized_internal.h",
33 "public/pw_trace_tokenized/trace_callback.h",
34 "public/pw_trace_tokenized/trace_tokenized.h",
35 "public_overrides/pw_trace_backend/trace_backend.h",
36 ],
37 includes = [
38 "public",
39 "public_overrides",
40 ],
41 deps = [
42 "//pw_preprocessor",
43 "//pw_tokenizer",
44 ],
45)
46
47pw_cc_library(
48 name = "pw_trace_tokenized",
49 srcs = [
50 "trace.cc",
51 ],
52 deps = [
53 ":headers",
54 "//pw_assert",
55 "//pw_log",
56 "//pw_status",
57 "//pw_tokenizer",
58 "//pw_trace:facade",
59 "//pw_varint",
60 ],
61)
62
63pw_cc_library(
Rob Oliver9d663372021-02-05 11:02:05 -050064 name = "trace_rpc_service",
Nathaniel Brougha1113be2021-03-07 09:05:41 +080065 srcs = [
66 "trace_rpc_service_nanopb.cc",
67 ],
Rob Oliver9d663372021-02-05 11:02:05 -050068 hdrs = [
69 "public/pw_trace_tokenized/trace_rpc_service_nanopb.h",
70 ],
71 includes = [
72 "public",
73 ],
Rob Oliver9d663372021-02-05 11:02:05 -050074 deps = [
75 "//pw_log",
76 "//pw_trace",
77 "//pw_trace_tokenized_buffer",
78 ],
79)
80
81pw_cc_library(
Robert Oliver81e6e3e2020-06-25 14:43:40 -040082 name = "trace_buffer_headers",
83 hdrs = [
84 "public/pw_trace_tokenized/trace_buffer.h",
85 ],
86 includes = [
87 "public",
88 ],
89 deps = [
90 "//pw_ring_buffer",
91 "//pw_status",
92 "//pw_trace_tokenized",
93 ],
94)
95
96pw_cc_library(
97 name = "pw_trace_tokenized_buffer",
98 srcs = [
99 "trace_buffer.cc",
100 ],
101 deps = [
102 ":trace_buffer_headers",
103 "//pw_ring_buffer",
104 "//pw_status",
105 ],
106)
107
108pw_cc_library(
Prashanth Swaminathan0a9129c2020-09-14 16:27:24 -0700109 name = "pw_trace_tokenized_buffer_log",
Prashanth Swaminathan0a9129c2020-09-14 16:27:24 -0700110 srcs = [
111 "trace_buffer_log.cc",
112 ],
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800113 hdrs = [
114 "public/pw_trace_tokenized/trace_buffer_log.h",
115 ],
Prashanth Swaminathan0a9129c2020-09-14 16:27:24 -0700116 deps = [
117 ":trace_buffer_headers",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800118 "//pw_base64",
119 "//pw_log",
120 "//pw_string",
Prashanth Swaminathan0a9129c2020-09-14 16:27:24 -0700121 ],
122)
123
124pw_cc_library(
Robert Oliver21dcf272020-05-12 15:41:52 -0400125 name = "pw_trace_tokenized_fake_time",
126 srcs = [
127 "fake_trace_time.cc",
128 ],
129 deps = [
130 "//pw_trace",
131 ],
132)
133
134pw_cc_test(
135 name = "trace_tokenized_test",
136 srcs = [
137 "trace_test.cc",
138 ],
139 includes = [
140 "pw_trace_test",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800141 "pw_trace_test/public_overrides",
Robert Oliver21dcf272020-05-12 15:41:52 -0400142 ],
143 deps = [
144 ":backend",
145 ":facade",
146 ":pw_trace",
147 "//pw_preprocessor",
148 "//pw_unit_test",
149 ],
150)
151
Robert Oliver81e6e3e2020-06-25 14:43:40 -0400152pw_cc_test(
153 name = "trace_tokenized_buffer_test",
154 srcs = [
155 "trace_buffer_test.cc",
156 ],
157 deps = [
158 ":backend",
159 ":facade",
160 ":pw_trace",
161 "//pw_preprocessor",
162 "//pw_unit_test",
163 ],
164)
165
Prashanth Swaminathan0a9129c2020-09-14 16:27:24 -0700166pw_cc_test(
167 name = "trace_tokenized_buffer_log_test",
168 srcs = [
169 "trace_buffer_log_test.cc",
170 ],
171 deps = [
172 ":backend",
173 ":facade",
174 ":pw_trace_log",
175 "//pw_preprocessor",
176 "//pw_unit_test",
177 ],
178)
179
Robert Oliver6d05de12020-07-13 15:10:42 -0400180pw_cc_library(
181 name = "pw_trace_host_trace_time",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800182 srcs = ["host_trace_time.cc"],
183 includes = ["example/public"],
184 deps = ["//pw_trace"],
Robert Oliver6d05de12020-07-13 15:10:42 -0400185)
186
187pw_cc_library(
188 name = "pw_trace_example_to_file",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800189 hdrs = ["example/public/pw_trace_tokenized/example/trace_to_file.h"],
190 includes = ["example/public"],
191 deps = ["//pw_trace"],
Robert Oliver6d05de12020-07-13 15:10:42 -0400192)
193
194pw_cc_binary(
195 name = "trace_tokenized_example_basic",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800196 srcs = ["example/basic.cc"],
Robert Oliver6d05de12020-07-13 15:10:42 -0400197 deps = [
198 ":pw_trace_example_to_file",
Robert Oliver6d05de12020-07-13 15:10:42 -0400199 "//dir_pw_trace",
200 "//dir_pw_trace:pw_trace_sample_app",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800201 "//pw_log",
Robert Oliver6d05de12020-07-13 15:10:42 -0400202 ],
Robert Oliver6d05de12020-07-13 15:10:42 -0400203)
Robert Oliver19146912020-07-14 10:49:48 -0400204
205pw_cc_binary(
206 name = "trace_tokenized_example_trigger",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800207 srcs = ["example/trigger.cc"],
Robert Oliver19146912020-07-14 10:49:48 -0400208 deps = [
209 ":pw_trace_example_to_file",
Robert Oliver19146912020-07-14 10:49:48 -0400210 "//dir_pw_trace",
211 "//dir_pw_trace:pw_trace_sample_app",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800212 "//pw_log",
Robert Oliver19146912020-07-14 10:49:48 -0400213 ],
Robert Oliver19146912020-07-14 10:49:48 -0400214)
Robert Oliver0cc20752020-07-14 15:24:22 -0400215
216pw_cc_binary(
217 name = "trace_tokenized_example_filter",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800218 srcs = ["example/filter.cc"],
Robert Oliver0cc20752020-07-14 15:24:22 -0400219 deps = [
220 ":pw_trace_example_to_file",
Robert Oliver0cc20752020-07-14 15:24:22 -0400221 "//dir_pw_trace",
222 "//dir_pw_trace:pw_trace_sample_app",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800223 "//pw_log",
Robert Oliver0cc20752020-07-14 15:24:22 -0400224 ],
Robert Oliver0cc20752020-07-14 15:24:22 -0400225)
Rob Oliver9d663372021-02-05 11:02:05 -0500226
227pw_cc_library(
228 name = "trace_tokenized_example_rpc",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800229 srcs = ["example/rpc.cc"],
Rob Oliver9d663372021-02-05 11:02:05 -0500230 deps = [
231 ":pw_trace_rpc_service",
232 "//dir_pw_rpc:server",
233 "//dir_pw_rpc:system_server",
Rob Oliver9d663372021-02-05 11:02:05 -0500234 "//dir_pw_trace",
235 "//dir_pw_trace:pw_trace_sample_app",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800236 "//pw_hdlc",
237 "//pw_log",
Rob Oliver9d663372021-02-05 11:02:05 -0500238 ],
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800239)