xref: /aosp_15_r20/tools/security/remote_provisioning/hwtrust/cxxbridge/Android.bp (revision d9ecfb0f4d734c9ce41cde8ac4d585b094fd4222)
1*d9ecfb0fSAndroid Build Coastguard Workerpackage {
2*d9ecfb0fSAndroid Build Coastguard Worker    default_visibility: ["//visibility:private"],
3*d9ecfb0fSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
4*d9ecfb0fSAndroid Build Coastguard Worker}
5*d9ecfb0fSAndroid Build Coastguard Worker
6*d9ecfb0fSAndroid Build Coastguard Workergenrule {
7*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust_cxx_bridge_header",
8*d9ecfb0fSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
9*d9ecfb0fSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) --header > $(out)",
10*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["lib.rs"],
11*d9ecfb0fSAndroid Build Coastguard Worker    out: ["hwtrust/lib.rs.h"],
12*d9ecfb0fSAndroid Build Coastguard Worker}
13*d9ecfb0fSAndroid Build Coastguard Worker
14*d9ecfb0fSAndroid Build Coastguard Workergenrule {
15*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust_cxx_bridge_code",
16*d9ecfb0fSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
17*d9ecfb0fSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) >> $(out)",
18*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["lib.rs"],
19*d9ecfb0fSAndroid Build Coastguard Worker    out: ["hwtrust/lib.rs.cpp"],
20*d9ecfb0fSAndroid Build Coastguard Worker}
21*d9ecfb0fSAndroid Build Coastguard Worker
22*d9ecfb0fSAndroid Build Coastguard Workerrust_ffi_static {
23*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust_cxx_bridge",
24*d9ecfb0fSAndroid Build Coastguard Worker    crate_name: "hwtrust_cxx_bridge",
25*d9ecfb0fSAndroid Build Coastguard Worker    host_supported: true,
26*d9ecfb0fSAndroid Build Coastguard Worker    vendor_available: true,
27*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["lib.rs"],
28*d9ecfb0fSAndroid Build Coastguard Worker    rustlibs: [
29*d9ecfb0fSAndroid Build Coastguard Worker        "libcoset",
30*d9ecfb0fSAndroid Build Coastguard Worker        "libcxx",
31*d9ecfb0fSAndroid Build Coastguard Worker        "libhwtrust",
32*d9ecfb0fSAndroid Build Coastguard Worker    ]
33*d9ecfb0fSAndroid Build Coastguard Worker}
34*d9ecfb0fSAndroid Build Coastguard Worker
35*d9ecfb0fSAndroid Build Coastguard Workercc_library {
36*d9ecfb0fSAndroid Build Coastguard Worker    name: "libhwtrust_cxx",
37*d9ecfb0fSAndroid Build Coastguard Worker    visibility: ["//hardware/interfaces/security/keymint/support"],
38*d9ecfb0fSAndroid Build Coastguard Worker    host_supported: true,
39*d9ecfb0fSAndroid Build Coastguard Worker    vendor_available: true,
40*d9ecfb0fSAndroid Build Coastguard Worker    srcs: ["hwtrust.cpp"],
41*d9ecfb0fSAndroid Build Coastguard Worker    export_include_dirs: ["include"],
42*d9ecfb0fSAndroid Build Coastguard Worker    generated_sources: ["libhwtrust_cxx_bridge_code"],
43*d9ecfb0fSAndroid Build Coastguard Worker    generated_headers: ["libhwtrust_cxx_bridge_header"],
44*d9ecfb0fSAndroid Build Coastguard Worker    whole_static_libs: ["libhwtrust_cxx_bridge"],
45*d9ecfb0fSAndroid Build Coastguard Worker    shared_libs: [
46*d9ecfb0fSAndroid Build Coastguard Worker        "libbase",
47*d9ecfb0fSAndroid Build Coastguard Worker        "libcrypto",
48*d9ecfb0fSAndroid Build Coastguard Worker    ],
49*d9ecfb0fSAndroid Build Coastguard Worker}
50