blob: cbd5be07de1741eae745cbe21f9c11eed30ea0ff [file] [log] [blame]
Robert Oliverd1323f42020-04-27 12:05:16 -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 Oliver70b92642020-07-13 15:04:10 -040017 "pw_cc_binary",
Robert Oliverd1323f42020-04-27 12:05:16 -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 = "facade",
30 hdrs = [
Robert Oliverd1323f42020-04-27 12:05:16 -040031 "public/pw_trace/internal/trace_internal.h",
Nathaniel Brougha1113be2021-03-07 09:05:41 +080032 "public/pw_trace/trace.h",
Robert Oliverd1323f42020-04-27 12:05:16 -040033 ],
34 includes = ["public"],
35 deps = [
36 "//pw_preprocessor",
37 ],
38)
39
40pw_cc_library(
41 name = "pw_trace",
42 deps = [
43 ":facade",
44 ],
45)
46
47pw_cc_library(
48 name = "backend",
49 deps = [],
50)
51
52pw_cc_test(
53 name = "trace_backend_compile_test",
54 srcs = [
55 "trace_backend_compile_test.cc",
Michael Spanga99220e2020-06-11 20:07:16 -040056 "trace_backend_compile_test_c.c",
Robert Oliverd1323f42020-04-27 12:05:16 -040057 ],
58 deps = [
59 ":backend",
60 ":facade",
61 ":pw_trace",
62 "//pw_preprocessor",
63 "//pw_unit_test",
64 ],
65)
66
67pw_cc_test(
68 name = "trace_facade_test",
69 srcs = [
Robert Oliverd1323f42020-04-27 12:05:16 -040070 "pw_trace_test/fake_backend.h",
71 "pw_trace_test/public_overrides/pw_trace_backend/trace_backend.h",
Nathaniel Brougha1113be2021-03-07 09:05:41 +080072 "trace_facade_test.cc",
Robert Oliverd1323f42020-04-27 12:05:16 -040073 ],
74 includes = [
75 "pw_trace_test",
Nathaniel Brougha1113be2021-03-07 09:05:41 +080076 "pw_trace_test/public_overrides",
Robert Oliverd1323f42020-04-27 12:05:16 -040077 ],
78 deps = [
79 ":backend",
80 ":facade",
81 ":pw_trace",
82 "//pw_preprocessor",
83 "//pw_unit_test",
84 ],
85)
Robert Oliver70b92642020-07-13 15:04:10 -040086
87pw_cc_library(
88 name = "pw_trace_sample_app",
Nathaniel Brougha1113be2021-03-07 09:05:41 +080089 srcs = ["example/sample_app.cc"],
90 hdrs = ["example/public/pw_trace/example/sample_app.h"],
91 includes = ["example/public"],
92 deps = ["//pw_trace"],
Robert Oliver70b92642020-07-13 15:04:10 -040093)
94
95pw_cc_binary(
96 name = "trace_example_basic",
Nathaniel Brougha1113be2021-03-07 09:05:41 +080097 srcs = ["example/basic.cc"],
Robert Oliver70b92642020-07-13 15:04:10 -040098 deps = [
99 ":pw_trace_sample_app",
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800100 "//pw_log",
Robert Oliver70b92642020-07-13 15:04:10 -0400101 ],
Nathaniel Brougha1113be2021-03-07 09:05:41 +0800102)