1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170
|
dnl
dnl Copyright (c) 2003 Rinet Corp., Novosibirsk, Russia
dnl
dnl Redistribution and use in source forms, with and without modification,
dnl are permitted provided that this entire comment appears intact.
dnl Redistribution in binary form may occur without any restrictions.
dnl
dnl THIS SOFTWARE IS PROVIDED ``AS IS'' WITHOUT ANY WARRANTIES OF ANY KIND.
dnl
dnl
dnl configure.in -- template for ./configure
dnl Process this file with `autoconf' to produce a configure script
dnl remember to edit configure.in, not ./configure
dnl
AC_INIT(trafshow.c)
AC_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
dnl Checks for misc required programs.
AC_PROG_CC
AC_PROG_YACC
AC_PROG_LEX
AC_REQUIRE_CPP
AC_AIX
ACX_PTHREAD(, AC_MSG_ERROR(cannot find pthread; see the INSTALL notes))
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_TIME
AC_CHECK_HEADERS(sys/termios.h net/if_dl.h paths.h resolv.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_CHECK_TYPE(u_int8_t, unsigned char)
AC_CHECK_TYPE(u_int16_t, unsigned short)
AC_CHECK_TYPE(u_int32_t, unsigned int)
AC_CHECK_TYPE(u_int64_t, unsigned long long)
dnl AC_CHECK_TYPE(in_addr_t, unsigned int)
dnl Some OS keeps in_addr_t in netinet/in.h not in sys/types.h
AC_CACHE_CHECK(for in_addr_t, ac_cv_type_in_addr_t,
AC_TRY_COMPILE([
#include <sys/types.h>
#include <netinet/in.h>
],[in_addr_t ipaddr],
ac_cv_type_in_addr_t="yes",
ac_cv_type_in_addr_t="unsigned int"
)
)
if test "$ac_cv_type_in_addr_t" != yes; then
AC_DEFINE_UNQUOTED(in_addr_t, $ac_cv_type_in_addr_t)
fi
AC_CACHE_CHECK(for socklen_t, ac_cv_type_socklen_t,
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
],[socklen_t slen],
ac_cv_type_socklen_t="yes",
ac_cv_type_socklen_t="int"
)
)
if test "$ac_cv_type_socklen_t" != yes; then
AC_DEFINE_UNQUOTED(socklen_t, $ac_cv_type_socklen_t)
fi
AC_CACHE_CHECK(for struct sockaddr_storage, ac_cv_sockaddr_storage,
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
],[struct sockaddr_storage ss],
ac_cv_sockaddr_storage="yes",
ac_cv_sockaddr_storage="no"
)
)
if test "$ac_cv_sockaddr_storage" != no; then
AC_DEFINE(HAVE_SOCKADDR_STORAGE)
fi
AC_CACHE_CHECK(for struct ether_addr, ac_cv_ether_addr,
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
#include <net/if.h>
#include <netinet/if_ether.h>
],[struct ether_addr ea],
ac_cv_ether_addr="yes",
ac_cv_ether_addr="no"
)
)
if test "$ac_cv_ether_addr" != no; then
AC_DEFINE(HAVE_ETHER_ADDR)
fi
dnl Check for network system libraries.
AC_CHECK_LIB(resolv, main)
AC_CHECK_LIB(inet, main)
AC_CHECK_LIB(nsl, gethostbyname)
AC_CHECK_LIB(socket, connect)
dnl Checks for library functions.
AC_CHECK_FUNCS(siginterrupt)
AC_REPLACE_FUNCS(snprintf strftime strcasecmp)
dnl Check for pcap libraries.
AC_CHECK_LIB(pcap, pcap_findalldevs,,
AC_MSG_ERROR(at least libpcap 0.7 is required; see the INSTALL notes))
AC_CHECK_FUNCS(pcap_dump_flush)
AC_CHECK_FUNCS(pcap_get_selectable_fd)
dnl termcap library may be required.
AC_CHECK_LIB(termcap, tgetent)
AC_MSG_CHECKING(for curses library)
AC_CACHE_VAL(ac_cv_have_curses,
ac_cv_save_CFLAGS="$CFLAGS"
ac_cv_save_LIBS="$LIBS"
LIBS="-lslang $ac_cv_save_LIBS"
AC_TRY_LINK([#include <slcurses.h>],[initscr();],
ac_cv_have_curses="slang",
LIBS="-lncurses $ac_cv_save_LIBS"
AC_TRY_LINK([#include <ncurses.h>], [initscr();],
ac_cv_have_curses="ncurses",
CFLAGS="-I/usr/include/ncurses $ac_cv_save_CFLAGS"
AC_TRY_LINK([#include <ncurses.h>], [initscr();],
ac_cv_have_curses="n_curses",
LIBS="-lcurses $ac_cv_save_LIBS"
AC_TRY_LINK([#include <curses.h>], [initscr();],
ac_cv_have_curses="curses",
ac_cv_have_curses="none"
)
)
)
)
CFLAGS="$ac_cv_save_CFLAGS"
)
AC_MSG_RESULT($ac_cv_have_curses)
case "$ac_cv_have_curses" in
slang)
AC_DEFINE(HAVE_SLCURSES)
AC_DEFINE(HAVE_HAS_COLORS)
;;
ncurses)
AC_DEFINE(HAVE_NCURSES)
AC_CHECK_FUNCS(has_colors)
;;
n_curses)
CFLAGS="-I/usr/include/ncurses $CFLAGS"
AC_DEFINE(HAVE_NCURSES)
AC_CHECK_FUNCS(has_colors)
;;
curses)
AC_DEFINE(HAVE_CURSES)
AC_CHECK_FUNCS(has_colors)
;;
*)
AC_MSG_ERROR(cannot find curses; see the INSTALL notes)
;;
esac
AC_CHECK_FUNCS(bkgd wbkgd wredrawln resizeterm use_default_colors)
AC_OUTPUT(Makefile)
|