From 4289e62c7966e5abeb95307717cef30a51fcdccf Mon Sep 17 00:00:00 2001 From: Baruch Siach Date: Wed, 29 Oct 2014 13:21:05 +0200 Subject: [PATCH] Use system libpcap when configured with --with-system-pcap Don't force the local libpcap build when the system provides one. When --with-system-pcap is given to configure, don't try to locate a local libpcap build. This help build systems like Buildroot that store build trees in the same directory, but still prefer dynamically linking against system wide libpcap.so to save space. Signed-off-by: Baruch Siach --- Status: sent upstream (https://github.com/the-tcpdump-group/tcpdump/pull/408) aclocal.m4 | 46 +++++++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/aclocal.m4 b/aclocal.m4 index 80614cf21050..cd0a94414bbf 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -438,27 +438,31 @@ AC_DEFUN(AC_LBL_LIBPCAP, LIBS="$LIBS $pfopen" fi fi - 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)?$'` - places2=`ls .. | sed -e 's,/$,,' -e "s,^,../," | \ - egrep '/libpcap-[[0-9]]+\.[[0-9]]+(\.[[0-9]]*)?([[ab]][[0-9]]*|-PRE-GIT)?$'` - for dir in $places $srcdir/../libpcap ../libpcap $srcdir/libpcap $places2 ; 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 + libpcap=FAIL + AC_MSG_CHECKING(for local pcap library) + AC_ARG_WITH([system-libpcap], + [AS_HELP_STRING([--with-system-libpcap], [don't use local pcap library])]) + if test "x$with_system_libpcap" != xyes ; then + lastdir=FAIL + places=`ls $srcdir/.. | sed -e 's,/$,,' -e "s,^,$srcdir/../," | \ + egrep '/libpcap-[[0-9]]+\.[[0-9]]+(\.[[0-9]]*)?([[ab]][[0-9]]*|-PRE-GIT)?$'` + places2=`ls .. | sed -e 's,/$,,' -e "s,^,../," | \ + egrep '/libpcap-[[0-9]]+\.[[0-9]]+(\.[[0-9]]*)?([[ab]][[0-9]]*|-PRE-GIT)?$'` + for dir in $places $srcdir/../libpcap ../libpcap $srcdir/libpcap $places2 ; 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 + fi if test $libpcap = FAIL ; then AC_MSG_RESULT(not found) -- 2.1.1