1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00

Disable libnl by default when building with included libpcap

Libpcap only needs libnl for monitor-mode sniffing. Disabling it lets us
not worry about which -lnl or -lnl-3 linker argument to include in our
own LIBS, so Nmap builds properly no matter whether libnl is present or
not.
This commit is contained in:
dmiller
2015-03-03 17:52:12 +00:00
parent 2e57f72bb0
commit 580c2555ea
5 changed files with 26 additions and 66 deletions

58
configure vendored
View File

@@ -6455,64 +6455,6 @@ if test $have_libpcap != yes; then
$as_echo "#define PCAP_INCLUDED 1" >>confdefs.h
# libpcap can require libnl
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing nl_handle_alloc" >&5
$as_echo_n "checking for library containing nl_handle_alloc... " >&6; }
if ${ac_cv_search_nl_handle_alloc+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char nl_handle_alloc ();
int
main ()
{
return nl_handle_alloc ();
;
return 0;
}
_ACEOF
for ac_lib in '' nl; do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_nl_handle_alloc=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if ${ac_cv_search_nl_handle_alloc+:} false; then :
break
fi
done
if ${ac_cv_search_nl_handle_alloc+:} false; then :
else
ac_cv_search_nl_handle_alloc=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_nl_handle_alloc" >&5
$as_echo "$ac_cv_search_nl_handle_alloc" >&6; }
ac_res=$ac_cv_search_nl_handle_alloc
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
else
# We assume our included libpcap doesn't need this check-and-define

View File

@@ -443,9 +443,6 @@ if test $have_libpcap != yes; then
PCAP_CLEAN="pcap_clean"
PCAP_DIST_CLEAN="pcap_dist_clean"
AC_DEFINE(PCAP_INCLUDED, 1, [Using included libpcap])
# libpcap can require libnl
AC_SEARCH_LIBS(nl_handle_alloc, nl)
else
# We assume our included libpcap doesn't need this check-and-define
PCAP_DEFINE_NETMASK_UNKNOWN

View File

@@ -1,7 +1,29 @@
The following features are disabled:
* monitor-mode sniffing of wireless interfaces on Linux, via libnl
* building shared libraries
* Bluetooth support
* canusb support
* CAN support
* dbus capture support
diff --git a/libpcap/configure.in b/libpcap/configure.in
index 5386062..8ceddd7 100644
--- a/libpcap/configure.in
+++ b/libpcap/configure.in
@@ -441,10 +441,10 @@ linux)
# Do we have libnl?
#
AC_ARG_WITH(libnl,
- AC_HELP_STRING([--without-libnl],[disable libnl support @<:@default=yes, on Linux, if present@:>@]),
+ AC_HELP_STRING([--without-libnl],[disable libnl support @<:@default=disabled@:>@]),
with_libnl=$withval,,)
- if test x$with_libnl != xno ; then
+ if test x$with_libnl = xyes ; then
have_any_nl="no"
#
@@ -1285,8 +1285,8 @@ solaris*)
esac

5
libpcap/configure vendored
View File

@@ -1388,8 +1388,7 @@ Optional Packages:
--without-gcc don't use gcc
--with-sita include SITA support
--with-pcap=TYPE use packet capture TYPE
--without-libnl disable libnl support [default=yes, on Linux, if
present]
--without-libnl disable libnl support [default=disabled]
--with-dag[=DIR] include Endace DAG support ["yes", "no" or DIR;
default="yes" on BSD and Linux if present]
--with-dag-includes=DIR Endace DAG include directory
@@ -5500,7 +5499,7 @@ if test "${with_libnl+set}" = set; then :
fi
if test x$with_libnl != xno ; then
if test x$with_libnl = xyes ; then
have_any_nl="no"
#

View File

@@ -441,10 +441,10 @@ linux)
# Do we have libnl?
#
AC_ARG_WITH(libnl,
AC_HELP_STRING([--without-libnl],[disable libnl support @<:@default=yes, on Linux, if present@:>@]),
AC_HELP_STRING([--without-libnl],[disable libnl support @<:@default=disabled@:>@]),
with_libnl=$withval,,)
if test x$with_libnl != xno ; then
if test x$with_libnl = xyes ; then
have_any_nl="no"
#