1################################################################################
2#
3# libpcap
4#
5################################################################################
6
7LIBPCAP_VERSION = 1.10.4
8LIBPCAP_SITE = https://www.tcpdump.org/release
9LIBPCAP_LICENSE = BSD-3-Clause
10LIBPCAP_LICENSE_FILES = LICENSE
11LIBPCAP_CPE_ID_VENDOR = tcpdump
12LIBPCAP_INSTALL_STAGING = YES
13LIBPCAP_DEPENDENCIES = host-flex host-bison host-pkgconf
14HOST_LIBPCAP_DEPENDENCIES = host-flex host-bison host-pkgconf
15
16# ac_cv_prog_cc_c99 is required for BR2_USE_WCHAR=n because the C99 test
17# provided by autoconf relies on wchar_t.
18LIBPCAP_CONF_ENV = \
19	ac_cv_header_linux_wireless_h=yes \
20	ac_cv_prog_cc_c99=-std=gnu99 \
21	CFLAGS="$(LIBPCAP_CFLAGS)"
22LIBPCAP_CFLAGS = $(TARGET_CFLAGS)
23LIBPCAP_CONF_OPTS = --disable-yydebug --with-pcap=linux --without-dag \
24	--without-dpdk
25# Disable dbus to break recursive dependencies
26LIBPCAP_CONF_OPTS += --disable-dbus
27HOST_LIBPCAP_CONF_OPTS = \
28	--disable-bluetooth \
29	--disable-dbus \
30	--disable-yydebug \
31	--with-pcap=linux \
32	--without-dag \
33	--without-libnl
34LIBPCAP_CONFIG_SCRIPTS = pcap-config
35
36# Omit -rpath from pcap-config output
37define LIBPCAP_CONFIG_REMOVE_RPATH
38	$(SED) 's/^V_RPATH_OPT=.*/V_RPATH_OPT=""/g' $(@D)/pcap-config
39endef
40LIBPCAP_POST_BUILD_HOOKS = LIBPCAP_CONFIG_REMOVE_RPATH
41
42ifeq ($(BR2_PACKAGE_BLUEZ5_UTILS_HEADERS),y)
43LIBPCAP_DEPENDENCIES += bluez5_utils-headers
44else
45LIBPCAP_CONF_OPTS += --disable-bluetooth
46endif
47
48ifeq ($(BR2_PACKAGE_LIBNL),y)
49LIBPCAP_DEPENDENCIES += libnl
50LIBPCAP_CONF_OPTS += --with-libnl
51else
52LIBPCAP_CONF_OPTS += --without-libnl
53endif
54
55# microblaze/sparc/sparc64 need -fPIC instead of -fpic
56ifeq ($(BR2_microblaze)$(BR2_sparc)$(BR2_sparc64),y)
57LIBPCAP_CFLAGS += -fPIC
58endif
59
60$(eval $(autotools-package))
61$(eval $(host-autotools-package))
62