📄 configure.in
字号:
dnldnl configure.in for libnids.dnldnl Dug Song <dugsong@monkey.org>dnl ... mantained by Nergal AC_INIT(src/libnids.c)AC_CANONICAL_SYSTEMAC_CONFIG_HEADER(src/config.h)dnl Initialize prefix.if test "$prefix" = "NONE" ; then prefix="/usr/local"fidnl Initialize exec_prefix.if test "$exec_prefix" = "NONE" ; then exec_prefix=$prefixfidnl Checks for programs.AC_PROG_CCAC_PROG_RANLIBAC_PROG_INSTALLdnl Checks for header files.AC_HEADER_STDCAC_CHECK_HEADERS(sys/time.h syslog.h unistd.h)dnl Checks for typedefs, structures, and compiler characteristics.AC_C_CONSTAC_C_INLINEAC_HEADER_TIMEAC_C_BIGENDIANdnl XXX - Linux sux.CFLAGS="$CFLAGS -D_BSD_SOURCE"dnl Checks for library functions.AC_CHECK_FUNCS(gettimeofday)dnl XXX - Solaris sux.AC_CHECK_LIB(socket, socket)AC_CHECK_LIB(nsl, gethostbyname)case "$target_cpu" in alpha*|arm*|hp*|mips*|sparc*) ac_cv_lbl_unaligned_fail=yes ;; *) ac_cv_lbl_unaligned_fail=no ;;esacif test $ac_cv_lbl_unaligned_fail = yes ; then AC_DEFINE(LBL_ALIGN,1,[if unaligned access fails])fidnl Checks for libpcapAC_MSG_CHECKING(for libpcap)AC_ARG_WITH(libpcap,[ --with-libpcap=DIR use libpcap build directory],[ case "$withval" in yes|no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT($withval) if test -f $withval/pcap.h -a -f $withval/libpcap.a; then owd=`pwd` if cd $withval; then withval=`pwd`; cd $owd; fi PCAP_CFLAGS="-I$withval -I$withval/bpf" PCAPLIB="-L$withval -lpcap" else AC_ERROR(pcap.h or libpcap.a not found in $withval) fi ;; esac ],[ if test -f ${prefix}/include/pcap.h; then PCAP_CFLAGS="-I${prefix}/include" PCAPLIB="-L${exec_prefix}/lib -lpcap" elif test -f /usr/include/pcap/pcap.h; then PCAP_CFLAGS="-I/usr/include/pcap" PCAPLIB="-lpcap" else TMP=$LIBS LIBS="-lpcap $LIBS" AC_TRY_LINK([#include <pcap.h>], pcap_open_offline("",""), LIBPCAP_FOUND=1,LIBPCAP_FOUND=0) LIBS=$TMP if test $LIBPCAP_FOUND = 1 ; then PCAPLIB="-lpcap" else AC_ERROR(libpcap not found) fi fi AC_MSG_RESULT(yes) ])AC_SUBST(PCAP_CFLAGS)AC_SUBST(PCAPLIB)dnl Checks for libnetAC_MSG_CHECKING(for libnet)AC_ARG_ENABLE(libnet, [ --disable-libnet whether to include code requiring libnet],[ case "$enableval" in yes) AC_MSG_RESULT(yes) ;; no) AC_MSG_RESULT(no) LIBNET_VER=-1 ;; *) AC_ERROR(no arguments expected for --disable-libnet) ;; esac ])AC_ARG_WITH(libnet,[ --with-libnet=DIR use libnet build directory],[ case "$withval" in yes) ;; no) LIBNET_VER=-1 AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT($withval) if test -f $withval/include/libnet.h -a -f $withval/lib/libnet.a -a -f $withval/libnet-config ; then owd=`pwd` if cd $withval; then withval=`pwd`; cd $owd; fi LNET_CFLAGS="-I$withval/include `$withval/libnet-config --defines`" LNETLIB="-L$withval/lib -lnet" elif test -f $withval/include/libnet.h -a -f $withval/src/libnet.a; then owd=`pwd` if cd $withval; then withval=`pwd`; cd $owd; fi LNET_CFLAGS="-I$withval/include" LNETLIB="-L$withval/src -lnet" else echo "A working combination of libnet.h, libnet.a and libnet-config not found in $withval; get libnet from www.packetfactory.net/projects/libnet and reinstall" AC_ERROR(libnet) fi ;; esac ],[ if test "x"$LIBNET_VER = "x"-1 ; then AC_MSG_RESULT(skipping libnet) else if test -f ${prefix}/include/libnet.h -a ${exec_prefix}/lib/libnet.a ; then LNET_CFLAGS="-I${prefix}/include `${exec_prefix}/bin/libnet-config --defines 2>/dev/null`" LNETLIB="-L${exec_prefix}/lib -lnet" else LNET_CFLAGS="`libnet-config --defines 2>/dev/null`" LNETLIB="-lnet" fi fi ])if test "x"$LIBNET_VER != "x"-1 ; then TMPC="$CFLAGS" TMPL="$LIBS" CFLAGS="$CFLAGS $LNET_CFLAGS" LIBS="$LNETLIB $LIBS" AC_TRY_LINK([#include <libnet.h>], libnet_get_prand(0), LIBNET_FOUND=1,LIBNET_FOUND=0) CFLAGS="$TMPC" LIBS="$TMPL" if test $LIBNET_FOUND = 1 ; then LNETLIB="-lnet" AC_MSG_RESULT(yes) else echo "Working libnet not found; get it from www.packetfactory.net/projects/libnet and reinstall" AC_ERROR(libnet) fifiAC_SUBST(LNET_CFLAGS)AC_SUBST(LNETLIB)BUILD_SHARED=AC_MSG_CHECKING(whether to build shared library)AC_ARG_ENABLE(shared,[ --enable-shared enable building shared libraries],[ case "$enableval" in yes) AC_MSG_RESULT(yes) BUILD_SHARED=shared ;; no) AC_MSG_RESULT(no) ;; *) AC_ERROR(no arguments expected for --enable-shared) ;; esac ], [AC_MSG_RESULT(no)])AC_SUBST(BUILD_SHARED)AC_MSG_CHECKING(the name of struct icmp)AC_TRY_COMPILE([#include <sys/types.h>#include <netinet/in.h>#include <netinet/ip.h>#include <netinet/ip_icmp.h>], struct icmphdr h;int c=h.type, ICMPHEADER=1,ICMPHEADER=0)AC_SUBST(ICMPHEADER)if test $ICMPHEADER = 1 ; then AC_MSG_RESULT(struct icmphdr) ; else AC_MSG_RESULT(struct icmp) fiAC_MSG_CHECKING(if tcp states are defined)AC_TRY_COMPILE([#include <sys/types.h>#include <netinet/in.h>#include <netinet/tcp.h>], int c=TCP_ESTABLISHED,TCPSTATES=1,TCPSTATES=0)AC_SUBST(TCPSTATES)if test $TCPSTATES = 1 ; then AC_MSG_RESULT(yes) ; else AC_MSG_RESULT(no) fiAC_MSG_CHECKING(for bsd-ish struct udphdr)AC_TRY_COMPILE([#include <sys/types.h>#include <netinet/in.h>#include <netinet/udp.h>], struct udphdr h;int c=h.uh_ulen,HAVE_BSD_UDPHDR=1,HAVE_BSD_UDPHDR=0)AC_SUBST(HAVE_BSD_UDPHDR)if test $HAVE_BSD_UDPHDR = 1 ; then AC_MSG_RESULT(yes) ; else AC_MSG_RESULT(no) fiif test "x"$LIBNET_VER != "x"-1 ; then TMP=$CFLAGS CFLAGS="$CFLAGS $LNET_CFLAGS" AC_MSG_CHECKING(libnet version) AC_TRY_COMPILE([#include <libnet.h>], int c=LIBNET_PTAG_INITIALIZER, LIBNET_VER=1,LIBNET_VER=0) CFLAGS=$TMP if test $LIBNET_VER = 1 ; then AC_MSG_RESULT(looks new) ; else AC_MSG_RESULT(looks old) fifiAC_SUBST(LIBNET_VER)AC_OUTPUT(Makefile src/Makefile samples/Makefile)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -