// Copyright 2022 The Pigweed Authors // // Licensed under the Apache License, Version 2.0 (the "License"); you may not // use this file except in compliance with the License. You may obtain a copy of // the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the // License for the specific language governing permissions and limitations under // the License. package { default_applicable_licenses: ["external_pigweed_license"], } cc_library_static { name: "pw_protobuf", vendor_available: true, export_include_dirs: ["public"], header_libs: [ "fuschia_sdk_lib_fit", "fuschia_sdk_lib_stdcompat", "pw_assert_headers", "pw_assert_log_headers", "pw_function_headers", "pw_log_headers", "pw_log_null_headers", "pw_polyfill_headers", "pw_preprocessor_headers", "pw_result_headers", "pw_span_headers", ], host_supported: true, srcs: [ "decoder.cc", "encoder.cc", "find.cc", "map_utils.cc", "message.cc", "stream_decoder.cc", ], static_libs: [ "pw_bytes", "pw_containers", "pw_status", "pw_stream", "pw_string", "pw_varint", ], } genrule { name: "pw_protobuf_codegen_protos_py", srcs: ["pw_protobuf_codegen_protos/codegen_options.proto"], cmd: "$(location aprotoc) " + "-I$$(dirname $(in)) " + "--python_out=$(genDir) " + "$(in)", out: [ "codegen_options_pb2.py", ], tools: [ "aprotoc", ], } python_library_host { name: "pw_protobuf_codegen_protos_py_lib", srcs: [ ":pw_protobuf_codegen_protos_py", ], pkg_path: "pw_protobuf_codegen_protos", } genrule { name: "pw_protobuf_protos_py", srcs: [ "pw_protobuf_protos/common.proto", "pw_protobuf_protos/field_options.proto", "pw_protobuf_protos/status.proto", ":libprotobuf-internal-descriptor-proto", ], cmd: "$(location aprotoc) " + "-I$$(dirname $(location pw_protobuf_protos/common.proto)) " + "-Iexternal/protobuf/src/ " + "--python_out=$(genDir) " + "$(in)", out: [ "common_pb2.py", "field_options_pb2.py", "status_pb2.py", ], tools: [ "aprotoc", ], } python_library_host { name: "pw_protobuf_protos_py_lib", srcs: [ ":pw_protobuf_protos_py", ], pkg_path: "pw_protobuf_protos", }