package { default_team: "trendy_team_fwk_nfc", default_applicable_licenses: ["Android-Apache-2.0"], } cc_library_static { name: "libnfc_nci_jni_static", defaults: ["libnfc_nci_jni_defaults"], visibility: [ "//packages/apps/Nfc/nci/jni", ], } cc_library_shared { name: "libnfc_nci_jni", defaults: ["libnfc_nci_jni_defaults"], } cc_defaults { name: "libnfc_nci_jni_defaults", cflags: [ "-Wall", "-Wextra", "-Wno-unused-parameter", "-Werror", "-DNXP_UICC_ENABLE", ], srcs: ["**/*.cpp"], exclude_srcs: ["**/*Test.cpp"], include_dirs: [ "system/nfc/src/nfa/include", "system/nfc/src/nfc/include", "system/nfc/src/include", "system/nfc/src/gki/ulinux", "system/nfc/src/gki/common", "system/nfc/utils/include", ], shared_libs: [ "libnativehelper", "libcutils", "libutils", "liblog", "libbase", // Treble configuration "libhidlbase", "libutils", "libbinder_ndk", "libstatssocket", "libz", ], static_libs: [ "android.hardware.nfc@1.0", "android.hardware.nfc@1.1", "android.hardware.nfc@1.2", // Add for AIDL "android.hardware.nfc-V2-ndk", "libnfcutils", "libnfc-nci", "libnfc-nci_flags", "libstatslog_nfc", "android_nfc_flags_aconfig_c_lib", "server_configurable_flags", "libxml2", ], defaults: [ "aconfig_lib_cc_static_link.defaults", ], product_variables: { debuggable: { cflags: [ "-DDCHECK_ALWAYS_ON", "-DDTA_ENABLED", ], }, }, sanitize: { integer_overflow: true, misc_undefined: ["bounds"], scs: true, }, stl: "libc++_static", apex_available: [ "//apex_available:platform", "com.android.nfcservices", ], required: [ // Provide a default libnfc-nci.conf in /system/etc for devices that // does not ship one in /product "libnfc-nci.conf-default", ], min_sdk_version: "35", // Make it 36 once available. } cc_test { name: "libnfc-nci-jni-tests", srcs: ["**/*Test.cpp"], shared_libs: [ "libnativehelper", "libcutils", "libutils", "liblog", "libbase", // Treble configuration "libhidlbase", "libutils", "libbinder_ndk", "libstatssocket", "libz", ], static_libs: [ "libgmock", "libgtest", "libnfc-nci", "libnfc_nci_jni_static", "android.hardware.nfc@1.0", "android.hardware.nfc@1.1", "android.hardware.nfc@1.2", // Add for AIDL "android.hardware.nfc-V2-ndk", "libnfcutils", "libnfc-nci", "libnfc-nci_flags", "libstatslog_nfc", "android_nfc_flags_aconfig_c_lib", "server_configurable_flags", "libxml2", ], defaults: [ "aconfig_lib_cc_static_link.defaults", ], header_libs: [ "jni_headers", ], include_dirs: [ "packages/apps/Nfc/nci/jni", "system/nfc/src/include", "system/nfc/src/gki/common", "system/nfc/src/gki/ulinux", "system/nfc/src/nfa/include", "system/nfc/src/nfc/include", "system/nfc/utils/include", ], test_suites: [ "general-tests", "mts-nfc", ], test_config_template: "nfc_test_config_template.xml", // Support multilib variants (using different suffix per sub-architecture), which is needed on // build targets with secondary architectures, as the MTS test suite packaging logic flattens // all test artifacts into a single `testcases` directory. compile_multilib: "both", multilib: { lib32: { suffix: "32", }, lib64: { suffix: "64", }, }, auto_gen_config: true, }