• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2023 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
15package {
16    default_applicable_licenses: ["external_pigweed_license"],
17}
18
19cc_library {
20    name: "pw_metric",
21    cpp_std: "c++20",
22    export_include_dirs: ["public"],
23    defaults: [
24        "pw_android_common_backends",
25    ],
26    header_libs: [
27        "pw_assert",
28        "pw_log",
29    ],
30    export_header_lib_headers: [
31        "pw_assert",
32        "pw_log",
33    ],
34    static_libs: [
35        "pw_base64",
36        "pw_containers",
37        "pw_preprocessor",
38        "pw_span",
39        "pw_tokenizer",
40        "pw_tokenizer_base64",
41    ],
42    export_static_lib_headers: [
43        "pw_base64",
44        "pw_containers",
45        "pw_preprocessor",
46        "pw_span",
47        "pw_tokenizer",
48        "pw_tokenizer_base64",
49    ],
50    srcs: [
51        "metric.cc",
52    ],
53    host_supported: true,
54    vendor_available: true,
55}
56
57genrule {
58    name: "pw_metric_raw_rpc_header",
59    defaults: ["pw_rpc_generate_raw_rpc_header_with_prefix"],
60    srcs: [
61        "pw_metric_proto/metric_service.pwpb_options",
62        "pw_metric_proto/metric_service.proto",
63    ],
64    out: ["pw_metric_proto/metric_service.raw_rpc.pb.h"],
65}
66
67genrule {
68    name: "pw_metric_pwpb_proto_header",
69    defaults: ["pw_rpc_generate_pwpb_proto_with_prefix"],
70    srcs: [
71        "pw_metric_proto/metric_service.pwpb_options",
72        "pw_metric_proto/metric_service.proto",
73    ],
74    out: ["pw_metric_proto/metric_service.pwpb.h"],
75}
76
77genrule {
78    name: "pw_metric_pwpb_rpc_header",
79    defaults: ["pw_rpc_generate_pwpb_rpc_header_with_prefix"],
80    srcs: [
81        "pw_metric_proto/metric_service.pwpb_options",
82        "pw_metric_proto/metric_service.proto",
83    ],
84    out: [
85        "pw_metric_proto/metric_service.rpc.pwpb.h",
86    ],
87}
88
89cc_library_headers {
90    name: "pw_metric_service_pwpb",
91    cpp_std: "c++20",
92    vendor_available: true,
93    host_supported: true,
94    generated_headers: [
95        "pw_metric_pwpb_proto_header",
96        "pw_metric_pwpb_rpc_header",
97    ],
98    export_generated_headers: [
99        "pw_metric_pwpb_proto_header",
100        "pw_metric_pwpb_rpc_header",
101    ],
102}
103
104cc_library_headers {
105    name: "pw_metric_service_raw",
106    cpp_std: "c++20",
107    vendor_available: true,
108    host_supported: true,
109    generated_headers: [
110        "pw_metric_raw_rpc_header",
111    ],
112    export_generated_headers: [
113        "pw_metric_raw_rpc_header",
114    ],
115}
116