![Guy Harris](/assets/img/avatar_default.png)
in LIBS, because there's a bunch of stuff we might use that might have been installed in "/usr/local" ("libpcap", "zlib", an SNMP library), and we want to make sure all the stuff that looks for libraries and header files checks there. Also, add all the "-I" stuff to CPPFLAGS as well, as that's what's used in many header-file searches. And, while we're at it, add "-R/usr/local/lib" on SunOS 5.x, as its linker doesn't automatically set the run-time library search path to include all directories specified in "-L". Hopefully, this will make sure we find in "/usr/local/include" and "/usr/local/lib" everything we might want to find (e.g., SNMP headers - on FreeBSD, we weren't adding "/usr/local/include" because we found the "libpcap" header in "/usr/include", and thus weren't searching "/usr/local/include" for "ucd-snmp/snmp.h" or "snmp/snmp.h", and thus weren't finding them even if we'd installed the UCD SNMP package!). Also, hopefully it won't cause problems on some other platform with some other configuration of installed packages.... svn path=/trunk/; revision=940
274 lines
6.9 KiB
Text
274 lines
6.9 KiB
Text
# $Id: configure.in,v 1.57 1999/10/28 03:33:19 guy Exp $
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
AC_INIT(etypes.h)
|
|
|
|
AM_INIT_AUTOMAKE(ethereal, 0.7.7)
|
|
|
|
dnl Check for CPU / vendor / OS
|
|
AC_CANONICAL_HOST
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_CC
|
|
AC_PROG_CPP
|
|
AC_PROG_RANLIB
|
|
AC_PROG_YACC
|
|
AM_PROG_LEX
|
|
AC_PATH_PROG(PERL_PATH, perl)
|
|
AC_PATH_PROG(LEX, flex)
|
|
|
|
AC_SUBST(PERL_PATH)
|
|
AC_SUBST(FLEX_PATH)
|
|
|
|
|
|
# If we're running gcc, add '-Wall' to CFLAGS.
|
|
AC_MSG_CHECKING(to see if we can add '-Wall' to CFLAGS)
|
|
if test x$GCC != x ; then
|
|
CFLAGS="-Wall $CFLAGS"
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
#
|
|
# Arrange that we search for header files in the source directory
|
|
# and in its "wiretap" subdirectory, as well as in "/usr/local/include",
|
|
# as various packages we use ("libpcap", "zlib", an SNMP library)
|
|
# may have been installed under "/usr/local/include".
|
|
#
|
|
CFLAGS="$CFLAGS -I\$(top_srcdir) -I\$(top_srcdir)/wiretap -I/usr/local/include"
|
|
CPPFLAGS="$CPPFLAGS -I\$(top_srcdir) -I\$(top_srcdir)/wiretap -I/usr/local/include"
|
|
|
|
#
|
|
# Arrange that we search for libraries in "/usr/local/lib", and set
|
|
# a "-R" flag as appropriate.
|
|
#
|
|
# XXX - IRIX, and other OSes, may require some flag equivalent to
|
|
# "-R" here.
|
|
#
|
|
LIBS="$LIBS -L/usr/local/lib"
|
|
case "$host_os" in
|
|
solaris*)
|
|
LIBS="$LIBS -R/usr/local/lib"
|
|
;;
|
|
esac
|
|
|
|
# Create DATAFILE_DIR #define for config.h
|
|
DATAFILE_DIR=$sysconfdir
|
|
DATAFILE_DIR=`(
|
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
|
test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
|
|
eval echo "$DATAFILE_DIR"
|
|
)`
|
|
AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$DATAFILE_DIR")
|
|
AC_SUBST(DATAFILE_DIR)
|
|
|
|
# If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
|
|
# link directory.
|
|
case "$host_os" in
|
|
solaris*)
|
|
AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
|
|
if test x$LD_LIBRARY_PATH != x ; then
|
|
LIBS="$LIBS -R$LD_LIBRARY_PATH"
|
|
AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
|
|
else
|
|
AC_MSG_RESULT(no -- this may be a problem in a few seconds)
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
# GTK checks
|
|
AM_PATH_GTK(1.2.0, CFLAGS="$CFLAGS $GTK_CFLAGS" LIBS="$LIBS $GTK_LIBS",
|
|
AC_MSG_ERROR(GTK+ distribution not found.))
|
|
|
|
dnl pcap check
|
|
AC_ARG_ENABLE(pcap,
|
|
[ --enable-pcap use libpcap for packet capturing. [default=yes]],,enable_pcap=yes)
|
|
|
|
AC_MSG_CHECKING(whether to use libpcap for packet capture)
|
|
if test "x$enable_pcap" = "xno" ; then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
AC_ETHEREAL_PCAP_CHECK
|
|
fi
|
|
|
|
dnl zlib check
|
|
AC_ARG_ENABLE(zlib,
|
|
[ --enable-zlib use zlib to read compressed data. [default=yes]],, [dnl
|
|
case "$host_os" in
|
|
netbsd*) enable_zlib=no;;
|
|
*) enable_zlib=yes;;
|
|
esac])
|
|
|
|
AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
|
|
if test "x$enable_zlib" = "xno" ; then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
AC_ETHEREAL_ZLIB_CHECK
|
|
if test "x$enable_zlib" = "xno" ; then
|
|
AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
|
|
fi
|
|
fi
|
|
|
|
|
|
dnl ipv6 check
|
|
AC_ARG_ENABLE(ipv6,
|
|
[ --enable-ipv6 use ipv6 name resolution, if available. [default=yes]],,enable_ipv6=yes)
|
|
|
|
AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
|
|
if test "x$enable_ipv6" = "xno" ; then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
AC_ETHEREAL_IPV6_STACK
|
|
fi
|
|
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(fcntl.h sys/ioctl.h sys/time.h unistd.h stdarg.h netdb.h)
|
|
AC_CHECK_HEADERS(sys/stat.h sys/sockio.h sys/types.h netinet/in.h sys/socket.h net/if.h)
|
|
AC_CHECK_HEADERS(sys/wait.h)
|
|
AC_CHECK_HEADERS(stddef.h)
|
|
|
|
dnl SNMP Check
|
|
AC_ARG_ENABLE(snmp,
|
|
[ --enable-snmp use SNMP library, if available. [default=yes]],,enable_snmp=yes)
|
|
|
|
SNMP_A=''
|
|
SNMP_C=''
|
|
SNMP_O=''
|
|
AC_MSG_CHECKING(whether to use SNMP library if available)
|
|
if test "x$enable_snmp" = "xno" ; then
|
|
AC_MSG_RESULT(no)
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
AC_ETHEREAL_UCDSNMP_CHECK
|
|
AC_CHECK_HEADERS(ucd-snmp/snmp.h snmp/snmp.h)
|
|
AC_CHECK_LIB(snmp, asn_parse_header,
|
|
[
|
|
SNMP_A=-lsnmp
|
|
SNMP_C=packet-snmp.c
|
|
SNMP_O=packet-snmp.o
|
|
], )
|
|
fi
|
|
AC_SUBST(SNMP_A)
|
|
AC_SUBST(SNMP_C)
|
|
AC_SUBST(SNMP_O)
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
# AC_C_CONST
|
|
|
|
# We need to know whether "struct sockaddr" has an "sa_len" member
|
|
# for get_interface_list().
|
|
|
|
AC_ETHEREAL_STRUCT_SA_LEN
|
|
|
|
# We must know our byte order
|
|
AC_C_BIGENDIAN
|
|
|
|
dnl Checks for library functions.
|
|
AC_PROG_GCC_TRADITIONAL
|
|
AC_CHECK_FUNC(socket,, AC_MSG_ERROR(Function 'socket' not found.))
|
|
|
|
# If there's a system out there that has snprintf and _doesn't_ have vsnprintf,
|
|
# then this won't work.
|
|
SNPRINTF_C=""
|
|
SNPRINTF_O=""
|
|
AC_CHECK_FUNC(snprintf, SNPRINTF_O="",
|
|
SNPRINTF_O="snprintf.o" [AC_DEFINE(NEED_SNPRINTF_H)])
|
|
if test "$ac_cv_func_snprintf" = no ; then
|
|
SNPRINTF_C="snprintf.c"
|
|
SNPRINTF_O="snprintf.o"
|
|
fi
|
|
AC_SUBST(SNPRINTF_C)
|
|
AC_SUBST(SNPRINTF_O)
|
|
|
|
AC_CHECK_FUNC(strerror, STRERROR_O="",
|
|
STRERROR_O="strerror.o" [AC_DEFINE(NEED_STRERROR_H)])
|
|
if test "$ac_cv_func_strerror" = no ; then
|
|
STRERROR_C="strerror.c"
|
|
STRERROR_O="strerror.o"
|
|
fi
|
|
AC_SUBST(STRERROR_C)
|
|
AC_SUBST(STRERROR_O)
|
|
|
|
AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="",
|
|
STRNCASECMP_O="strncasecmp.o")
|
|
if test "$ac_cv_func_strncasecmp" = no ; then
|
|
STRNCASECMP_C="strncasecmp.c"
|
|
STRNCASECMP_O="strncasecmp.o"
|
|
fi
|
|
AC_SUBST(STRNCASECMP_C)
|
|
AC_SUBST(STRNCASECMP_O)
|
|
|
|
AC_CHECK_FUNC(mkstemp, MKSTEMP_O="",
|
|
MKSTEMP_O="mkstemp.o")
|
|
if test "$ac_cv_func_mkstemp" = no ; then
|
|
MKSTEMP_C="mkstemp.c"
|
|
MKSTEMP_O="mkstemp.o"
|
|
fi
|
|
AC_SUBST(MKSTEMP_C)
|
|
AC_SUBST(MKSTEMP_O)
|
|
|
|
AC_CHECK_FUNC(inet_aton, INET_ATON_O="",
|
|
INET_ATON_O="inet_aton.o")
|
|
if test "$ac_cv_func_inet_aton" = no ; then
|
|
INET_ATON_C="inet_aton.c"
|
|
INET_ATON_O="inet_aton.o"
|
|
fi
|
|
AC_SUBST(INET_ATON_C)
|
|
AC_SUBST(INET_ATON_O)
|
|
|
|
AC_CHECK_FUNC(inet_pton, [
|
|
dnl check for pre-BIND82 inet_pton() bug.
|
|
AC_MSG_CHECKING(for broken inet_pton)
|
|
AC_TRY_RUN([#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>
|
|
int main()
|
|
{
|
|
#ifdef AF_INET6
|
|
char buf[16];
|
|
/* this should return 0 (error) */
|
|
return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
|
|
#else
|
|
return 1;
|
|
#endif
|
|
}], [AC_MSG_RESULT(ok);
|
|
have_inet_pton=yes], [AC_MSG_RESULT(broken);
|
|
have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
|
|
have_inet_pton=no])],
|
|
have_inet_pton=no)
|
|
if test "$have_inet_pton" = no; then
|
|
INET_PTON_C="inet_pton.c"
|
|
INET_PTON_O="inet_pton.o"
|
|
else
|
|
INET_PTON_C=""
|
|
INET_PTON_O=""
|
|
fi
|
|
AC_SUBST(INET_PTON_C)
|
|
AC_SUBST(INET_PTON_O)
|
|
|
|
AC_CHECK_FUNC(inet_ntop, INET_NTOP_O="",
|
|
INET_NTOP_O="inet_ntop.o")
|
|
if test "$ac_cv_func_inet_ntop" = no ; then
|
|
INET_NTOP_C="inet_ntop.c"
|
|
INET_NTOP_O="inet_ntop.o"
|
|
AC_DEFINE(NEED_INET_V6DEFS_H)
|
|
fi
|
|
AC_SUBST(INET_NTOP_C)
|
|
AC_SUBST(INET_NTOP_O)
|
|
|
|
AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
|
|
|
|
dnl blank for now, but will be used in future
|
|
AC_SUBST(ethereal_SUBDIRS)
|
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
AC_CONFIG_SUBDIRS(wiretap)
|
|
AC_OUTPUT(Makefile ethereal.spec doc/Makefile doc/dfilter2pod gtk/Makefile,
|
|
[chmod +x doc/dfilter2pod])
|