xref: /aosp_15_r20/system/keymint/hal/Android.bp (revision 9860b7637a5f185913c70aa0caabe3ecb78441e4)
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