diff options
Diffstat (limited to '')
-rw-r--r-- | libdnet-stripped/configure.in | 310 |
1 files changed, 310 insertions, 0 deletions
diff --git a/libdnet-stripped/configure.in b/libdnet-stripped/configure.in new file mode 100644 index 0000000..6235dc2 --- /dev/null +++ b/libdnet-stripped/configure.in @@ -0,0 +1,310 @@ +dnl +dnl configure.in +dnl +dnl Copyright (c) 2000 Dug Song <dugsong@monkey.org> +dnl +dnl $Id: configure.in 638 2007-01-20 11:39:21Z dugsong $ + +AC_INIT(include/dnet.h) + +AM_INIT_AUTOMAKE(libdnet, 1.12) +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 XXX - spoof AC_CYGWIN +case "$host_os" in + *cygwin*) CYGWIN=yes;; + *) CYGWIN=no;; +esac + +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 +AC_DISABLE_SHARED +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 +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 sys/types.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 netinet/in_var.h \ + netinet/in6_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) + AC_CHECK_HEADERS(net/route.h, [], [], + [ +AC_INCLUDES_DEFAULT +#ifdef HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif + ]) +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 +AC_CHECK_TYPES([socklen_t], [], [], [AC_INCLUDES_DEFAULT +#include <sys/socket.h>]) + +dnl Checks for library functions. +AC_FUNC_MEMCMP +AC_REPLACE_FUNCS(err 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 + AC_DNET_GETKERNINFO +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 + +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*) + AC_LIBOBJ([tun-bsd]);; + *) + AC_LIBOBJ([tun-solaris]);; + esac + else + AC_LIBOBJ([tun-bsd]) + fi +elif test -c "/dev/tun0" ; then + AC_LIBOBJ([tun-bsd]) +else + AC_LIBOBJ([tun-none]) +fi + +AC_OUTPUT([Makefile dnet-config include/Makefile include/dnet/Makefile + src/Makefile], + [chmod 755 dnet-config]) |