diff options
Diffstat (limited to 'pw_trace_tokenized/BUILD.gn')
-rw-r--r-- | pw_trace_tokenized/BUILD.gn | 66 |
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", |