1*9860b763SAndroid Build Coastguard Worker// Copyright 2022, The Android Open Source Project 2*9860b763SAndroid Build Coastguard Worker// 3*9860b763SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*9860b763SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*9860b763SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*9860b763SAndroid Build Coastguard Worker// 7*9860b763SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*9860b763SAndroid Build Coastguard Worker// 9*9860b763SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*9860b763SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*9860b763SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*9860b763SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*9860b763SAndroid Build Coastguard Worker// limitations under the License. 14*9860b763SAndroid Build Coastguard Worker 15*9860b763SAndroid Build Coastguard Workerpackage { 16*9860b763SAndroid Build Coastguard Worker default_applicable_licenses: ["system_keymint_license"], 17*9860b763SAndroid Build Coastguard Worker} 18*9860b763SAndroid Build Coastguard Worker 19*9860b763SAndroid Build Coastguard Workerrust_defaults { 20*9860b763SAndroid Build Coastguard Worker name: "kmr_hal_defaults", 21*9860b763SAndroid Build Coastguard Worker edition: "2021", 22*9860b763SAndroid Build Coastguard Worker lints: "android", 23*9860b763SAndroid Build Coastguard Worker rustlibs: [ 24*9860b763SAndroid Build Coastguard Worker "android.hardware.security.rkp-V3-rust", 25*9860b763SAndroid Build Coastguard Worker "android.hardware.security.secureclock-V1-rust", 26*9860b763SAndroid Build Coastguard Worker "android.hardware.security.sharedsecret-V1-rust", 27*9860b763SAndroid Build Coastguard Worker "libbinder_rs", 28*9860b763SAndroid Build Coastguard Worker "libciborium", 29*9860b763SAndroid Build Coastguard Worker "libciborium_io", 30*9860b763SAndroid Build Coastguard Worker "libhex", 31*9860b763SAndroid Build Coastguard Worker "liblog_rust", 32*9860b763SAndroid Build Coastguard Worker "libregex", 33*9860b763SAndroid Build Coastguard Worker "librustutils", 34*9860b763SAndroid Build Coastguard Worker ], 35*9860b763SAndroid Build Coastguard Worker proc_macros: [ 36*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 37*9860b763SAndroid Build Coastguard Worker ], 38*9860b763SAndroid Build Coastguard Worker} 39*9860b763SAndroid Build Coastguard Worker 40*9860b763SAndroid Build Coastguard Workerrust_library { 41*9860b763SAndroid Build Coastguard Worker name: "libkmr_hal", 42*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_hal", 43*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 44*9860b763SAndroid Build Coastguard Worker vendor_available: true, 45*9860b763SAndroid Build Coastguard Worker // Default target includes support for all versions of the KeyMint HAL. 46*9860b763SAndroid Build Coastguard Worker features: [ 47*9860b763SAndroid Build Coastguard Worker "hal_v2", 48*9860b763SAndroid Build Coastguard Worker "hal_v3", 49*9860b763SAndroid Build Coastguard Worker "hal_v4", 50*9860b763SAndroid Build Coastguard Worker ], 51*9860b763SAndroid Build Coastguard Worker defaults: [ 52*9860b763SAndroid Build Coastguard Worker "keymint_use_latest_hal_aidl_rust", 53*9860b763SAndroid Build Coastguard Worker "kmr_hal_defaults", 54*9860b763SAndroid Build Coastguard Worker ], 55*9860b763SAndroid Build Coastguard Worker rustlibs: [ 56*9860b763SAndroid Build Coastguard Worker "libkmr_wire", 57*9860b763SAndroid Build Coastguard Worker ], 58*9860b763SAndroid Build Coastguard Worker} 59*9860b763SAndroid Build Coastguard Worker 60*9860b763SAndroid Build Coastguard Workerrust_library { 61*9860b763SAndroid Build Coastguard Worker name: "libkmr_hal_v3", 62*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_hal", 63*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 64*9860b763SAndroid Build Coastguard Worker vendor_available: true, 65*9860b763SAndroid Build Coastguard Worker features: [ 66*9860b763SAndroid Build Coastguard Worker "hal_v3", 67*9860b763SAndroid Build Coastguard Worker "hal_v2", 68*9860b763SAndroid Build Coastguard Worker ], 69*9860b763SAndroid Build Coastguard Worker defaults: [ 70*9860b763SAndroid Build Coastguard Worker "kmr_hal_defaults", 71*9860b763SAndroid Build Coastguard Worker ], 72*9860b763SAndroid Build Coastguard Worker rustlibs: [ 73*9860b763SAndroid Build Coastguard Worker "android.hardware.security.keymint-V3-rust", 74*9860b763SAndroid Build Coastguard Worker "libkmr_wire_hal_v3", 75*9860b763SAndroid Build Coastguard Worker ], 76*9860b763SAndroid Build Coastguard Worker} 77*9860b763SAndroid Build Coastguard Worker 78*9860b763SAndroid Build Coastguard Workerrust_library { 79*9860b763SAndroid Build Coastguard Worker name: "libkmr_hal_v2", 80*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_hal", 81*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 82*9860b763SAndroid Build Coastguard Worker vendor_available: true, 83*9860b763SAndroid Build Coastguard Worker features: [ 84*9860b763SAndroid Build Coastguard Worker "hal_v2", 85*9860b763SAndroid Build Coastguard Worker ], 86*9860b763SAndroid Build Coastguard Worker defaults: [ 87*9860b763SAndroid Build Coastguard Worker "kmr_hal_defaults", 88*9860b763SAndroid Build Coastguard Worker ], 89*9860b763SAndroid Build Coastguard Worker rustlibs: [ 90*9860b763SAndroid Build Coastguard Worker "android.hardware.security.keymint-V2-rust", 91*9860b763SAndroid Build Coastguard Worker "libkmr_wire_hal_v2", 92*9860b763SAndroid Build Coastguard Worker ], 93*9860b763SAndroid Build Coastguard Worker} 94*9860b763SAndroid Build Coastguard Worker 95*9860b763SAndroid Build Coastguard Workerrust_library { 96*9860b763SAndroid Build Coastguard Worker name: "libkmr_hal_v1", 97*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_hal", 98*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 99*9860b763SAndroid Build Coastguard Worker vendor_available: true, 100*9860b763SAndroid Build Coastguard Worker defaults: [ 101*9860b763SAndroid Build Coastguard Worker "kmr_hal_defaults", 102*9860b763SAndroid Build Coastguard Worker ], 103*9860b763SAndroid Build Coastguard Worker rustlibs: [ 104*9860b763SAndroid Build Coastguard Worker "android.hardware.security.keymint-V1-rust", 105*9860b763SAndroid Build Coastguard Worker "libkmr_wire_hal_v1", 106*9860b763SAndroid Build Coastguard Worker ], 107*9860b763SAndroid Build Coastguard Worker} 108*9860b763SAndroid Build Coastguard Worker 109*9860b763SAndroid Build Coastguard Workerrust_test { 110*9860b763SAndroid Build Coastguard Worker name: "libkmr_hal_test", 111*9860b763SAndroid Build Coastguard Worker crate_name: "libkeymint_rust_test", 112*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 113*9860b763SAndroid Build Coastguard Worker features: [ 114*9860b763SAndroid Build Coastguard Worker "hal_v2", 115*9860b763SAndroid Build Coastguard Worker "hal_v3", 116*9860b763SAndroid Build Coastguard Worker "hal_v4", 117*9860b763SAndroid Build Coastguard Worker ], 118*9860b763SAndroid Build Coastguard Worker defaults: [ 119*9860b763SAndroid Build Coastguard Worker "keymint_use_latest_hal_aidl_rust", 120*9860b763SAndroid Build Coastguard Worker "kmr_hal_defaults", 121*9860b763SAndroid Build Coastguard Worker ], 122*9860b763SAndroid Build Coastguard Worker rustlibs: [ 123*9860b763SAndroid Build Coastguard Worker "libkmr_wire", 124*9860b763SAndroid Build Coastguard Worker ], 125*9860b763SAndroid Build Coastguard Worker test_suites: ["general-tests"], 126*9860b763SAndroid Build Coastguard Worker} 127