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