package { default_applicable_licenses: ["external_libpcap_license"], } license { name: "external_libpcap_license", visibility: [":__subpackages__"], license_kinds: [ "SPDX-license-identifier-Apache-2.0", "SPDX-license-identifier-BSD", "SPDX-license-identifier-ISC", "SPDX-license-identifier-MIT", ], license_text: [ "LICENSE", "NOTICE", ], } cc_defaults { name: "libpcap_defaults", cflags: [ "-D_BSD_SOURCE", "-DHAVE_CONFIG_H", "-Dlint", "-D_U_=__attribute__((__unused__))", "-Wall", "-Werror", "-Wno-macro-redefined", "-Wno-pointer-arith", "-Wno-sign-compare", "-Wno-unused-parameter", "-Wno-unused-result", "-Wno-tautological-compare", ], } cc_library { name: "libpcap", host_supported: true, vendor_available: true, // Build against the NDK 29 because it's used by the network stack mainline module tests, which // need to support Q. // TODO(b/148792341): stop hardcoding sdk_version integers in libraries all over the tree and // define a min_apex_sdk_version property that all module code can use. sdk_version: "29", defaults: ["libpcap_defaults"], // (Matches order in libpcap's Makefile.) srcs: [ "bpf_dump.c", "bpf_filter.c", "bpf_image.c", "etherent.c", "fad-getad.c", "fmtutils.c", "gencode.c", "grammar.c", "nametoaddr.c", "optimize.c", "pcap-common.c", "pcap-linux.c", "pcap-netfilter-linux-android.c", "pcap-usb-linux-common.c", "pcap-usb-linux.c", "pcap-util.c", "pcap.c", "savefile.c", "scanner.c", "sf-pcap.c", "sf-pcapng.c", ], target: { linux: { srcs: [ "missing/strlcpy.c", ], }, darwin: { enabled: false, }, }, export_include_dirs: ["."], } // // Tests. // cc_test { name: "libpcap_test", defaults: ["libpcap_defaults"], gtest: false, // (Matches order in libpcap's Makefile.) srcs: [ "testprogs/can_set_rfmon_test.c", "testprogs/capturetest.c", "testprogs/filtertest.c", "testprogs/findalldevstest.c", "testprogs/opentest.c", "testprogs/reactivatetest.c", "testprogs/selpolltest.c", "testprogs/threadsignaltest.c", "testprogs/valgrindtest.c", ], static_libs: ["libpcap"], test_per_src: true, }