// 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"],
}

python_binary_host {
    name: "pw_rpc_plugin_nanopb_py",
    main: "pw_rpc/plugin_nanopb.py",
    srcs: [
        "pw_rpc/**/*.py",
    ],
    libs: [
        "libprotobuf-python",
        "pw_protobuf_compiler_py_lib",
        "pw_protobuf_plugin_py_lib",
        "pw_rpc_internal_packet_py_lib",
        "pw_status_py_lib",
    ],

python_binary_host {
    name: "pw_rpc_plugin_rawpb_py",
    main: "pw_rpc/plugin_raw.py",
    srcs: [
        "pw_rpc/**/*.py",
    ],
    libs: [
        "libprotobuf-python",
        "pw_protobuf_compiler_py_lib",
        "pw_protobuf_plugin_py_lib",
        "pw_rpc_internal_packet_py_lib",
        "pw_status_py_lib",
    ],
}