blob: 19b8f540b265c428e3d340c919d4411f4be41880 [file] [log] [blame]
// Copyright 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: ["system_keymint_license"],
}
rust_library {
name: "libkmr_wire",
crate_name: "kmr_wire",
srcs: ["src/lib.rs"],
host_supported: true,
vendor_available: true,
edition: "2021",
lints: "android",
// Default target includes support for all versions of the KeyMint HAL.
features: [
"hal_v2",
"hal_v3",
],
rustlibs: [
"libciborium",
"libciborium_io",
"libcoset",
"liblog_rust",
"libzeroize",
],
proc_macros: [
"libenumn",
"libkmr_derive",
],
}
// Variant of the library that only includes support for the KeyMint v2 HAL types.
rust_library {
name: "libkmr_wire_hal_v2",
crate_name: "kmr_wire",
srcs: ["src/lib.rs"],
host_supported: true,
vendor_available: true,
edition: "2021",
lints: "android",
// Default target includes support for all versions of the KeyMint HAL.
features: [
"hal_v2",
],
rustlibs: [
"libciborium",
"libciborium_io",
"libcoset",
"liblog_rust",
"libzeroize",
],
proc_macros: [
"libenumn",
"libkmr_derive",
],
}
// Variant of the library that only includes support for the KeyMint v1 HAL types.
rust_library {
name: "libkmr_wire_hal_v1",
crate_name: "kmr_wire",
srcs: ["src/lib.rs"],
host_supported: true,
vendor_available: true,
edition: "2021",
lints: "android",
rustlibs: [
"libciborium",
"libciborium_io",
"libcoset",
"liblog_rust",
"libzeroize",
],
proc_macros: [
"libenumn",
"libkmr_derive",
],
}
rust_library_rlib {
name: "libkmr_wire_nostd",
crate_name: "kmr_wire",
srcs: ["src/lib.rs"],
vendor_available: true,
edition: "2021",
lints: "android",
features: [
"hal_v2",
"hal_v3",
],
rustlibs: [
"libciborium_nostd",
"libciborium_io_nostd",
"libcoset_nostd",
"liblog_rust_nostd",
"libzeroize_nostd",
],
proc_macros: [
"libenumn",
"libkmr_derive",
],
prefer_rlib: true,
no_stdlibs: true,
stdlibs: [
"libcompiler_builtins.rust_sysroot",
"libcore.rust_sysroot",
],
}
rust_test_host {
name: "libkmr_wire_test",
crate_name: "kmr_wire_test",
srcs: ["src/lib.rs"],
rustlibs: [
"libciborium",
"libciborium_io",
"libcoset",
"libhex",
"liblog_rust",
"libzeroize",
],
proc_macros: [
"libenumn",
"libkmr_derive",
],
test_suites: ["general-tests"],
}
rust_fuzz {
name: "libkmr_wire_fuzz_message",
srcs: ["fuzz/fuzz_targets/message.rs"],
rustlibs: ["libkmr_wire"],
host_supported: true,
fuzz_config: {
cc: ["drysdale@google.com", "hasinitg@google.com"],
componentid: 1084733,
hotlists: ["4271696"],
fuzz_on_haiku_device: true,
fuzz_on_haiku_host: true,
},
}