wireshark/configure.in
Guy Harris 1ae609b1b3 Forcibly insert "-I/usr/local/include" in CFLAGS and "-L/usr/local/lib"
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
1999-10-28 03:33:19 +00:00

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])