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