1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-06 04:31:29 +00:00
Files
nmap/libdnet-stripped/configure.in
david dfb9c157c7 Delete auxiliary scripts config.guess, config.sub, depcomp, install-sh,
ltmain.sh, and missing from subdirectories. Autoconf automatically looks
in the parent directory for these files. I had to copy the files
depcomp, ltmain.sh, and missing into the root of the source tree.
2007-11-27 06:22:46 +00:00

303 lines
8.0 KiB
Plaintext

dnl
dnl configure.in
dnl
dnl Copyright (c) 2000 Dug Song <dugsong@monkey.org>
dnl
dnl $Id: configure.in,v 1.64 2005/02/25 23:05:09 dugsong Exp $
AC_INIT(include/dnet.h)
AM_INIT_AUTOMAKE(libdnet, 1.10)
AM_CONFIG_HEADER(include/config.h)
dnl XXX - stop the insanity!@#$
AM_MAINTAINER_MODE
dnl Check for system type.
dnl XXX - we do this to qualify our later feature checks, since some
dnl systems claim to support multiple features, but are quite b0rked.
AC_CANONICAL_HOST
dnl Initialize prefix.
if test "$prefix" = "NONE"; then
prefix="/usr/local"
fi
dnl Checks for programs.
AC_PROG_CC
AC_PROG_INSTALL
AC_LIBTOOL_DLOPEN
AM_PROG_LIBTOOL
dnl Checks for Python.
dnl XXX - use AM_PATH_PYTHON after automake upgrade
AC_MSG_CHECKING(for Python)
AC_ARG_WITH(python,
[ --with-python=DIR build Python module (using python in DIR)],
[ case "$withval" in
yes)
AC_MSG_RESULT(yes)
PYTHON="python"
;;
no)
AC_MSG_RESULT(no)
;;
*)
AC_MSG_RESULT($withval)
for subdir in . bin; do
if test -x $withval/$subdir/python; then
owd=`pwd`
if cd $withval/$subdir; then withval=`pwd`; cd $owd; fi
PYTHON="$withval/python"
break
fi
done
if test "x$PYTHON" = "x"; then
AC_ERROR(python not found in $withval)
fi
;;
esac
])
AC_SUBST(PYTHON)
AC_SUBST(TCLINC)
AC_SUBST(TCLLIB)
AM_CONDITIONAL(PYTHON, [test "x$PYTHON" != "x"])
AM_CONDITIONAL(TCL, [test "x$TCLINC" != "x"])
dnl XXX - stupid IRIX cpp
if test -r /usr/include/sgidefs.h ; then
CPPFLAGS="$CPPFLAGS -D__sgi"
fi
dnl XXX - we need MingW32 under Cygwin for win32
AC_CYGWIN
if test "$CYGWIN" = yes ; then
if test -d /usr/include/mingw ; then
CPPFLAGS="$CPPFLAGS -mno-cygwin"
CFLAGS="$CFLAGS -mno-cygwin"
AC_DEFINE(WIN32_LEAN_AND_MEAN, 1,
[Define for faster code generation.])
AC_CHECK_LIB(ws2_32, main)
AC_CHECK_LIB(iphlpapi, main)
AC_DEFINE(snprintf, _snprintf,
[Use MingW32's internal snprintf])
else
AC_MSG_ERROR([need MingW32 package to build under Cygwin])
fi
AC_MSG_CHECKING(for WinPcap developer's pack)
AC_ARG_WITH(wpdpack,
[ --with-wpdpack=DIR use WinPcap developer's pack in DIR],
[ AC_MSG_RESULT($withval)
if test -f $withval/include/packet32.h -a -f $withval/lib/packet.lib; then
owd=`pwd`
if cd $withval; then withval=`pwd`; cd $owd; fi
CFLAGS="$CFLAGS -I$withval/include"
LIBS="$LIBS -L$withval/lib -lpacket"
else
AC_MSG_ERROR(packet32.h or packet.lib not found in $withval)
fi ],
[ for dir in ${prefix} ${HOME}/WPdpack ; do
if test -f ${dir}/include/packet32.h -a -f ${dir}/lib/packet.lib; then
CFLAGS="$CFLAGS -I${dir}/include"
LIBS="$LIBS -L${dir}/lib -lpacket"
have_pcap=yes
break;
fi
done
if test "$have_pcap" != yes; then
AC_MSG_ERROR(WinPcap developer's pack not found)
fi
AC_MSG_RESULT(yes) ])
fi
dnl Checks for libraries.
if test "$CYGWIN" != yes ; then
AC_LBL_LIBRARY_NET
AC_CHECK_LIB(nm, open_mib)
fi
dnl Checks for Check.
AC_MSG_CHECKING(for Check)
AC_ARG_WITH(check,
[ --with-check=DIR use Check (http://check.sf.net) in DIR],
[ case "$withval" in
yes|no)
AC_MSG_RESULT(no)
;;
*)
AC_MSG_RESULT($withval)
if test -f $withval/include/check.h -a -f $withval/lib/libcheck.a; then
owd=`pwd`
if cd $withval; then withval=`pwd`; cd $owd; fi
CHECKINC="-I$withval/include"
CHECKLIB="-L$withval/lib -lcheck"
elif test -f $withval/src/check.h -a -f $withval/src/libcheck.a; then
owd=`pwd`
if cd $withval; then withval=`pwd`; cd $owd; fi
CHECKINC="-I$withval/src"
CHECKLIB="-L$withval/src -lcheck"
else
AC_ERROR(check.h or libcheck.a not found in $withval)
fi
;;
esac ],
[ if test -f ${prefix}/include/check.h -a -f ${prefix}/lib/libcheck.a; then
CHECKINC="-I${prefix}/include"
CHECKLIB="-L${prefix}/lib -lcheck"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
])
AC_SUBST(CHECKINC)
AC_SUBST(CHECKLIB)
AM_CONDITIONAL(HAVE_CHECK, test "x$CHECKLIB" != "x")
dnl Checks for header files.
AC_HEADER_STDC
if test "$CYGWIN" = yes ; then
AC_CHECK_HEADERS(Iphlpapi.h winsock2.h)
else
AC_CHECK_HEADERS(fcntl.h unistd.h)
AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi.h sys/dlpihdr.h sys/dlpi_ext.h \
sys/ioctl.h sys/mib.h sys/ndd_var.h sys/socket.h sys/sockio.h \
sys/sysctl.h sys/time.h)
AC_CHECK_HEADERS(net/bpf.h net/if.h net/if_var.h \
net/if_arp.h net/if_dl.h net/pfilt.h \
net/pfvar.h net/radix.h net/raw.h net/route.h netinet/in_var.h \
net/if_tun.h linux/if_tun.h netinet/ip_fw.h linux/ip_fw.h \
linux/ip_fwchains.h linux/netfilter_ipv4/ipchains_core.h)
AC_CHECK_HEADERS(ip_fil_compat.h netinet/ip_fil_compat.h ip_compat.h \
netinet/ip_compat.h ip_fil.h netinet/ip_fil.h)
AC_CHECK_HEADERS(hpsecurity.h stropts.h)
fi
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_PID_T
AC_TYPE_SIZE_T
AC_DNET_SOCKADDR_IN6
if test "$ac_cv_header_sys_socket_h" = yes ; then
AC_DNET_SOCKADDR_SA_LEN
fi
if test "$ac_cv_header_net_if_arp_h" = yes ; then
AC_DNET_ARPREQ_ARP_DEV
fi
if test "$ac_cv_header_net_route_h" = yes ; then
AC_DNET_ROUTE_RT_MSGHDR
fi
AC_PROG_GCC_TRADITIONAL
if test "$GCC" = yes ; then
CFLAGS="$CFLAGS -Wall"
fi
dnl Checks for library functions.
AC_FUNC_MEMCMP
AC_REPLACE_FUNCS(err strlcat strlcpy strsep)
dnl Checks for other system-specific jonks.
if test "$CYGWIN" != yes ; then
AC_DNET_BSD_BPF
AC_DNET_LINUX_PROCFS
AC_DNET_LINUX_PF_PACKET
AC_DNET_STREAMS_MIB2
AC_DNET_STREAMS_ROUTE
AC_DNET_IOCTL_ARP
AC_DNET_RAWIP_HOST_OFFLEN
AC_DNET_RAWIP_COOKED
fi
dnl Check for arp interface.
if test "$ac_cv_header_Iphlpapi_h" = yes ; then
AC_LIBOBJ([arp-win32])
elif test "$ac_cv_dnet_ioctl_arp" = yes ; then
AC_LIBOBJ([arp-ioctl])
elif test "$ac_cv_dnet_route_h_has_rt_msghdr" = yes ; then
AC_LIBOBJ([arp-bsd])
else
AC_LIBOBJ([arp-none])
fi
dnl Check for Ethernet interface.
if test "$ac_cv_header_Iphlpapi_h" = yes ; then
AC_LIBOBJ([eth-win32])
elif test "$ac_cv_header_net_pfilt_h" = yes ; then
AC_LIBOBJ([eth-pfilt])
elif test "$ac_cv_dnet_bsd_bpf" = yes ; then
AC_LIBOBJ([eth-bsd])
elif test "$ac_cv_dnet_linux_pf_packet" = yes ; then
AC_LIBOBJ([eth-linux])
elif test "$ac_cv_header_net_raw_h" = yes ; then
AC_LIBOBJ([eth-snoop])
elif test "$ac_cv_header_sys_ndd_var_h" = yes ; then
AC_LIBOBJ([eth-ndd])
elif test "$ac_cv_header_sys_dlpi_h" = yes || \
test "$ac_cv_header_sys_dlpihdr_h" = yes ; then
AC_LIBOBJ([eth-dlpi])
else
AC_LIBOBJ([eth-none])
fi
dnl Using fw-none since Nmap doesn't need any of the firewall-related rules
dnl --Fyodor
AC_LIBOBJ([fw-none])
dnl Check for network interface interface.
if test "$ac_cv_header_Iphlpapi_h" = yes ; then
AC_LIBOBJ([intf-win32])
else
AC_LIBOBJ([intf])
fi
dnl Check for raw IP interface.
if test "$ac_cv_header_Iphlpapi_h" = yes ; then
AC_LIBOBJ([ip-win32])
elif test "$ac_cv_dnet_rawip_cooked" = yes ; then
AC_LIBOBJ([ip-cooked])
else
AC_LIBOBJ([ip])
fi
dnl Check for routing interface.
if test "$ac_cv_header_Iphlpapi_h" = yes ; then
AC_LIBOBJ([route-win32])
elif test "$ac_cv_dnet_route_h_has_rt_msghdr" = yes ; then
AC_LIBOBJ([route-bsd])
elif test "$ac_cv_dnet_linux_procfs" = yes ; then
AC_LIBOBJ([route-linux])
elif test "$ac_cv_header_hpsecurity_h" = yes ; then
AC_LIBOBJ([route-hpux])
else
AC_LIBOBJ([route-none])
fi
dnl Check for tun interface.
if test "$ac_cv_header_linux_if_tun_h" = yes ; then
AC_LIBOBJ([tun-linux])
elif test "$ac_cv_header_net_if_tun_h" = yes ; then
if test "$ac_cv_header_stropts_h" = yes ; then
case "$host_os" in
*kfreebsd* | *dragonfly*)
AC_LIBOBJ([tun-bsd]);;
*)
AC_LIBOBJ([tun-solaris]);;
esac
else
AC_LIBOBJ([tun-bsd])
fi
elif test -f "/dev/tun0" ; then
AC_LIBOBJ([tun-bsd])
else
AC_LIBOBJ([tun-none])
fi
dnl Generate LTLIBOBJS for libtool.
Xsed="sed -e s/^X//"
LTLIBOBJS=`echo X"$LIBOBJS"|\
[$Xsed -e "s,\.[^.]* ,.lo ,g;s,\.[^.]*$,.lo,"]`
AC_SUBST(LTLIBOBJS)
AC_OUTPUT([Makefile dnet-config include/Makefile include/dnet/Makefile
src/Makefile],
[chmod 755 dnet-config])