//
// Copyright (C) 2022 The Android Open Source Project
//
// 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
//
//      http://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: ["Android-Apache-2.0"],
}

rust_protobuf {
    name: "libkmr_proto_rust",
    crate_name: "kmr_proto",
    protos: ["storage.proto"],
    source_stem: "kmr_proto",
    host_supported: true,
}

rust_library_host {
    name: "libkmr_cf",
    srcs: ["lib.rs"],
    crate_name: "kmr_cf",
    rustlibs: [
        "libhex",
        "libkmr_common",
        "libkmr_crypto_boring",
        "libkmr_proto_rust",
        "libkmr_ta",
        "libkmr_ta_nonsecure",
        "libkmr_wire",
        "liblibc",
        "liblog_rust",
        "libnix",
        "libprotobuf",
        "libsecure_env_tpm",
    ],
    defaults: ["cuttlefish_buildhost_only"],
}

rust_ffi_host {
    name: "libkmr_cf_ffi",
    compile_multilib: "64",
    srcs: ["ffi.rs"],
    crate_name: "kmr_cf_ffi",
    rustlibs: [
        "libkmr_cf",
        "libkmr_wire",
        "liblibc",
        "liblog_rust",
    ],
    prefer_rlib: true,
    defaults: ["cuttlefish_buildhost_only"],
}

rust_test_host {
    name: "libkmr_cf_test",
    srcs: ["lib.rs"],
    rustlibs: [
        "libhex",
        "libkmr_common",
        "libkmr_crypto_boring",
        "libkmr_proto_rust",
        "libkmr_ta",
        "libkmr_ta_nonsecure",
        "libkmr_tests",
        "libkmr_wire",
        "liblibc",
        "liblog_rust",
        "libnix",
        "libprotobuf",
        "libsecure_env_tpm",
    ],
    defaults: ["cuttlefish_buildhost_only"],
    test_suites: ["general-tests"],
}
