xref: /aosp_15_r20/tools/security/remote_provisioning/hwtrust/Android.bp (revision d9ecfb0f4d734c9ce41cde8ac4d585b094fd4222)
1*d9ecfb0fSAndroid Build Coastguard Workerpackage {
2*d9ecfb0fSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
3*d9ecfb0fSAndroid Build Coastguard Worker}
4*d9ecfb0fSAndroid Build Coastguard Worker
5*d9ecfb0fSAndroid Build Coastguard Workerrust_defaults {
6*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust_defaults",
7*d9ecfb0fSAndroid Build Coastguard Worker    host_supported: true,
8*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["src/lib.rs"],
9*d9ecfb0fSAndroid Build Coastguard Worker    rustlibs: [
10*d9ecfb0fSAndroid Build Coastguard Worker        "libanyhow",
11*d9ecfb0fSAndroid Build Coastguard Worker        "libbase64_rust",
12*d9ecfb0fSAndroid Build Coastguard Worker        "libciborium",
13*d9ecfb0fSAndroid Build Coastguard Worker        "libclap",
14*d9ecfb0fSAndroid Build Coastguard Worker        "libcoset",
15*d9ecfb0fSAndroid Build Coastguard Worker        "libhex",
16*d9ecfb0fSAndroid Build Coastguard Worker        "libitertools",
17*d9ecfb0fSAndroid Build Coastguard Worker        "libserde_json",
18*d9ecfb0fSAndroid Build Coastguard Worker        "libthiserror",
19*d9ecfb0fSAndroid Build Coastguard Worker    ],
20*d9ecfb0fSAndroid Build Coastguard Worker    target: {
21*d9ecfb0fSAndroid Build Coastguard Worker        host: {
22*d9ecfb0fSAndroid Build Coastguard Worker            rlibs: ["libopenssl_static"],
23*d9ecfb0fSAndroid Build Coastguard Worker            // dylib is disabled due to compile failure in libhwtrust. See b/373621186 for details.
24*d9ecfb0fSAndroid Build Coastguard Worker            dylib: { enabled: false, },
25*d9ecfb0fSAndroid Build Coastguard Worker        },
26*d9ecfb0fSAndroid Build Coastguard Worker        android: {
27*d9ecfb0fSAndroid Build Coastguard Worker            rustlibs: ["libopenssl"],
28*d9ecfb0fSAndroid Build Coastguard Worker        }
29*d9ecfb0fSAndroid Build Coastguard Worker    },
30*d9ecfb0fSAndroid Build Coastguard Worker}
31*d9ecfb0fSAndroid Build Coastguard Worker
32*d9ecfb0fSAndroid Build Coastguard Workerrust_library {
33*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust",
34*d9ecfb0fSAndroid Build Coastguard Worker    defaults: ["libhwtrust_defaults"],
35*d9ecfb0fSAndroid Build Coastguard Worker    crate_name: "hwtrust",
36*d9ecfb0fSAndroid Build Coastguard Worker    product_available: true,
37*d9ecfb0fSAndroid Build Coastguard Worker    vendor_available: true,
38*d9ecfb0fSAndroid Build Coastguard Worker    apex_available: [
39*d9ecfb0fSAndroid Build Coastguard Worker        "//apex_available:platform",
40*d9ecfb0fSAndroid Build Coastguard Worker        "com.android.compos",
41*d9ecfb0fSAndroid Build Coastguard Worker        "com.android.virt",
42*d9ecfb0fSAndroid Build Coastguard Worker    ],
43*d9ecfb0fSAndroid Build Coastguard Worker}
44*d9ecfb0fSAndroid Build Coastguard Worker
45*d9ecfb0fSAndroid Build Coastguard Workerrust_test {
46*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust_tests",
47*d9ecfb0fSAndroid Build Coastguard Worker    defaults: ["libhwtrust_defaults"],
48*d9ecfb0fSAndroid Build Coastguard Worker    data: [":testdata"],
49*d9ecfb0fSAndroid Build Coastguard Worker    rustlibs: [
50*d9ecfb0fSAndroid Build Coastguard Worker        "libhwtrust",
51*d9ecfb0fSAndroid Build Coastguard Worker    ],
52*d9ecfb0fSAndroid Build Coastguard Worker}
53*d9ecfb0fSAndroid Build Coastguard Worker
54*d9ecfb0fSAndroid Build Coastguard Workerrust_defaults {
55*d9ecfb0fSAndroid Build Coastguard Worker    name: "hwtrust_defaults",
56*d9ecfb0fSAndroid Build Coastguard Worker    host_supported: true,
57*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["src/main.rs"],
58*d9ecfb0fSAndroid Build Coastguard Worker    rustlibs: [
59*d9ecfb0fSAndroid Build Coastguard Worker        "libanyhow",
60*d9ecfb0fSAndroid Build Coastguard Worker        "libclap",
61*d9ecfb0fSAndroid Build Coastguard Worker        "libhwtrust",
62*d9ecfb0fSAndroid Build Coastguard Worker    ],
63*d9ecfb0fSAndroid Build Coastguard Worker}
64*d9ecfb0fSAndroid Build Coastguard Worker
65*d9ecfb0fSAndroid Build Coastguard Workerrust_binary {
66*d9ecfb0fSAndroid Build Coastguard Worker    name: "hwtrust",
67*d9ecfb0fSAndroid Build Coastguard Worker    defaults: ["hwtrust_defaults"],
68*d9ecfb0fSAndroid Build Coastguard Worker    target: {
69*d9ecfb0fSAndroid Build Coastguard Worker        host: {
70*d9ecfb0fSAndroid Build Coastguard Worker            compile_multilib: "first",
71*d9ecfb0fSAndroid Build Coastguard Worker            dist: {
72*d9ecfb0fSAndroid Build Coastguard Worker                dir: "rkp/host",
73*d9ecfb0fSAndroid Build Coastguard Worker                targets: ["dist_files"],
74*d9ecfb0fSAndroid Build Coastguard Worker            },
75*d9ecfb0fSAndroid Build Coastguard Worker            static_executable: true,
76*d9ecfb0fSAndroid Build Coastguard Worker        },
77*d9ecfb0fSAndroid Build Coastguard Worker    }
78*d9ecfb0fSAndroid Build Coastguard Worker}
79*d9ecfb0fSAndroid Build Coastguard Worker
80*d9ecfb0fSAndroid Build Coastguard Workerrust_test {
81*d9ecfb0fSAndroid Build Coastguard Worker    name: "hwtrust_tests",
82*d9ecfb0fSAndroid Build Coastguard Worker    defaults: ["hwtrust_defaults"],
83*d9ecfb0fSAndroid Build Coastguard Worker}
84*d9ecfb0fSAndroid Build Coastguard Worker
85*d9ecfb0fSAndroid Build Coastguard Workerrust_test {
86*d9ecfb0fSAndroid Build Coastguard Worker    name: "hwtrust_cli_tests",
87*d9ecfb0fSAndroid Build Coastguard Worker    host_supported: true,
88*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["tests/hwtrust_cli.rs"],
89*d9ecfb0fSAndroid Build Coastguard Worker    data: [":testdata"],
90*d9ecfb0fSAndroid Build Coastguard Worker    data_bins: ["hwtrust"],
91*d9ecfb0fSAndroid Build Coastguard Worker    data_libs: ["libcrypto"],
92*d9ecfb0fSAndroid Build Coastguard Worker    compile_multilib: "first",
93*d9ecfb0fSAndroid Build Coastguard Worker}
94*d9ecfb0fSAndroid Build Coastguard Worker
95*d9ecfb0fSAndroid Build Coastguard Workerfilegroup(
96*d9ecfb0fSAndroid Build Coastguard Worker    name = "testdata",
97*d9ecfb0fSAndroid Build Coastguard Worker    srcs = ["testdata/**/*"],
98*d9ecfb0fSAndroid Build Coastguard Worker)
99