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