package {
    default_team: "trendy_team_fwk_nfc",
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "system_nfc_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["system_nfc_license"],
}

cc_library {
    arch: {
        arm: {
            instruction_set: "arm",
        },
    },
    name: "libnfc-nci",
    shared_libs: [
        "libcutils",
        "liblog",
        "libdl",
        "libz",
        "libbase",
        // Treble configuration
        "libhidlbase",
        "libutils",
        "libbinder_ndk",
        "libstatssocket",
        "server_configurable_flags",
        "libaconfig_storage_read_api_cc",
    ],
    defaults: [
        "aconfig_lib_cc_shared_link.defaults",
    ],
    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",
        "libstatslog_nfc",
        "libnfc-nci_flags",
    ],
    cflags: [
        "-DDYN_ALLOC=1",
        "-DBUILDCFG=1",
        "-DGKI_PTHREAD_JOINABLE",
        "-Wall",
        "-Werror",
        "-Wimplicit-fallthrough",
    ],
    local_include_dirs: [
        "include",
        "gki/ulinux",
        "gki/common",
        "nfa/include",
        "nfc/include",
    ],
    srcs: [
        "nfa/ce/*.cc",
        "nfa/dm/*.cc",
        "nfa/ee/*.cc",
        "nfa/hci/*.cc",
        "nfa/rw/*.cc",
        "nfa/sys/*.cc",
        "nfa/wlc/*.cc",
        "nfc/nci/*.cc",
        "nfa/ndefnfcee/t4t/*.cc",
        "nfc/ndef/*.cc",
        "nfc/nfc/*.cc",
        "nfc/tags/*.cc",
        "adaptation/*.cc",
        "gki/common/*.cc",
        "gki/ulinux/*.cc",
    ],
    product_variables: {
        debuggable: {
            cflags: [
                "-DDCHECK_ALWAYS_ON",
            ],
        },
    },
    sanitize: {
        misc_undefined: ["bounds"],
        integer_overflow: true,
        scs: true,
    },
    stl: "libc++_static",
    apex_available: [
        "//apex_available:platform",
        "com.android.nfcservices",
    ],
    min_sdk_version: "35", // Make it 36 once available.
}

cc_defaults {
    name: "nfc_fuzzer_defaults",
    host_supported: true,
    native_coverage: true,
    static_libs: [
        "libnfcutils",
        "libcutils",
        "liblog",
        "libbase",
    ],
    shared_libs: [
        "libnfc-nci_flags",
    ],
    cflags: [
        "-DBUILDCFG=1",
        "-Wall",
        "-Werror",
        "-Wimplicit-fallthrough",
        "-g",
        "-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION",
        "-DGKI_ENABLE_BUF_CORRUPTION_CHECK=FALSE",
    ],
    product_variables: {
        debuggable: {
            cflags: [
                "-DDCHECK_ALWAYS_ON",
            ],
        },
    },
    local_include_dirs: [
        "include",
        "gki/ulinux",
        "gki/common",
        "nfc/include",
        "nfa/include",
        "fuzzers/inc",
    ],
    fuzz_config: {
        cc: [
            "android-security-assurance-redteam@google.com",
            "zachoverflow@google.com",
            "jackcwyu@google.com",
            "georgekgchang@google.com",
            "alisher@google.com",
        ],
    },
}

cc_library {
    name: "libstatslog_nfc",
    host_supported: true,
    generated_sources: ["statslog_nfc.cpp"],
    generated_headers: ["statslog_nfc.h"],
    export_generated_headers: ["statslog_nfc.h"],
    shared_libs: [
        "libstatssocket",
    ],
    target: {
        host: {
            static_libs: [
                "libbase",
            ],
        },
        darwin: {
            enabled: false,
        },
    },
    apex_available: [
        "//apex_available:platform",
        "com.android.nfcservices",
    ],
    min_sdk_version: "35", // Make it 36 once available.
}

genrule {
    name: "statslog_nfc.h",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --header $(genDir)/statslog_nfc.h --module nfc --namespace nfc,stats",
    out: [
        "statslog_nfc.h",
    ],
}

genrule {
    name: "statslog_nfc.cpp",
    tools: ["stats-log-api-gen"],
    cmd: "$(location stats-log-api-gen) --cpp $(genDir)/statslog_nfc.cpp --module nfc --namespace nfc,stats --importHeader statslog_nfc.h",
    out: [
        "statslog_nfc.cpp",
    ],
}

cc_fuzz {
    name: "nfc_nci_fuzzer",
    defaults: ["nfc_fuzzer_defaults"],
    fuzzing_frameworks: {
        afl: false,
    },
    srcs: [
        "nfc/nci/*.cc",
        "nfc/nfc/*.cc",
        "adaptation/debug_lmrt.cc",
        "gki/common/*.cc",
        "gki/ulinux/*.cc",
        "fuzzers/*.cc",
        "fuzzers/nci/*.cc",
    ],
    shared_libs: [
        "libstatslog_nfc",
    ],
}

cc_fuzz {
    name: "nfc_rw_fuzzer",
    defaults: ["nfc_fuzzer_defaults"],
    fuzzing_frameworks: {
        afl: false,
    },
    srcs: [
        "nfc/tags/rw_*.cc",
        "nfc/tags/tags_int.cc",
        "gki/common/*.cc",
        "gki/ulinux/*.cc",
        "fuzzers/*.cc",
        "fuzzers/rw/*.cc",
    ],
}

cc_fuzz {
    name: "nfc_ce_fuzzer",
    defaults: ["nfc_fuzzer_defaults"],
    fuzzing_frameworks: {
        afl: false,
    },
    srcs: [
        "nfc/tags/ce_*.cc",
        "nfc/tags/tags_int.cc",
        "gki/common/*.cc",
        "gki/ulinux/*.cc",
        "fuzzers/*.cc",
        "fuzzers/ce/*.cc",
    ],
}

cc_fuzz {
    name: "nfc_ndef_fuzzer",
    defaults: ["nfc_fuzzer_defaults"],
    fuzzing_frameworks: {
        afl: false,
    },
    srcs: [
        "nfa/dm/nfa_dm_ndef.cc",
        "nfc/ndef/*.cc",
        "gki/common/*.cc",
        "gki/ulinux/*.cc",
        "fuzzers/*.cc",
        "fuzzers/ndef/*.cc",
    ],
}

cc_library_static {
    name: "nfc_integration_fuzzer_proto",
    owner: "google",
    host_supported: true,
    srcs: ["fuzzers/integration/nfc_integration_fuzzer.proto"],
    proto: {
        type: "full",
        export_proto_headers: true,
    },
    shared_libs: ["libprotobuf-cpp-full"],
}

cc_fuzz {
    name: "nfc_integration_fuzzer",
    defaults: ["nfc_fuzzer_defaults"],
    fuzzing_frameworks: {
        afl: false,
    },
    srcs: [
        "adaptation/debug_nfcsnoop.cc",
        "fuzzers/integration/*.cc",
        "fuzzers/integration/fakes/*.cc",
        "gki/common/gki_buffer.cc",
        "adaptation/debug_lmrt.cc",
        "nfa/ce/*.cc",
        "nfa/dm/*.cc",
        "nfa/ee/*.cc",
        "nfa/hci/*.cc",
        "nfa/rw/*.cc",
        "nfa/ndefnfcee/t4t/*.cc",
        "nfa/sys/*.cc",
        "nfa/wlc/*.cc",
        "nfc/nci/*.cc",
        "nfc/ndef/*.cc",
        "nfc/nfc/*.cc",
        "nfc/tags/*.cc",
    ],
    cflags: [
        "-DNFC_INTEGRATION_FUZZER",
    ],
    local_include_dirs: [
        "fuzzers/integration",
        "fuzzers/integration/fakes",
    ],
    static_libs: [
        "libprotobuf-mutator",
        "libutils",
        "nfc_integration_fuzzer_proto",
    ],
    shared_libs: [
        "libprotobuf-cpp-full",
        "libstatslog_nfc",
        "libz",
    ],
}

genrule {
    name: "NfcGeneratedPackets_rust",
    defaults: ["pdl_rust_legacy_generator_defaults"],
    srcs: ["nci_packets.pdl"],
    out: ["nci_packets.rs"],
}

rust_library {
    name: "libnfc_packets",
    defaults: ["nfc_rust_defaults"],
    crate_name: "nfc_packets",
    srcs: [
        "rust/packets/lib.rs",
        ":NfcGeneratedPackets_rust",
    ],
    host_supported: true,
    rustlibs: [
        "libbytes",
        "liblog_rust",
        "libpdl_runtime",
    ],
}

rust_test_host {
    name: "libnfc_packets_test",
    defaults: ["nfc_rust_defaults"],
    srcs: [
        "rust/packets/lib.rs",
        ":NfcGeneratedPackets_rust",
    ],
    test_suites: ["general-tests"],
    rustlibs: [
        "libbytes",
        "liblog_rust",
        "libpdl_runtime",
    ],
}
