xref: /aosp_15_r20/system/keymint/wire/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_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