• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    // See: http://go/android-license-faq
3    // A large-scale-change added 'default_applicable_licenses' to import
4    // all of the 'license_kinds' from "system_nfc_license"
5    // to get the below license kinds:
6    //   SPDX-license-identifier-Apache-2.0
7    default_applicable_licenses: ["system_nfc_license"],
8}
9
10rust_defaults {
11    name: "nfc_rust_defaults",
12    target: {
13        darwin: {
14            enabled: false,
15        },
16    },
17    host_supported: true,
18}
19
20cc_defaults {
21    name: "nfc_ffi_defaults",
22    target: {
23        darwin: {
24            enabled: false,
25        },
26    },
27}
28
29rust_library {
30    name: "libnfc_rnci",
31    defaults: ["nfc_rust_defaults"],
32    crate_name: "nfc_rnci",
33    srcs: ["nci/nci.rs"],
34    host_supported: true,
35    rustlibs: [
36        "libnfc_packets",
37        "libbytes",
38        "libnfc_hal",
39        "libtokio",
40        "libcxx",
41        "liblazy_static",
42        "liblog_rust",
43    ],
44    proc_macros: ["libnum_derive"],
45}
46
47rust_library {
48    name: "libnfc_hal",
49    defaults: ["nfc_rust_defaults"],
50    crate_name: "nfc_hal",
51    srcs: ["hal/hal.rs"],
52    host_supported: true,
53    rustlibs: [
54        "libnfc_packets",
55        "libbytes",
56        "libthiserror",
57        "libtokio",
58        "libcxx",
59        "liblazy_static",
60        "liblog_rust",
61    ],
62    proc_macros: ["libnum_derive"],
63    target: {
64        android: {
65                whole_static_libs: ["libnfc_hidl_hal_cxx"],
66                shared_libs: [
67                    "android.hardware.nfc@1.0",
68                    "android.hardware.nfc@1.1",
69                    "android.hardware.nfc@1.2",
70                    "libhidlbase",
71                    "libutils",
72                ],
73        },
74    },
75}
76
77genrule {
78    name: "libnfc_hidl_hal_bridge_header",
79    tools: ["cxxbridge"],
80    cmd: "$(location cxxbridge) $(in) --header > $(out)",
81    srcs: ["hal/hidl_hal.rs"],
82    out: ["hal/hidl_hal.rs.h"],
83}
84
85genrule {
86    name: "libnfc_hidl_hal_bridge_code",
87    tools: ["cxxbridge"],
88    cmd: "$(location cxxbridge) $(in) >> $(out)",
89    srcs: ["hal/hidl_hal.rs"],
90    out: ["hidl_hal_generated.cc"],
91}
92
93cc_library_static {
94    name: "libnfc_hidl_hal_cxx",
95    defaults: ["nfc_ffi_defaults"],
96    srcs: ["hal/ffi/hidl.cc"],
97    local_include_dirs: ["hal/ffi"],
98    generated_headers: ["libnfc_hidl_hal_bridge_header", "cxx-bridge-header"],
99    generated_sources: ["libnfc_hidl_hal_bridge_code"],
100    shared_libs: [
101        "android.hardware.nfc@1.0",
102        "android.hardware.nfc@1.1",
103        "android.hardware.nfc@1.2",
104        "libhidlbase",
105        "libutils",
106    ],
107}
108