// 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", "hal_v4", ], rustlibs: [ "libciborium", "libciborium_io", "libcoset", "liblog_rust", "libzeroize", ], proc_macros: [ "libenumn", "libkmr_derive", ], } // Variant of the library that only includes support for the KeyMint v3 HAL types. rust_library { name: "libkmr_wire_hal_v3", crate_name: "kmr_wire", srcs: ["src/lib.rs"], host_supported: true, vendor_available: true, edition: "2021", lints: "android", features: [ "hal_v3", "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 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", 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", "hal_v4", ], 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, }, } rust_fuzz { name: "libkmr_wire_fuzz_legacy_message", srcs: ["fuzz/fuzz_targets/legacy_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, }, }