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_library { 20*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire", 21*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_wire", 22*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 23*9860b763SAndroid Build Coastguard Worker host_supported: true, 24*9860b763SAndroid Build Coastguard Worker vendor_available: true, 25*9860b763SAndroid Build Coastguard Worker edition: "2021", 26*9860b763SAndroid Build Coastguard Worker lints: "android", 27*9860b763SAndroid Build Coastguard Worker // Default target includes support for all versions of the KeyMint HAL. 28*9860b763SAndroid Build Coastguard Worker features: [ 29*9860b763SAndroid Build Coastguard Worker "hal_v2", 30*9860b763SAndroid Build Coastguard Worker "hal_v3", 31*9860b763SAndroid Build Coastguard Worker "hal_v4", 32*9860b763SAndroid Build Coastguard Worker ], 33*9860b763SAndroid Build Coastguard Worker rustlibs: [ 34*9860b763SAndroid Build Coastguard Worker "libciborium", 35*9860b763SAndroid Build Coastguard Worker "libciborium_io", 36*9860b763SAndroid Build Coastguard Worker "libcoset", 37*9860b763SAndroid Build Coastguard Worker "liblog_rust", 38*9860b763SAndroid Build Coastguard Worker "libzeroize", 39*9860b763SAndroid Build Coastguard Worker ], 40*9860b763SAndroid Build Coastguard Worker proc_macros: [ 41*9860b763SAndroid Build Coastguard Worker "libenumn", 42*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 43*9860b763SAndroid Build Coastguard Worker ], 44*9860b763SAndroid Build Coastguard Worker} 45*9860b763SAndroid Build Coastguard Worker 46*9860b763SAndroid Build Coastguard Worker// Variant of the library that only includes support for the KeyMint v3 HAL types. 47*9860b763SAndroid Build Coastguard Workerrust_library { 48*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_hal_v3", 49*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_wire", 50*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 51*9860b763SAndroid Build Coastguard Worker host_supported: true, 52*9860b763SAndroid Build Coastguard Worker vendor_available: true, 53*9860b763SAndroid Build Coastguard Worker edition: "2021", 54*9860b763SAndroid Build Coastguard Worker lints: "android", 55*9860b763SAndroid Build Coastguard Worker features: [ 56*9860b763SAndroid Build Coastguard Worker "hal_v3", 57*9860b763SAndroid Build Coastguard Worker "hal_v2", 58*9860b763SAndroid Build Coastguard Worker ], 59*9860b763SAndroid Build Coastguard Worker rustlibs: [ 60*9860b763SAndroid Build Coastguard Worker "libciborium", 61*9860b763SAndroid Build Coastguard Worker "libciborium_io", 62*9860b763SAndroid Build Coastguard Worker "libcoset", 63*9860b763SAndroid Build Coastguard Worker "liblog_rust", 64*9860b763SAndroid Build Coastguard Worker "libzeroize", 65*9860b763SAndroid Build Coastguard Worker ], 66*9860b763SAndroid Build Coastguard Worker proc_macros: [ 67*9860b763SAndroid Build Coastguard Worker "libenumn", 68*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 69*9860b763SAndroid Build Coastguard Worker ], 70*9860b763SAndroid Build Coastguard Worker} 71*9860b763SAndroid Build Coastguard Worker 72*9860b763SAndroid Build Coastguard Worker// Variant of the library that only includes support for the KeyMint v2 HAL types. 73*9860b763SAndroid Build Coastguard Workerrust_library { 74*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_hal_v2", 75*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_wire", 76*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 77*9860b763SAndroid Build Coastguard Worker host_supported: true, 78*9860b763SAndroid Build Coastguard Worker vendor_available: true, 79*9860b763SAndroid Build Coastguard Worker edition: "2021", 80*9860b763SAndroid Build Coastguard Worker lints: "android", 81*9860b763SAndroid Build Coastguard Worker features: [ 82*9860b763SAndroid Build Coastguard Worker "hal_v2", 83*9860b763SAndroid Build Coastguard Worker ], 84*9860b763SAndroid Build Coastguard Worker rustlibs: [ 85*9860b763SAndroid Build Coastguard Worker "libciborium", 86*9860b763SAndroid Build Coastguard Worker "libciborium_io", 87*9860b763SAndroid Build Coastguard Worker "libcoset", 88*9860b763SAndroid Build Coastguard Worker "liblog_rust", 89*9860b763SAndroid Build Coastguard Worker "libzeroize", 90*9860b763SAndroid Build Coastguard Worker ], 91*9860b763SAndroid Build Coastguard Worker proc_macros: [ 92*9860b763SAndroid Build Coastguard Worker "libenumn", 93*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 94*9860b763SAndroid Build Coastguard Worker ], 95*9860b763SAndroid Build Coastguard Worker} 96*9860b763SAndroid Build Coastguard Worker 97*9860b763SAndroid Build Coastguard Worker// Variant of the library that only includes support for the KeyMint v1 HAL types. 98*9860b763SAndroid Build Coastguard Workerrust_library { 99*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_hal_v1", 100*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_wire", 101*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 102*9860b763SAndroid Build Coastguard Worker host_supported: true, 103*9860b763SAndroid Build Coastguard Worker vendor_available: true, 104*9860b763SAndroid Build Coastguard Worker edition: "2021", 105*9860b763SAndroid Build Coastguard Worker lints: "android", 106*9860b763SAndroid Build Coastguard Worker rustlibs: [ 107*9860b763SAndroid Build Coastguard Worker "libciborium", 108*9860b763SAndroid Build Coastguard Worker "libciborium_io", 109*9860b763SAndroid Build Coastguard Worker "libcoset", 110*9860b763SAndroid Build Coastguard Worker "liblog_rust", 111*9860b763SAndroid Build Coastguard Worker "libzeroize", 112*9860b763SAndroid Build Coastguard Worker ], 113*9860b763SAndroid Build Coastguard Worker proc_macros: [ 114*9860b763SAndroid Build Coastguard Worker "libenumn", 115*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 116*9860b763SAndroid Build Coastguard Worker ], 117*9860b763SAndroid Build Coastguard Worker} 118*9860b763SAndroid Build Coastguard Worker 119*9860b763SAndroid Build Coastguard Workerrust_library_rlib { 120*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_nostd", 121*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_wire", 122*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 123*9860b763SAndroid Build Coastguard Worker vendor_available: true, 124*9860b763SAndroid Build Coastguard Worker edition: "2021", 125*9860b763SAndroid Build Coastguard Worker lints: "android", 126*9860b763SAndroid Build Coastguard Worker features: [ 127*9860b763SAndroid Build Coastguard Worker "hal_v2", 128*9860b763SAndroid Build Coastguard Worker "hal_v3", 129*9860b763SAndroid Build Coastguard Worker "hal_v4", 130*9860b763SAndroid Build Coastguard Worker ], 131*9860b763SAndroid Build Coastguard Worker rustlibs: [ 132*9860b763SAndroid Build Coastguard Worker "libciborium_nostd", 133*9860b763SAndroid Build Coastguard Worker "libciborium_io_nostd", 134*9860b763SAndroid Build Coastguard Worker "libcoset_nostd", 135*9860b763SAndroid Build Coastguard Worker "liblog_rust_nostd", 136*9860b763SAndroid Build Coastguard Worker "libzeroize_nostd", 137*9860b763SAndroid Build Coastguard Worker ], 138*9860b763SAndroid Build Coastguard Worker proc_macros: [ 139*9860b763SAndroid Build Coastguard Worker "libenumn", 140*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 141*9860b763SAndroid Build Coastguard Worker ], 142*9860b763SAndroid Build Coastguard Worker prefer_rlib: true, 143*9860b763SAndroid Build Coastguard Worker no_stdlibs: true, 144*9860b763SAndroid Build Coastguard Worker stdlibs: [ 145*9860b763SAndroid Build Coastguard Worker "libcompiler_builtins.rust_sysroot", 146*9860b763SAndroid Build Coastguard Worker "libcore.rust_sysroot", 147*9860b763SAndroid Build Coastguard Worker ], 148*9860b763SAndroid Build Coastguard Worker} 149*9860b763SAndroid Build Coastguard Worker 150*9860b763SAndroid Build Coastguard Workerrust_test_host { 151*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_test", 152*9860b763SAndroid Build Coastguard Worker crate_name: "kmr_wire_test", 153*9860b763SAndroid Build Coastguard Worker srcs: ["src/lib.rs"], 154*9860b763SAndroid Build Coastguard Worker rustlibs: [ 155*9860b763SAndroid Build Coastguard Worker "libciborium", 156*9860b763SAndroid Build Coastguard Worker "libciborium_io", 157*9860b763SAndroid Build Coastguard Worker "libcoset", 158*9860b763SAndroid Build Coastguard Worker "libhex", 159*9860b763SAndroid Build Coastguard Worker "liblog_rust", 160*9860b763SAndroid Build Coastguard Worker "libzeroize", 161*9860b763SAndroid Build Coastguard Worker ], 162*9860b763SAndroid Build Coastguard Worker proc_macros: [ 163*9860b763SAndroid Build Coastguard Worker "libenumn", 164*9860b763SAndroid Build Coastguard Worker "libkmr_derive", 165*9860b763SAndroid Build Coastguard Worker ], 166*9860b763SAndroid Build Coastguard Worker test_suites: ["general-tests"], 167*9860b763SAndroid Build Coastguard Worker} 168*9860b763SAndroid Build Coastguard Worker 169*9860b763SAndroid Build Coastguard Workerrust_fuzz { 170*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_fuzz_message", 171*9860b763SAndroid Build Coastguard Worker srcs: ["fuzz/fuzz_targets/message.rs"], 172*9860b763SAndroid Build Coastguard Worker rustlibs: ["libkmr_wire"], 173*9860b763SAndroid Build Coastguard Worker host_supported: true, 174*9860b763SAndroid Build Coastguard Worker fuzz_config: { 175*9860b763SAndroid Build Coastguard Worker cc: [ 176*9860b763SAndroid Build Coastguard Worker "[email protected]", 177*9860b763SAndroid Build Coastguard Worker "[email protected]", 178*9860b763SAndroid Build Coastguard Worker ], 179*9860b763SAndroid Build Coastguard Worker componentid: 1084733, 180*9860b763SAndroid Build Coastguard Worker hotlists: ["4271696"], 181*9860b763SAndroid Build Coastguard Worker fuzz_on_haiku_device: true, 182*9860b763SAndroid Build Coastguard Worker fuzz_on_haiku_host: true, 183*9860b763SAndroid Build Coastguard Worker }, 184*9860b763SAndroid Build Coastguard Worker} 185*9860b763SAndroid Build Coastguard Worker 186*9860b763SAndroid Build Coastguard Workerrust_fuzz { 187*9860b763SAndroid Build Coastguard Worker name: "libkmr_wire_fuzz_legacy_message", 188*9860b763SAndroid Build Coastguard Worker srcs: ["fuzz/fuzz_targets/legacy_message.rs"], 189*9860b763SAndroid Build Coastguard Worker rustlibs: ["libkmr_wire"], 190*9860b763SAndroid Build Coastguard Worker host_supported: true, 191*9860b763SAndroid Build Coastguard Worker fuzz_config: { 192*9860b763SAndroid Build Coastguard Worker cc: [ 193*9860b763SAndroid Build Coastguard Worker "[email protected]", 194*9860b763SAndroid Build Coastguard Worker "[email protected]", 195*9860b763SAndroid Build Coastguard Worker ], 196*9860b763SAndroid Build Coastguard Worker componentid: 1084733, 197*9860b763SAndroid Build Coastguard Worker hotlists: ["4271696"], 198*9860b763SAndroid Build Coastguard Worker fuzz_on_haiku_device: true, 199*9860b763SAndroid Build Coastguard Worker fuzz_on_haiku_host: true, 200*9860b763SAndroid Build Coastguard Worker }, 201*9860b763SAndroid Build Coastguard Worker} 202