xref: /aosp_15_r20/system/nfc/src/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 Workercc_library {
12*7eba2f3bSAndroid Build Coastguard Worker    arch: {
13*7eba2f3bSAndroid Build Coastguard Worker        arm: {
14*7eba2f3bSAndroid Build Coastguard Worker            instruction_set: "arm",
15*7eba2f3bSAndroid Build Coastguard Worker        },
16*7eba2f3bSAndroid Build Coastguard Worker    },
17*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc-nci",
18*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: [
19*7eba2f3bSAndroid Build Coastguard Worker        "libcutils",
20*7eba2f3bSAndroid Build Coastguard Worker        "liblog",
21*7eba2f3bSAndroid Build Coastguard Worker        "libdl",
22*7eba2f3bSAndroid Build Coastguard Worker        "libz",
23*7eba2f3bSAndroid Build Coastguard Worker        "libbase",
24*7eba2f3bSAndroid Build Coastguard Worker        // Treble configuration
25*7eba2f3bSAndroid Build Coastguard Worker        "libhidlbase",
26*7eba2f3bSAndroid Build Coastguard Worker        "libutils",
27*7eba2f3bSAndroid Build Coastguard Worker        "libbinder_ndk",
28*7eba2f3bSAndroid Build Coastguard Worker        "libstatssocket",
29*7eba2f3bSAndroid Build Coastguard Worker        "server_configurable_flags",
30*7eba2f3bSAndroid Build Coastguard Worker        "libaconfig_storage_read_api_cc",
31*7eba2f3bSAndroid Build Coastguard Worker    ],
32*7eba2f3bSAndroid Build Coastguard Worker    defaults: [
33*7eba2f3bSAndroid Build Coastguard Worker        "aconfig_lib_cc_shared_link.defaults",
34*7eba2f3bSAndroid Build Coastguard Worker    ],
35*7eba2f3bSAndroid Build Coastguard Worker    static_libs: [
36*7eba2f3bSAndroid Build Coastguard Worker        "[email protected]",
37*7eba2f3bSAndroid Build Coastguard Worker        "[email protected]",
38*7eba2f3bSAndroid Build Coastguard Worker        "[email protected]",
39*7eba2f3bSAndroid Build Coastguard Worker        // Add for AIDL
40*7eba2f3bSAndroid Build Coastguard Worker        "android.hardware.nfc-V2-ndk",
41*7eba2f3bSAndroid Build Coastguard Worker        "libnfcutils",
42*7eba2f3bSAndroid Build Coastguard Worker        "libstatslog_nfc",
43*7eba2f3bSAndroid Build Coastguard Worker        "libnfc-nci_flags",
44*7eba2f3bSAndroid Build Coastguard Worker    ],
45*7eba2f3bSAndroid Build Coastguard Worker    cflags: [
46*7eba2f3bSAndroid Build Coastguard Worker        "-DDYN_ALLOC=1",
47*7eba2f3bSAndroid Build Coastguard Worker        "-DBUILDCFG=1",
48*7eba2f3bSAndroid Build Coastguard Worker        "-DGKI_PTHREAD_JOINABLE",
49*7eba2f3bSAndroid Build Coastguard Worker        "-Wall",
50*7eba2f3bSAndroid Build Coastguard Worker        "-Werror",
51*7eba2f3bSAndroid Build Coastguard Worker        "-Wimplicit-fallthrough",
52*7eba2f3bSAndroid Build Coastguard Worker    ],
53*7eba2f3bSAndroid Build Coastguard Worker    local_include_dirs: [
54*7eba2f3bSAndroid Build Coastguard Worker        "include",
55*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux",
56*7eba2f3bSAndroid Build Coastguard Worker        "gki/common",
57*7eba2f3bSAndroid Build Coastguard Worker        "nfa/include",
58*7eba2f3bSAndroid Build Coastguard Worker        "nfc/include",
59*7eba2f3bSAndroid Build Coastguard Worker    ],
60*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
61*7eba2f3bSAndroid Build Coastguard Worker        "nfa/ce/*.cc",
62*7eba2f3bSAndroid Build Coastguard Worker        "nfa/dm/*.cc",
63*7eba2f3bSAndroid Build Coastguard Worker        "nfa/ee/*.cc",
64*7eba2f3bSAndroid Build Coastguard Worker        "nfa/hci/*.cc",
65*7eba2f3bSAndroid Build Coastguard Worker        "nfa/rw/*.cc",
66*7eba2f3bSAndroid Build Coastguard Worker        "nfa/sys/*.cc",
67*7eba2f3bSAndroid Build Coastguard Worker        "nfa/wlc/*.cc",
68*7eba2f3bSAndroid Build Coastguard Worker        "nfc/nci/*.cc",
69*7eba2f3bSAndroid Build Coastguard Worker        "nfa/ndefnfcee/t4t/*.cc",
70*7eba2f3bSAndroid Build Coastguard Worker        "nfc/ndef/*.cc",
71*7eba2f3bSAndroid Build Coastguard Worker        "nfc/nfc/*.cc",
72*7eba2f3bSAndroid Build Coastguard Worker        "nfc/tags/*.cc",
73*7eba2f3bSAndroid Build Coastguard Worker        "adaptation/*.cc",
74*7eba2f3bSAndroid Build Coastguard Worker        "gki/common/*.cc",
75*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux/*.cc",
76*7eba2f3bSAndroid Build Coastguard Worker    ],
77*7eba2f3bSAndroid Build Coastguard Worker    product_variables: {
78*7eba2f3bSAndroid Build Coastguard Worker        debuggable: {
79*7eba2f3bSAndroid Build Coastguard Worker            cflags: [
80*7eba2f3bSAndroid Build Coastguard Worker                "-DDCHECK_ALWAYS_ON",
81*7eba2f3bSAndroid Build Coastguard Worker            ],
82*7eba2f3bSAndroid Build Coastguard Worker        },
83*7eba2f3bSAndroid Build Coastguard Worker    },
84*7eba2f3bSAndroid Build Coastguard Worker    sanitize: {
85*7eba2f3bSAndroid Build Coastguard Worker        misc_undefined: ["bounds"],
86*7eba2f3bSAndroid Build Coastguard Worker        integer_overflow: true,
87*7eba2f3bSAndroid Build Coastguard Worker        scs: true,
88*7eba2f3bSAndroid Build Coastguard Worker    },
89*7eba2f3bSAndroid Build Coastguard Worker    stl: "libc++_static",
90*7eba2f3bSAndroid Build Coastguard Worker    apex_available: [
91*7eba2f3bSAndroid Build Coastguard Worker        "//apex_available:platform",
92*7eba2f3bSAndroid Build Coastguard Worker        "com.android.nfcservices",
93*7eba2f3bSAndroid Build Coastguard Worker    ],
94*7eba2f3bSAndroid Build Coastguard Worker    min_sdk_version: "35", // Make it 36 once available.
95*7eba2f3bSAndroid Build Coastguard Worker}
96*7eba2f3bSAndroid Build Coastguard Worker
97*7eba2f3bSAndroid Build Coastguard Workercc_defaults {
98*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_fuzzer_defaults",
99*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
100*7eba2f3bSAndroid Build Coastguard Worker    native_coverage: true,
101*7eba2f3bSAndroid Build Coastguard Worker    static_libs: [
102*7eba2f3bSAndroid Build Coastguard Worker        "libnfcutils",
103*7eba2f3bSAndroid Build Coastguard Worker        "libcutils",
104*7eba2f3bSAndroid Build Coastguard Worker        "liblog",
105*7eba2f3bSAndroid Build Coastguard Worker        "libbase",
106*7eba2f3bSAndroid Build Coastguard Worker    ],
107*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: [
108*7eba2f3bSAndroid Build Coastguard Worker        "libnfc-nci_flags",
109*7eba2f3bSAndroid Build Coastguard Worker    ],
110*7eba2f3bSAndroid Build Coastguard Worker    cflags: [
111*7eba2f3bSAndroid Build Coastguard Worker        "-DBUILDCFG=1",
112*7eba2f3bSAndroid Build Coastguard Worker        "-Wall",
113*7eba2f3bSAndroid Build Coastguard Worker        "-Werror",
114*7eba2f3bSAndroid Build Coastguard Worker        "-Wimplicit-fallthrough",
115*7eba2f3bSAndroid Build Coastguard Worker        "-g",
116*7eba2f3bSAndroid Build Coastguard Worker        "-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION",
117*7eba2f3bSAndroid Build Coastguard Worker        "-DGKI_ENABLE_BUF_CORRUPTION_CHECK=FALSE",
118*7eba2f3bSAndroid Build Coastguard Worker    ],
119*7eba2f3bSAndroid Build Coastguard Worker    product_variables: {
120*7eba2f3bSAndroid Build Coastguard Worker        debuggable: {
121*7eba2f3bSAndroid Build Coastguard Worker            cflags: [
122*7eba2f3bSAndroid Build Coastguard Worker                "-DDCHECK_ALWAYS_ON",
123*7eba2f3bSAndroid Build Coastguard Worker            ],
124*7eba2f3bSAndroid Build Coastguard Worker        },
125*7eba2f3bSAndroid Build Coastguard Worker    },
126*7eba2f3bSAndroid Build Coastguard Worker    local_include_dirs: [
127*7eba2f3bSAndroid Build Coastguard Worker        "include",
128*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux",
129*7eba2f3bSAndroid Build Coastguard Worker        "gki/common",
130*7eba2f3bSAndroid Build Coastguard Worker        "nfc/include",
131*7eba2f3bSAndroid Build Coastguard Worker        "nfa/include",
132*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/inc",
133*7eba2f3bSAndroid Build Coastguard Worker    ],
134*7eba2f3bSAndroid Build Coastguard Worker    fuzz_config: {
135*7eba2f3bSAndroid Build Coastguard Worker        cc: [
136*7eba2f3bSAndroid Build Coastguard Worker            "[email protected]",
137*7eba2f3bSAndroid Build Coastguard Worker            "[email protected]",
138*7eba2f3bSAndroid Build Coastguard Worker            "[email protected]",
139*7eba2f3bSAndroid Build Coastguard Worker            "[email protected]",
140*7eba2f3bSAndroid Build Coastguard Worker            "[email protected]",
141*7eba2f3bSAndroid Build Coastguard Worker        ],
142*7eba2f3bSAndroid Build Coastguard Worker    },
143*7eba2f3bSAndroid Build Coastguard Worker}
144*7eba2f3bSAndroid Build Coastguard Worker
145*7eba2f3bSAndroid Build Coastguard Workercc_library {
146*7eba2f3bSAndroid Build Coastguard Worker    name: "libstatslog_nfc",
147*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
148*7eba2f3bSAndroid Build Coastguard Worker    generated_sources: ["statslog_nfc.cpp"],
149*7eba2f3bSAndroid Build Coastguard Worker    generated_headers: ["statslog_nfc.h"],
150*7eba2f3bSAndroid Build Coastguard Worker    export_generated_headers: ["statslog_nfc.h"],
151*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: [
152*7eba2f3bSAndroid Build Coastguard Worker        "libstatssocket",
153*7eba2f3bSAndroid Build Coastguard Worker    ],
154*7eba2f3bSAndroid Build Coastguard Worker    target: {
155*7eba2f3bSAndroid Build Coastguard Worker        host: {
156*7eba2f3bSAndroid Build Coastguard Worker            static_libs: [
157*7eba2f3bSAndroid Build Coastguard Worker                "libbase",
158*7eba2f3bSAndroid Build Coastguard Worker            ],
159*7eba2f3bSAndroid Build Coastguard Worker        },
160*7eba2f3bSAndroid Build Coastguard Worker        darwin: {
161*7eba2f3bSAndroid Build Coastguard Worker            enabled: false,
162*7eba2f3bSAndroid Build Coastguard Worker        },
163*7eba2f3bSAndroid Build Coastguard Worker    },
164*7eba2f3bSAndroid Build Coastguard Worker    apex_available: [
165*7eba2f3bSAndroid Build Coastguard Worker        "//apex_available:platform",
166*7eba2f3bSAndroid Build Coastguard Worker        "com.android.nfcservices",
167*7eba2f3bSAndroid Build Coastguard Worker    ],
168*7eba2f3bSAndroid Build Coastguard Worker    min_sdk_version: "35", // Make it 36 once available.
169*7eba2f3bSAndroid Build Coastguard Worker}
170*7eba2f3bSAndroid Build Coastguard Worker
171*7eba2f3bSAndroid Build Coastguard Workergenrule {
172*7eba2f3bSAndroid Build Coastguard Worker    name: "statslog_nfc.h",
173*7eba2f3bSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
174*7eba2f3bSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_nfc.h --module nfc --namespace nfc,stats",
175*7eba2f3bSAndroid Build Coastguard Worker    out: [
176*7eba2f3bSAndroid Build Coastguard Worker        "statslog_nfc.h",
177*7eba2f3bSAndroid Build Coastguard Worker    ],
178*7eba2f3bSAndroid Build Coastguard Worker}
179*7eba2f3bSAndroid Build Coastguard Worker
180*7eba2f3bSAndroid Build Coastguard Workergenrule {
181*7eba2f3bSAndroid Build Coastguard Worker    name: "statslog_nfc.cpp",
182*7eba2f3bSAndroid Build Coastguard Worker    tools: ["stats-log-api-gen"],
183*7eba2f3bSAndroid Build Coastguard Worker    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_nfc.cpp --module nfc --namespace nfc,stats --importHeader statslog_nfc.h",
184*7eba2f3bSAndroid Build Coastguard Worker    out: [
185*7eba2f3bSAndroid Build Coastguard Worker        "statslog_nfc.cpp",
186*7eba2f3bSAndroid Build Coastguard Worker    ],
187*7eba2f3bSAndroid Build Coastguard Worker}
188*7eba2f3bSAndroid Build Coastguard Worker
189*7eba2f3bSAndroid Build Coastguard Workercc_fuzz {
190*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_nci_fuzzer",
191*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_fuzzer_defaults"],
192*7eba2f3bSAndroid Build Coastguard Worker    fuzzing_frameworks: {
193*7eba2f3bSAndroid Build Coastguard Worker        afl: false,
194*7eba2f3bSAndroid Build Coastguard Worker    },
195*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
196*7eba2f3bSAndroid Build Coastguard Worker        "nfc/nci/*.cc",
197*7eba2f3bSAndroid Build Coastguard Worker        "nfc/nfc/*.cc",
198*7eba2f3bSAndroid Build Coastguard Worker        "adaptation/debug_lmrt.cc",
199*7eba2f3bSAndroid Build Coastguard Worker        "gki/common/*.cc",
200*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux/*.cc",
201*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/*.cc",
202*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/nci/*.cc",
203*7eba2f3bSAndroid Build Coastguard Worker    ],
204*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: [
205*7eba2f3bSAndroid Build Coastguard Worker        "libstatslog_nfc",
206*7eba2f3bSAndroid Build Coastguard Worker    ],
207*7eba2f3bSAndroid Build Coastguard Worker}
208*7eba2f3bSAndroid Build Coastguard Worker
209*7eba2f3bSAndroid Build Coastguard Workercc_fuzz {
210*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_rw_fuzzer",
211*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_fuzzer_defaults"],
212*7eba2f3bSAndroid Build Coastguard Worker    fuzzing_frameworks: {
213*7eba2f3bSAndroid Build Coastguard Worker        afl: false,
214*7eba2f3bSAndroid Build Coastguard Worker    },
215*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
216*7eba2f3bSAndroid Build Coastguard Worker        "nfc/tags/rw_*.cc",
217*7eba2f3bSAndroid Build Coastguard Worker        "nfc/tags/tags_int.cc",
218*7eba2f3bSAndroid Build Coastguard Worker        "gki/common/*.cc",
219*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux/*.cc",
220*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/*.cc",
221*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/rw/*.cc",
222*7eba2f3bSAndroid Build Coastguard Worker    ],
223*7eba2f3bSAndroid Build Coastguard Worker}
224*7eba2f3bSAndroid Build Coastguard Worker
225*7eba2f3bSAndroid Build Coastguard Workercc_fuzz {
226*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_ce_fuzzer",
227*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_fuzzer_defaults"],
228*7eba2f3bSAndroid Build Coastguard Worker    fuzzing_frameworks: {
229*7eba2f3bSAndroid Build Coastguard Worker        afl: false,
230*7eba2f3bSAndroid Build Coastguard Worker    },
231*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
232*7eba2f3bSAndroid Build Coastguard Worker        "nfc/tags/ce_*.cc",
233*7eba2f3bSAndroid Build Coastguard Worker        "nfc/tags/tags_int.cc",
234*7eba2f3bSAndroid Build Coastguard Worker        "gki/common/*.cc",
235*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux/*.cc",
236*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/*.cc",
237*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/ce/*.cc",
238*7eba2f3bSAndroid Build Coastguard Worker    ],
239*7eba2f3bSAndroid Build Coastguard Worker}
240*7eba2f3bSAndroid Build Coastguard Worker
241*7eba2f3bSAndroid Build Coastguard Workercc_fuzz {
242*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_ndef_fuzzer",
243*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_fuzzer_defaults"],
244*7eba2f3bSAndroid Build Coastguard Worker    fuzzing_frameworks: {
245*7eba2f3bSAndroid Build Coastguard Worker        afl: false,
246*7eba2f3bSAndroid Build Coastguard Worker    },
247*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
248*7eba2f3bSAndroid Build Coastguard Worker        "nfa/dm/nfa_dm_ndef.cc",
249*7eba2f3bSAndroid Build Coastguard Worker        "nfc/ndef/*.cc",
250*7eba2f3bSAndroid Build Coastguard Worker        "gki/common/*.cc",
251*7eba2f3bSAndroid Build Coastguard Worker        "gki/ulinux/*.cc",
252*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/*.cc",
253*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/ndef/*.cc",
254*7eba2f3bSAndroid Build Coastguard Worker    ],
255*7eba2f3bSAndroid Build Coastguard Worker}
256*7eba2f3bSAndroid Build Coastguard Worker
257*7eba2f3bSAndroid Build Coastguard Workercc_library_static {
258*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_integration_fuzzer_proto",
259*7eba2f3bSAndroid Build Coastguard Worker    owner: "google",
260*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
261*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["fuzzers/integration/nfc_integration_fuzzer.proto"],
262*7eba2f3bSAndroid Build Coastguard Worker    proto: {
263*7eba2f3bSAndroid Build Coastguard Worker        type: "full",
264*7eba2f3bSAndroid Build Coastguard Worker        export_proto_headers: true,
265*7eba2f3bSAndroid Build Coastguard Worker    },
266*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: ["libprotobuf-cpp-full"],
267*7eba2f3bSAndroid Build Coastguard Worker}
268*7eba2f3bSAndroid Build Coastguard Worker
269*7eba2f3bSAndroid Build Coastguard Workercc_fuzz {
270*7eba2f3bSAndroid Build Coastguard Worker    name: "nfc_integration_fuzzer",
271*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_fuzzer_defaults"],
272*7eba2f3bSAndroid Build Coastguard Worker    fuzzing_frameworks: {
273*7eba2f3bSAndroid Build Coastguard Worker        afl: false,
274*7eba2f3bSAndroid Build Coastguard Worker    },
275*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
276*7eba2f3bSAndroid Build Coastguard Worker        "adaptation/debug_nfcsnoop.cc",
277*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/integration/*.cc",
278*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/integration/fakes/*.cc",
279*7eba2f3bSAndroid Build Coastguard Worker        "gki/common/gki_buffer.cc",
280*7eba2f3bSAndroid Build Coastguard Worker        "adaptation/debug_lmrt.cc",
281*7eba2f3bSAndroid Build Coastguard Worker        "nfa/ce/*.cc",
282*7eba2f3bSAndroid Build Coastguard Worker        "nfa/dm/*.cc",
283*7eba2f3bSAndroid Build Coastguard Worker        "nfa/ee/*.cc",
284*7eba2f3bSAndroid Build Coastguard Worker        "nfa/hci/*.cc",
285*7eba2f3bSAndroid Build Coastguard Worker        "nfa/rw/*.cc",
286*7eba2f3bSAndroid Build Coastguard Worker        "nfa/ndefnfcee/t4t/*.cc",
287*7eba2f3bSAndroid Build Coastguard Worker        "nfa/sys/*.cc",
288*7eba2f3bSAndroid Build Coastguard Worker        "nfa/wlc/*.cc",
289*7eba2f3bSAndroid Build Coastguard Worker        "nfc/nci/*.cc",
290*7eba2f3bSAndroid Build Coastguard Worker        "nfc/ndef/*.cc",
291*7eba2f3bSAndroid Build Coastguard Worker        "nfc/nfc/*.cc",
292*7eba2f3bSAndroid Build Coastguard Worker        "nfc/tags/*.cc",
293*7eba2f3bSAndroid Build Coastguard Worker    ],
294*7eba2f3bSAndroid Build Coastguard Worker    cflags: [
295*7eba2f3bSAndroid Build Coastguard Worker        "-DNFC_INTEGRATION_FUZZER",
296*7eba2f3bSAndroid Build Coastguard Worker    ],
297*7eba2f3bSAndroid Build Coastguard Worker    local_include_dirs: [
298*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/integration",
299*7eba2f3bSAndroid Build Coastguard Worker        "fuzzers/integration/fakes",
300*7eba2f3bSAndroid Build Coastguard Worker    ],
301*7eba2f3bSAndroid Build Coastguard Worker    static_libs: [
302*7eba2f3bSAndroid Build Coastguard Worker        "libprotobuf-mutator",
303*7eba2f3bSAndroid Build Coastguard Worker        "libutils",
304*7eba2f3bSAndroid Build Coastguard Worker        "nfc_integration_fuzzer_proto",
305*7eba2f3bSAndroid Build Coastguard Worker    ],
306*7eba2f3bSAndroid Build Coastguard Worker    shared_libs: [
307*7eba2f3bSAndroid Build Coastguard Worker        "libprotobuf-cpp-full",
308*7eba2f3bSAndroid Build Coastguard Worker        "libstatslog_nfc",
309*7eba2f3bSAndroid Build Coastguard Worker        "libz",
310*7eba2f3bSAndroid Build Coastguard Worker    ],
311*7eba2f3bSAndroid Build Coastguard Worker}
312*7eba2f3bSAndroid Build Coastguard Worker
313*7eba2f3bSAndroid Build Coastguard Workergenrule {
314*7eba2f3bSAndroid Build Coastguard Worker    name: "NfcGeneratedPackets_rust",
315*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["pdl_rust_legacy_generator_defaults"],
316*7eba2f3bSAndroid Build Coastguard Worker    srcs: ["nci_packets.pdl"],
317*7eba2f3bSAndroid Build Coastguard Worker    out: ["nci_packets.rs"],
318*7eba2f3bSAndroid Build Coastguard Worker}
319*7eba2f3bSAndroid Build Coastguard Worker
320*7eba2f3bSAndroid Build Coastguard Workerrust_library {
321*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_packets",
322*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_rust_defaults"],
323*7eba2f3bSAndroid Build Coastguard Worker    crate_name: "nfc_packets",
324*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
325*7eba2f3bSAndroid Build Coastguard Worker        "rust/packets/lib.rs",
326*7eba2f3bSAndroid Build Coastguard Worker        ":NfcGeneratedPackets_rust",
327*7eba2f3bSAndroid Build Coastguard Worker    ],
328*7eba2f3bSAndroid Build Coastguard Worker    host_supported: true,
329*7eba2f3bSAndroid Build Coastguard Worker    rustlibs: [
330*7eba2f3bSAndroid Build Coastguard Worker        "libbytes",
331*7eba2f3bSAndroid Build Coastguard Worker        "liblog_rust",
332*7eba2f3bSAndroid Build Coastguard Worker        "libpdl_runtime",
333*7eba2f3bSAndroid Build Coastguard Worker    ],
334*7eba2f3bSAndroid Build Coastguard Worker}
335*7eba2f3bSAndroid Build Coastguard Worker
336*7eba2f3bSAndroid Build Coastguard Workerrust_test_host {
337*7eba2f3bSAndroid Build Coastguard Worker    name: "libnfc_packets_test",
338*7eba2f3bSAndroid Build Coastguard Worker    defaults: ["nfc_rust_defaults"],
339*7eba2f3bSAndroid Build Coastguard Worker    srcs: [
340*7eba2f3bSAndroid Build Coastguard Worker        "rust/packets/lib.rs",
341*7eba2f3bSAndroid Build Coastguard Worker        ":NfcGeneratedPackets_rust",
342*7eba2f3bSAndroid Build Coastguard Worker    ],
343*7eba2f3bSAndroid Build Coastguard Worker    test_suites: ["general-tests"],
344*7eba2f3bSAndroid Build Coastguard Worker    rustlibs: [
345*7eba2f3bSAndroid Build Coastguard Worker        "libbytes",
346*7eba2f3bSAndroid Build Coastguard Worker        "liblog_rust",
347*7eba2f3bSAndroid Build Coastguard Worker        "libpdl_runtime",
348*7eba2f3bSAndroid Build Coastguard Worker    ],
349*7eba2f3bSAndroid Build Coastguard Worker}
350