xref: /aosp_15_r20/system/nfc/src/rust/Android.bp (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1*7eba2f3bSAndroid Build Coastguard Workerpackage {
2*7eba2f3bSAndroid Build Coastguard Worker    default_team: "trendy_team_fwk_nfc",
3*7eba2f3bSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
4*7eba2f3bSAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
5*7eba2f3bSAndroid Build Coastguard Worker    // all of the 'license_kinds' from "system_nfc_license"
6*7eba2f3bSAndroid Build Coastguard Worker    // to get the below license kinds:
7*7eba2f3bSAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
8*7eba2f3bSAndroid Build Coastguard Worker    default_applicable_licenses: ["system_nfc_license"],
9*7eba2f3bSAndroid Build Coastguard Worker}
10*7eba2f3bSAndroid Build Coastguard Worker
11*7eba2f3bSAndroid Build Coastguard Workerrust_defaults {
12*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_rust_defaults",
13*7eba2f3bSAndroid Build Coastguard Worker    target: {
14*7eba2f3bSAndroid Build Coastguard Worker        darwin: {
15*7eba2f3bSAndroid Build Coastguard Worker            enabled: false,
16*7eba2f3bSAndroid Build Coastguard Worker        },
17*7eba2f3bSAndroid Build Coastguard Worker    },
18*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
19*7eba2f3bSAndroid Build Coastguard Worker}
20*7eba2f3bSAndroid Build Coastguard Worker
21*7eba2f3bSAndroid Build Coastguard Workercc_defaults {
22*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_ffi_defaults",
23*7eba2f3bSAndroid Build Coastguard Worker    target: {
24*7eba2f3bSAndroid Build Coastguard Worker        darwin: {
25*7eba2f3bSAndroid Build Coastguard Worker            enabled: false,
26*7eba2f3bSAndroid Build Coastguard Worker        },
27*7eba2f3bSAndroid Build Coastguard Worker    },
28*7eba2f3bSAndroid Build Coastguard Worker}
29*7eba2f3bSAndroid Build Coastguard Worker
30*7eba2f3bSAndroid Build Coastguard Workerrust_library {
31*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_rnci",
32*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_rust_defaults"],
33*7eba2f3bSAndroid Build Coastguard Worker    crate_name: "nfc_rnci",
34*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["nci/nci.rs"],
35*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
36*7eba2f3bSAndroid Build Coastguard Worker    rustlibs: [
37*7eba2f3bSAndroid Build Coastguard Worker        "libnfc_packets",
38*7eba2f3bSAndroid Build Coastguard Worker        "libbytes",
39*7eba2f3bSAndroid Build Coastguard Worker        "libnfc_hal",
40*7eba2f3bSAndroid Build Coastguard Worker        "libpdl_runtime",
41*7eba2f3bSAndroid Build Coastguard Worker        "libtokio",
42*7eba2f3bSAndroid Build Coastguard Worker        "libcxx",
43*7eba2f3bSAndroid Build Coastguard Worker        "liblog_rust",
44*7eba2f3bSAndroid Build Coastguard Worker    ],
45*7eba2f3bSAndroid Build Coastguard Worker    proc_macros: ["libnum_derive"],
46*7eba2f3bSAndroid Build Coastguard Worker}
47*7eba2f3bSAndroid Build Coastguard Worker
48*7eba2f3bSAndroid Build Coastguard Workerrust_library {
49*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_hal",
50*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_rust_defaults"],
51*7eba2f3bSAndroid Build Coastguard Worker    crate_name: "nfc_hal",
52*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["hal/hal.rs"],
53*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
54*7eba2f3bSAndroid Build Coastguard Worker    rustlibs: [
55*7eba2f3bSAndroid Build Coastguard Worker        "libnfc_packets",
56*7eba2f3bSAndroid Build Coastguard Worker        "libbytes",
57*7eba2f3bSAndroid Build Coastguard Worker        "libpdl_runtime",
58*7eba2f3bSAndroid Build Coastguard Worker        "libthiserror",
59*7eba2f3bSAndroid Build Coastguard Worker        "libtokio",
60*7eba2f3bSAndroid Build Coastguard Worker        "libcxx",
61*7eba2f3bSAndroid Build Coastguard Worker        "liblog_rust",
62*7eba2f3bSAndroid Build Coastguard Worker    ],
63*7eba2f3bSAndroid Build Coastguard Worker    proc_macros: ["libnum_derive"],
64*7eba2f3bSAndroid Build Coastguard Worker    target: {
65*7eba2f3bSAndroid Build Coastguard Worker        android: {
66*7eba2f3bSAndroid Build Coastguard Worker            whole_static_libs: ["libnfc_hidl_hal_cxx"],
67*7eba2f3bSAndroid Build Coastguard Worker            shared_libs: [
68*7eba2f3bSAndroid Build Coastguard Worker                "[email protected]",
69*7eba2f3bSAndroid Build Coastguard Worker                "[email protected]",
70*7eba2f3bSAndroid Build Coastguard Worker                "[email protected]",
71*7eba2f3bSAndroid Build Coastguard Worker                "libhidlbase",
72*7eba2f3bSAndroid Build Coastguard Worker                "libutils",
73*7eba2f3bSAndroid Build Coastguard Worker            ],
74*7eba2f3bSAndroid Build Coastguard Worker        },
75*7eba2f3bSAndroid Build Coastguard Worker    },
76*7eba2f3bSAndroid Build Coastguard Worker}
77*7eba2f3bSAndroid Build Coastguard Worker
78*7eba2f3bSAndroid Build Coastguard Workergenrule {
79*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_hidl_hal_bridge_header",
80*7eba2f3bSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
81*7eba2f3bSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) --header > $(out)",
82*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["hal/hidl_hal.rs"],
83*7eba2f3bSAndroid Build Coastguard Worker    out: ["hal/hidl_hal.rs.h"],
84*7eba2f3bSAndroid Build Coastguard Worker}
85*7eba2f3bSAndroid Build Coastguard Worker
86*7eba2f3bSAndroid Build Coastguard Workergenrule {
87*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_hidl_hal_bridge_code",
88*7eba2f3bSAndroid Build Coastguard Worker    tools: ["cxxbridge"],
89*7eba2f3bSAndroid Build Coastguard Worker    cmd: "$(location cxxbridge) $(in) >> $(out)",
90*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["hal/hidl_hal.rs"],
91*7eba2f3bSAndroid Build Coastguard Worker    out: ["hidl_hal_generated.cc"],
92*7eba2f3bSAndroid Build Coastguard Worker}
93*7eba2f3bSAndroid Build Coastguard Worker
94*7eba2f3bSAndroid Build Coastguard Workercc_library_static {
95*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_hidl_hal_cxx",
96*7eba2f3bSAndroid Build Coastguard Worker    defaults: [
97*7eba2f3bSAndroid Build Coastguard Worker        "rust_static_cc_lib_defaults",
98*7eba2f3bSAndroid Build Coastguard Worker        "nfc_ffi_defaults",
99*7eba2f3bSAndroid Build Coastguard Worker    ],
100*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["hal/ffi/hidl.cc"],
101*7eba2f3bSAndroid Build Coastguard Worker    local_include_dirs: ["hal/ffi"],
102*7eba2f3bSAndroid Build Coastguard Worker    generated_headers: [
103*7eba2f3bSAndroid Build Coastguard Worker        "libnfc_hidl_hal_bridge_header",
104*7eba2f3bSAndroid Build Coastguard Worker        "cxx-bridge-header",
105*7eba2f3bSAndroid Build Coastguard Worker    ],
106*7eba2f3bSAndroid Build Coastguard Worker    generated_sources: ["libnfc_hidl_hal_bridge_code"],
107*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: [
108*7eba2f3bSAndroid Build Coastguard Worker        "[email protected]",
109*7eba2f3bSAndroid Build Coastguard Worker        "[email protected]",
110*7eba2f3bSAndroid Build Coastguard Worker        "[email protected]",
111*7eba2f3bSAndroid Build Coastguard Worker        "libhidlbase",
112*7eba2f3bSAndroid Build Coastguard Worker        "libutils",
113*7eba2f3bSAndroid Build Coastguard Worker    ],
114*7eba2f3bSAndroid Build Coastguard Worker}
115