• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_team: "trendy_team_fwk_nfc",
3    default_applicable_licenses: ["Android-Apache-2.0"],
4}
5
6cc_library_static {
7    name: "libnfc_nci_jni_static",
8    defaults: ["libnfc_nci_jni_defaults"],
9    visibility: [
10        "//packages/modules/Nfc/NfcNci/nci/jni",
11        "//packages/modules/Nfc:__subpackages__",
12    ],
13}
14
15cc_library_shared {
16    name: "libnfc_nci_jni",
17    defaults: ["libnfc_nci_jni_defaults"],
18}
19
20cc_defaults {
21    name: "libnfc_nci_jni_defaults",
22
23    cflags: [
24        "-Wall",
25        "-Wextra",
26        "-Wno-unused-parameter",
27        "-Werror",
28
29        "-DNXP_UICC_ENABLE",
30    ],
31
32    srcs: ["**/*.cpp"],
33    exclude_srcs: ["**/*Test.cpp"],
34
35    include_dirs: [
36        "packages/modules/Nfc/libnfc-nci/src/nfa/include",
37        "packages/modules/Nfc/libnfc-nci/src/nfc/include",
38        "packages/modules/Nfc/libnfc-nci/src/include",
39        "packages/modules/Nfc/libnfc-nci/src/gki/ulinux",
40        "packages/modules/Nfc/libnfc-nci/src/gki/common",
41        "packages/modules/Nfc/libnfc-nci/utils/include",
42    ],
43
44    shared_libs: [
45        "libnativehelper",
46        "libcutils",
47        "libutils",
48        "liblog",
49        "libbase",
50        // Treble configuration
51        "libhidlbase",
52        "libutils",
53        "libbinder_ndk",
54        "libstatssocket",
55        "libz",
56    ],
57
58    static_libs: [
59        "android.hardware.nfc@1.0",
60        "android.hardware.nfc@1.1",
61        "android.hardware.nfc@1.2",
62        // Add for AIDL
63        "android.hardware.nfc-V2-ndk",
64        "libnfcutils",
65        "libnfc-nci",
66        "libnfc-nci_flags",
67        "libstatslog_nfc",
68        "android_nfc_flags_aconfig_c_lib",
69        "server_configurable_flags",
70        "libxml2",
71        "com.android.nfc.module.flags-aconfig-cpp",
72    ],
73
74    defaults: [
75        "aconfig_lib_cc_static_link.defaults",
76    ],
77
78    product_variables: {
79        debuggable: {
80            cflags: [
81                "-DDCHECK_ALWAYS_ON",
82                "-DDTA_ENABLED",
83            ],
84        },
85    },
86    sanitize: {
87        integer_overflow: true,
88        misc_undefined: ["bounds"],
89        scs: true,
90    },
91    stl: "libc++_static",
92    apex_available: [
93        "//apex_available:platform",
94        "com.android.nfcservices",
95    ],
96    required: [
97        // Provide a default libnfc-nci.conf in /system/etc for devices that
98        // does not ship one in /product
99        "libnfc-nci.conf-default",
100    ],
101    min_sdk_version: "36",
102    visibility: [
103        "//cts:__subpackages__",
104        "//packages/modules/Nfc/NfcNci:__subpackages__",
105        "//packages/modules/Nfc:__subpackages__",
106    ],
107}
108
109cc_test {
110    name: "libnfc-nci-jni-tests",
111
112    srcs: ["**/*Test.cpp"],
113
114    shared_libs: [
115        "libnativehelper",
116        "libcutils",
117        "libutils",
118        "liblog",
119        "libbase",
120        // Treble configuration
121        "libhidlbase",
122        "libutils",
123        "libbinder_ndk",
124        "libstatssocket",
125        "libz",
126    ],
127
128    static_libs: [
129        "libgmock",
130        "libgtest",
131        "libnfc-nci",
132        "libnfc_nci_jni_static",
133        "android.hardware.nfc@1.0",
134        "android.hardware.nfc@1.1",
135        "android.hardware.nfc@1.2",
136        // Add for AIDL
137        "android.hardware.nfc-V2-ndk",
138        "libnfcutils",
139        "libnfc-nci",
140        "libnfc-nci_flags",
141        "libstatslog_nfc",
142        "android_nfc_flags_aconfig_c_lib",
143        "server_configurable_flags",
144        "libxml2",
145    ],
146
147    defaults: [
148        "aconfig_lib_cc_static_link.defaults",
149    ],
150
151    header_libs: [
152        "jni_headers",
153    ],
154
155    include_dirs: [
156        ".",
157        "packages/modules/Nfc/libnfc-nci/src/include",
158        "packages/modules/Nfc/libnfc-nci/src/gki/common",
159        "packages/modules/Nfc/libnfc-nci/src/gki/ulinux",
160        "packages/modules/Nfc/libnfc-nci/src/nfa/include",
161        "packages/modules/Nfc/libnfc-nci/src/nfc/include",
162        "packages/modules/Nfc/libnfc-nci/utils/include",
163    ],
164    test_suites: [
165        "general-tests",
166        "mts-nfc",
167    ],
168    test_config_template: "nfc_test_config_template.xml",
169    // Support multilib variants (using different suffix per sub-architecture), which is needed on
170    // build targets with secondary architectures, as the MTS test suite packaging logic flattens
171    // all test artifacts into a single `testcases` directory.
172    compile_multilib: "both",
173    multilib: {
174        lib32: {
175            suffix: "32",
176        },
177        lib64: {
178            suffix: "64",
179        },
180    },
181    auto_gen_config: true,
182}
183