[Buildroot] [PATCH 03/33] tcpdump: use 'pkg-config pcap' instead of pcap-config
Samuel Martin
s.martin49 at gmail.com
Thu Nov 22 00:17:53 UTC 2012
Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
---
...ump-use-pkg-config-instead-of-pcap-config.patch | 68 ++++++++++++++++++++++
package/tcpdump/tcpdump.mk | 3 +-
2 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 package/tcpdump/tcpdump-use-pkg-config-instead-of-pcap-config.patch
diff --git a/package/tcpdump/tcpdump-use-pkg-config-instead-of-pcap-config.patch b/package/tcpdump/tcpdump-use-pkg-config-instead-of-pcap-config.patch
new file mode 100644
index 0000000..bd12580
--- /dev/null
+++ b/package/tcpdump/tcpdump-use-pkg-config-instead-of-pcap-config.patch
@@ -0,0 +1,68 @@
+Use 'pkg-config pcap' instead of the pcap-config binary which does not
+correctly support cross-compilation.
+
+Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
+
+--- tcpdump-4.3.0.orig/aclocal.m4 2012-11-17 14:04:17.159100154 +0100
++++ tcpdump-4.3.0/aclocal.m4 2012-11-17 15:28:46.319808067 +0100
+@@ -287,29 +287,13 @@ AC_DEFUN(AC_LBL_LIBPCAP,
+ AC_MSG_CHECKING(for local pcap library)
+ libpcap=FAIL
+ lastdir=FAIL
+- places=`ls $srcdir/.. | sed -e 's,/$,,' -e "s,^,$srcdir/../," | \
+- egrep '/libpcap-[[0-9]]+\.[[0-9]]+(\.[[0-9]]*)?([[ab]][[0-9]]*|-PRE-GIT)?$'`
+- for dir in $places $srcdir/../libpcap $srcdir/libpcap ; do
+- basedir=`echo $dir | sed -e 's/[[ab]][[0-9]]*$//' | \
+- sed -e 's/-PRE-GIT$//' `
+- if test $lastdir = $basedir ; then
+- dnl skip alphas when an actual release is present
+- continue;
+- fi
+- lastdir=$dir
+- if test -r $dir/libpcap.a ; then
+- libpcap=$dir/libpcap.a
+- d=$dir
+- dnl continue and select the last one that exists
+- fi
+- done
+ if test $libpcap = FAIL ; then
+ AC_MSG_RESULT(not found)
+
+ #
+ # Look for pcap-config.
+ #
+- AC_PATH_TOOL(PCAP_CONFIG, pcap-config)
++ AC_PATH_TOOL(PCAP_CONFIG, pkg-config)
+ if test -n "$PCAP_CONFIG" ; then
+ #
+ # Found - use it to get the include flags for
+@@ -322,9 +322,9 @@ AC_DEFUN(AC_LBL_LIBPCAP,
+ # double-quoted strings inside double-quoted back-quoted
+ # expressions (pfew!)."
+ #
+- cflags=`"$PCAP_CONFIG" --cflags`
++ cflags=`"$PCAP_CONFIG" pcap --cflags`
+ $2="$cflags $$2"
+- libpcap=`"$PCAP_CONFIG" --libs`
++ libpcap=`"$PCAP_CONFIG" pcap --libs`
+ else
+ #
+ # Not found; look for pcap.
+@@ -380,7 +380,7 @@ AC_DEFUN(AC_LBL_LIBPCAP,
+ AC_MSG_ERROR(cannot find pcap.h, see INSTALL)
+ fi
+ AC_MSG_RESULT($libpcap)
+- AC_PATH_PROG(PCAP_CONFIG, pcap-config,, $d)
++ AC_PATH_PROG(PCAP_CONFIG, pkg-config,, $d)
+ if test -n "$PCAP_CONFIG"; then
+ #
+ # The libpcap directory has a pcap-config script.
+@@ -395,7 +395,7 @@ AC_DEFUN(AC_LBL_LIBPCAP,
+ # double-quoted strings inside double-quoted back-quoted
+ # expressions (pfew!)."
+ #
+- additional_libs=`"$PCAP_CONFIG" --additional-libs --static`
++ additional_libs=`"$PCAP_CONFIG" pcap --libs --static`
+ libpcap="$libpcap $additional_libs"
+ fi
+ fi
diff --git a/package/tcpdump/tcpdump.mk b/package/tcpdump/tcpdump.mk
index 96414ef..72def58 100644
--- a/package/tcpdump/tcpdump.mk
+++ b/package/tcpdump/tcpdump.mk
@@ -11,10 +11,11 @@ TCPDUMP_SITE = http://www.tcpdump.org/release
TCPDUMP_LICENSE = BSD-3c
TCPDUMP_LICENSE_FILES = LICENSE
+TCPDUMP_AUTORECONF = YES
TCPDUMP_CONF_ENV = ac_cv_linux_vers=2 td_cv_buggygetaddrinfo=no
TCPDUMP_CONF_OPT = --without-crypto \
$(if $(BR2_PACKAGE_TCPDUMP_SMB),--enable-smb,--disable-smb)
-TCPDUMP_DEPENDENCIES = zlib libpcap
+TCPDUMP_DEPENDENCIES = host-pkgconf zlib libpcap
# make install installs an unneeded extra copy of the tcpdump binary
define TCPDUMP_REMOVE_DUPLICATED_BINARY
--
1.8.0
More information about the buildroot
mailing list