aboutsummaryrefslogtreecommitdiff
path: root/pw_trace_tokenized/BUILD.gn
diff options
context:
space:
mode:
Diffstat (limited to 'pw_trace_tokenized/BUILD.gn')
-rw-r--r--pw_trace_tokenized/BUILD.gn66
1 files changed, 61 insertions, 5 deletions
diff --git a/pw_trace_tokenized/BUILD.gn b/pw_trace_tokenized/BUILD.gn
index 7af4ddfd9..c2c928e91 100644
--- a/pw_trace_tokenized/BUILD.gn
+++ b/pw_trace_tokenized/BUILD.gn
@@ -18,6 +18,7 @@ import("$dir_pw_build/target_types.gni")
import("$dir_pw_docgen/docs.gni")
import("$dir_pw_protobuf_compiler/proto.gni")
import("$dir_pw_third_party/nanopb/nanopb.gni")
+import("$dir_pw_trace/backend.gni")
import("$dir_pw_unit_test/test.gni")
import("config.gni")
@@ -30,6 +31,13 @@ config("backend_config") {
include_dirs = [ "public_overrides" ]
}
+# Some tests in this file do not compile unless pw_trace_tokenized is the trace
+# backend.
+_pw_trace_tokenized_is_selected =
+ get_label_info(pw_trace_BACKEND, "label_no_toolchain") ==
+ get_label_info(":pw_trace_tokenized", "label_no_toolchain") &&
+ pw_trace_tokenizer_time != ""
+
pw_source_set("config") {
public_deps = [ pw_trace_CONFIG ]
public_configs = [ ":public_include_path" ]
@@ -54,6 +62,7 @@ pw_test_group("tests") {
":trace_tokenized_test",
":tokenized_trace_buffer_test",
":tokenized_trace_buffer_log_test",
+ ":trace_service_pwpb_test",
]
}
@@ -76,7 +85,7 @@ pw_source_set("pw_trace_tokenized") {
}
pw_test("trace_tokenized_test") {
- enable_if = pw_trace_tokenizer_time != ""
+ enable_if = _pw_trace_tokenized_is_selected
deps = [
":core",
"$dir_pw_trace",
@@ -93,8 +102,14 @@ pw_proto_library("protos") {
sources = [
"pw_trace_protos/trace.proto",
"pw_trace_protos/trace_rpc.proto",
+ "pw_trace_protos/trace_service.proto",
+ ]
+ inputs = [
+ "pw_trace_protos/trace_rpc.options",
+ "pw_trace_protos/trace_service.options",
]
- inputs = [ "pw_trace_protos/trace_rpc.options" ]
+ python_package = "py"
+ deps = [ "$dir_pw_chrono:protos" ]
}
pw_source_set("trace_rpc_service") {
@@ -112,6 +127,46 @@ pw_source_set("trace_rpc_service") {
]
}
+pw_source_set("base_trace_service") {
+ public_configs = [ ":public_include_path" ]
+ public_deps = [
+ ":core",
+ ":tokenized_trace_buffer",
+ ]
+ deps = [
+ "$dir_pw_ring_buffer",
+ "$dir_pw_stream",
+ ]
+ sources = [
+ "base_trace_service.cc",
+ "public/pw_trace_tokenized/base_trace_service.h",
+ ]
+}
+
+pw_source_set("trace_service_pwpb") {
+ public_configs = [ ":public_include_path" ]
+ public_deps = [
+ ":base_trace_service",
+ ":protos.pwpb_rpc",
+ ]
+ deps = [ "$dir_pw_chrono:system_clock" ]
+ sources = [
+ "public/pw_trace_tokenized/trace_service_pwpb.h",
+ "trace_service_pwpb.cc",
+ ]
+}
+
+pw_test("trace_service_pwpb_test") {
+ enable_if = _pw_trace_tokenized_is_selected
+ deps = [
+ ":trace_service_pwpb",
+ "$dir_pw_chrono:system_clock",
+ "$dir_pw_rpc/pwpb:test_method_context",
+ "$dir_pw_trace",
+ ]
+ sources = [ "trace_service_pwpb_test.cc" ]
+}
+
pw_source_set("tokenized_trace_buffer") {
deps = [ ":core" ]
public_deps = [
@@ -131,7 +186,7 @@ pw_source_set("tokenized_trace_buffer") {
}
pw_test("tokenized_trace_buffer_test") {
- enable_if = pw_trace_tokenizer_time != ""
+ enable_if = _pw_trace_tokenized_is_selected
deps = [
":tokenized_trace_buffer",
"$dir_pw_trace",
@@ -152,7 +207,7 @@ pw_source_set("tokenized_trace_buffer_log") {
}
pw_test("tokenized_trace_buffer_log_test") {
- enable_if = pw_trace_tokenizer_time != ""
+ enable_if = _pw_trace_tokenized_is_selected
deps = [
":tokenized_trace_buffer_log",
"$dir_pw_trace",
@@ -206,7 +261,7 @@ config("trace_example_config") {
}
pw_source_set("trace_example_to_file") {
- deps = [ ":pw_trace_tokenized" ]
+ public_deps = [ ":pw_trace_tokenized" ]
public_configs = [ ":trace_example_config" ]
public = [ "example/public/pw_trace_tokenized/example/trace_to_file.h" ]
}
@@ -249,6 +304,7 @@ if (dir_pw_third_party_nanopb == "") {
pw_executable("trace_tokenized_example_rpc") {
sources = [ "example/rpc.cc" ]
deps = [
+ ":pw_trace_tokenized",
":trace_rpc_service",
"$dir_pw_hdlc",
"$dir_pw_log",