2004-03-22 17:03:30 +00:00
|
|
|
# $Id: configure.in,v 1.68 2004/03/22 17:03:30 gerald Exp $
|
2004-03-04 06:30:14 +00:00
|
|
|
#
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AC_INIT(epan.c)
|
|
|
|
|
2004-03-04 06:30:14 +00:00
|
|
|
AC_PREREQ(2.52)
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
|
2002-10-06 18:18:45 +00:00
|
|
|
dnl Check for CPU / vendor / OS
|
2002-10-09 22:58:53 +00:00
|
|
|
AC_CANONICAL_HOST
|
2002-10-06 18:18:45 +00:00
|
|
|
AC_CANONICAL_TARGET
|
|
|
|
|
2004-03-22 17:03:30 +00:00
|
|
|
AM_INIT_AUTOMAKE(libethereal.a, 0.10.3)
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AM_CONFIG_HEADER(config.h)
|
|
|
|
|
2004-02-07 05:44:08 +00:00
|
|
|
AM_DISABLE_STATIC
|
|
|
|
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
dnl Checks for programs.
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_CPP
|
|
|
|
AC_PROG_YACC
|
|
|
|
AM_PROG_LEX
|
2002-08-14 14:42:42 +00:00
|
|
|
AC_PROG_LIBTOOL
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AC_PATH_PROG(LEX, flex)
|
2004-03-04 08:53:02 +00:00
|
|
|
AC_PATH_PROG(PERL, perl)
|
2004-03-02 23:53:10 +00:00
|
|
|
AC_PATH_PROG(PYTHON, python)
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
|
|
|
|
AC_SUBST(FLEX_PATH)
|
2004-03-04 08:53:02 +00:00
|
|
|
AC_SUBST(PERL)
|
2004-03-02 23:53:10 +00:00
|
|
|
AC_SUBST(PYTHON)
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
|
2002-02-27 09:42:52 +00:00
|
|
|
#
|
2002-03-02 20:51:46 +00:00
|
|
|
# If we're running gcc, add '-Wall -W' to CFLAGS, and add
|
|
|
|
# '-D_U_="__attribute__((unused))"' as well, so we can use _U_ to
|
|
|
|
# flag unused function arguments and not get warnings about them.
|
2002-11-28 04:21:31 +00:00
|
|
|
# If "--with-extra-gcc-checks" was specified, add "-Wcast-qual
|
|
|
|
# -Wcast-align" as well. (Add more checks here in the future?)
|
2002-02-27 09:42:52 +00:00
|
|
|
#
|
|
|
|
# Otherwise, add '-D_U_=""', so that _U_ used to flag an unused function
|
|
|
|
# argument will compile with non-GCC compilers.
|
|
|
|
#
|
2002-11-28 04:21:31 +00:00
|
|
|
AC_ARG_WITH(extra-gcc-checks,
|
|
|
|
[ --with-extra-gcc-checks Do additional -W checks in GCC. [default=no]],
|
|
|
|
[
|
|
|
|
if test $withval != no
|
|
|
|
then
|
2004-02-08 01:15:53 +00:00
|
|
|
ethereal_extra_gcc_flags=" -Wcast-qual -Wcast-align -Wbad-function-cast -pedantic"
|
2002-11-28 04:21:31 +00:00
|
|
|
fi
|
|
|
|
],)
|
|
|
|
AC_MSG_CHECKING(to see if we can add '-Wall -W$ethereal_extra_gcc_flags' to CFLAGS)
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
if test x$GCC != x ; then
|
2004-02-08 01:15:53 +00:00
|
|
|
CFLAGS="-D_U_=\"__attribute__((unused))\" -Wall -W $ethereal_extra_gcc_flags $CFLAGS"
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
else
|
2002-02-27 09:42:52 +00:00
|
|
|
CFLAGS="-D_U_=\"\" $CFLAGS"
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
2000-10-17 07:30:35 +00:00
|
|
|
#
|
|
|
|
# Add any platform-specific compiler flags needed.
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(for platform-specific compiler flags)
|
|
|
|
if test "x$GCC" = x
|
|
|
|
then
|
|
|
|
#
|
|
|
|
# Not GCC - assume it's the vendor's compiler.
|
|
|
|
#
|
|
|
|
case "$host_os" in
|
|
|
|
hpux*)
|
|
|
|
#
|
|
|
|
# HP's ANSI C compiler; flags suggested by Jost Martin.
|
|
|
|
# "-Ae" for ANSI C plus extensions such as "long long".
|
|
|
|
# "+O2", for optimization. XXX - works with "-g"?
|
|
|
|
#
|
|
|
|
CFLAGS="-Ae +O2 $CFLAGS"
|
|
|
|
AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
|
|
|
|
;;
|
2001-12-07 22:56:58 +00:00
|
|
|
darwin*)
|
|
|
|
#
|
|
|
|
# It may be called "cc", but it's really a GCC derivative
|
|
|
|
# with a problematic special precompiler and precompiled
|
|
|
|
# headers; turn off the special precompiler, as some
|
|
|
|
# apparently-legal code won't compile with its precompiled
|
|
|
|
# headers.
|
|
|
|
#
|
|
|
|
CFLAGS="-no-cpp-precomp $CFLAGS"
|
|
|
|
AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
|
|
|
|
;;
|
2000-10-17 07:30:35 +00:00
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(none needed)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
else
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
case "$host_os" in
|
|
|
|
darwin*)
|
2001-12-07 22:56:58 +00:00
|
|
|
#
|
|
|
|
# See comments above about Apple's lovely C compiler.
|
|
|
|
#
|
|
|
|
CFLAGS="-no-cpp-precomp $CFLAGS"
|
|
|
|
AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
;;
|
|
|
|
*)
|
2000-10-17 07:30:35 +00:00
|
|
|
AC_MSG_RESULT(none needed)
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
;;
|
|
|
|
esac
|
2000-10-17 07:30:35 +00:00
|
|
|
fi
|
|
|
|
|
2003-12-11 18:37:13 +00:00
|
|
|
dnl Look in /usr/local for header files and libraries ?
|
|
|
|
dnl XXX FIXME don't include /usr/local if it is already in the system
|
|
|
|
dnl search path as this causes gcc 3.2 on Linux to complain about a change
|
|
|
|
dnl of the system search order for includes
|
|
|
|
AC_ARG_ENABLE(usr-local,
|
|
|
|
[ --enable-usr-local look for headers and libs in /usr/local tree. [default=yes]],enable_usr_local=$enableval,enable_usr_local=yes)
|
|
|
|
|
|
|
|
AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
|
|
|
|
if test "x$enable_usr_local" = "xyes" ; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
#
|
|
|
|
# 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/usr/local/include"
|
|
|
|
CPPFLAGS="$CPPFLAGS -I/usr/local/include"
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
2003-11-18 08:13:10 +00:00
|
|
|
AC_ARG_ENABLE(profile-build,
|
|
|
|
[ --enable-profile-build build profile-ready binaries. [default=no]],enable_profile_build=$enableval,enable_profile_build=no)
|
|
|
|
AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
|
|
|
|
AC_MSG_CHECKING(if profile builds must be generated)
|
|
|
|
if test "x$enable_profile_build" = "xyes" ; then
|
|
|
|
if test -n "$GCC" ; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
CFLAGS=" -pg $CFLAGS"
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
echo "Building profile binaries currently only supported for GCC."
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
# Create DATAFILE_DIR #define for config.h
|
2003-03-25 23:37:54 +00:00
|
|
|
datafiledir=$datadir/ethereal
|
|
|
|
datafiledir=`(
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
|
|
|
test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
|
2003-03-25 23:37:54 +00:00
|
|
|
eval echo "$datafiledir"
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
)`
|
2003-03-25 23:37:54 +00:00
|
|
|
AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
|
2002-08-28 00:37:31 +00:00
|
|
|
AC_ARG_ENABLE(gtk2,
|
2003-01-30 10:20:47 +00:00
|
|
|
[ --enable-gtk2 build Glib2/Gtk2+-based (t)ethereal. [default=no]],enable_gtk2=$enableval,enable_gtk2=no)
|
2002-08-28 00:37:31 +00:00
|
|
|
|
|
|
|
if test "x$enable_gtk2" = "xyes" ; then
|
|
|
|
AM_PATH_GLIB_2_0(2.0.0, CFLAGS="$CFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS", , gmodule)
|
|
|
|
else
|
|
|
|
AM_PATH_GLIB(1.2.0, CFLAGS="$CFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS", , gmodule)
|
|
|
|
fi
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
|
|
|
|
dnl Checks for header files
|
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_CHECK_HEADERS(stdarg.h direct.h dirent.h fcntl.h netdb.h unistd.h)
|
|
|
|
AC_CHECK_HEADERS(sys/param.h sys/socket.h sys/stat.h sys/time.h sys/types.h)
|
|
|
|
AC_CHECK_HEADERS(netinet/in.h)
|
|
|
|
AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
|
|
|
|
|
2001-07-13 01:34:13 +00:00
|
|
|
dnl ipv6 check
|
|
|
|
AC_ARG_ENABLE(ipv6,
|
2003-01-30 10:20:47 +00:00
|
|
|
[ --enable-ipv6 use ipv6 name resolution, if available. [default=yes]],enable_ipv6=$enableval,enable_ipv6=yes)
|
2001-07-13 01:34:13 +00:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2004-03-17 18:20:58 +00:00
|
|
|
|
|
|
|
dnl kerberos/heimdal check
|
|
|
|
AC_MSG_CHECKING(whether to use kerberos/heimdal)
|
|
|
|
|
|
|
|
AC_ARG_WITH(krb5,
|
|
|
|
changequote(<<, >>)dnl
|
|
|
|
<< --with-krb5[=DIR] use kerberos/heimdal (located in directory DIR, if supplied) to use in kerberos dissection [default=no]>>,
|
|
|
|
changequote([, ])dnl
|
|
|
|
[
|
|
|
|
if test $withval = no
|
|
|
|
then
|
|
|
|
want_krb5=no
|
|
|
|
elif test $withval = yes
|
|
|
|
then
|
|
|
|
want_krb5=yes
|
|
|
|
else
|
|
|
|
want_krb5=no
|
|
|
|
krb5_dir=$withval
|
|
|
|
fi
|
|
|
|
],[
|
|
|
|
#
|
|
|
|
# Use kerberos/heimdal if it's present, otherwise don't.
|
|
|
|
#
|
|
|
|
want_krb5=no
|
|
|
|
krb5_dir=
|
|
|
|
])
|
|
|
|
if test "x$want_krb5" = "xno" ; then
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_ETHEREAL_KRB5_CHECK
|
|
|
|
if test "x$want_krb5" = "xno" ; then
|
|
|
|
AC_MSG_RESULT(heimdal not found - disabling dissection for some kerberos data in packet decoding)
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AC_CHECK_FUNC(inet_aton, INET_ATON_O="",
|
2004-03-13 10:15:36 +00:00
|
|
|
INET_ATON_O="inet_aton.lo")
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
if test "$ac_cv_func_inet_aton" = no ; then
|
|
|
|
INET_ATON_C="inet_aton.c"
|
2004-03-13 10:15:36 +00:00
|
|
|
INET_ATON_O="inet_aton.lo"
|
2003-02-26 20:08:33 +00:00
|
|
|
AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
fi
|
|
|
|
AC_SUBST(INET_ATON_C)
|
|
|
|
AC_SUBST(INET_ATON_O)
|
|
|
|
|
Fixes for a couple of problems, from Albert Chin:
1. On Solaris, inet_ntop and inet_pton need to be linked against
-lnsl. AC_CHECK_FUNC() isn't good enough unless LIBS already
has -lnsl.
2. On IRIX, the blanket redefinition of the inet_ntop function
prototype is incorrect (compiling with MIPSpro 7.4):
cc-1143 cc: ERROR File = inet_v6defs.h, Line = 32
Declaration is incompatible with
"const char *inet_ntop(int, const void *, char *, socklen_t)"
(declared at line 89 of "/usr/include/arpa/inet.h").
extern const char *inet_ntop(int af, const void *src, char *dst,
^
1 error detected in the compilation of "inet_pton.c".
gmake[4]: *** [inet_pton.o] Error 2
On IRIX, the correct prototype is:
extern const char *inet_ntop(int, const void *, char *, socklen_t);
Rather than blindly replacing the prototype we detect if a
prototype exists and define it only if one does not exist.
svn path=/trunk/; revision=7218
2003-02-28 05:09:50 +00:00
|
|
|
AC_SEARCH_LIBS(inet_pton, [socket nsl], [
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
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"
|
2004-03-13 10:15:36 +00:00
|
|
|
INET_PTON_O="inet_pton.lo"
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
else
|
|
|
|
INET_PTON_C=""
|
|
|
|
INET_PTON_O=""
|
|
|
|
fi
|
|
|
|
AC_SUBST(INET_PTON_C)
|
|
|
|
AC_SUBST(INET_PTON_O)
|
|
|
|
|
Fixes for a couple of problems, from Albert Chin:
1. On Solaris, inet_ntop and inet_pton need to be linked against
-lnsl. AC_CHECK_FUNC() isn't good enough unless LIBS already
has -lnsl.
2. On IRIX, the blanket redefinition of the inet_ntop function
prototype is incorrect (compiling with MIPSpro 7.4):
cc-1143 cc: ERROR File = inet_v6defs.h, Line = 32
Declaration is incompatible with
"const char *inet_ntop(int, const void *, char *, socklen_t)"
(declared at line 89 of "/usr/include/arpa/inet.h").
extern const char *inet_ntop(int af, const void *src, char *dst,
^
1 error detected in the compilation of "inet_pton.c".
gmake[4]: *** [inet_pton.o] Error 2
On IRIX, the correct prototype is:
extern const char *inet_ntop(int, const void *, char *, socklen_t);
Rather than blindly replacing the prototype we detect if a
prototype exists and define it only if one does not exist.
svn path=/trunk/; revision=7218
2003-02-28 05:09:50 +00:00
|
|
|
AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
|
|
|
|
AC_MSG_CHECKING([for inet_ntop prototype])
|
|
|
|
AC_TRY_COMPILE([#include <stdio.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
|
|
|
|
extern const char *inet_ntop(int, const void *, char *, size_t);],, [
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
|
|
|
|
[Define if inet_ntop() prototype exists])], [
|
|
|
|
AC_TRY_COMPILE([#include <stdio.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
#include <arpa/inet.h>
|
|
|
|
|
|
|
|
extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
|
|
|
|
[Define if inet_ntop() prototype exists])], [
|
|
|
|
AC_MSG_RESULT(no)])])
|
|
|
|
INET_NTOP_O=""], [
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
INET_NTOP_C="inet_ntop.c"
|
2004-03-13 10:15:36 +00:00
|
|
|
INET_NTOP_O="inet_ntop.lo"
|
Fixes for a couple of problems, from Albert Chin:
1. On Solaris, inet_ntop and inet_pton need to be linked against
-lnsl. AC_CHECK_FUNC() isn't good enough unless LIBS already
has -lnsl.
2. On IRIX, the blanket redefinition of the inet_ntop function
prototype is incorrect (compiling with MIPSpro 7.4):
cc-1143 cc: ERROR File = inet_v6defs.h, Line = 32
Declaration is incompatible with
"const char *inet_ntop(int, const void *, char *, socklen_t)"
(declared at line 89 of "/usr/include/arpa/inet.h").
extern const char *inet_ntop(int af, const void *src, char *dst,
^
1 error detected in the compilation of "inet_pton.c".
gmake[4]: *** [inet_pton.o] Error 2
On IRIX, the correct prototype is:
extern const char *inet_ntop(int, const void *, char *, socklen_t);
Rather than blindly replacing the prototype we detect if a
prototype exists and define it only if one does not exist.
svn path=/trunk/; revision=7218
2003-02-28 05:09:50 +00:00
|
|
|
AC_DEFINE(NEED_INET_V6DEFS_H, 1,
|
|
|
|
[Define if inet/v6defs.h needs to be included])])
|
Give libethereal its own configuration file, and have that configuration
file, rather than the top-level Ethereal configuration file, check for
"inet_aton()", "inet_pton()", and "inet_ntop()". Then make its
Makefile.am include the appropriate object files if necessary.
Otherwise, they don't get built and put into libethereal, and therefore
attempts to link with anything in libethereal that uses them fail on
platforms that lack ethem, causing the build to fail.
That means a bunch of things need to be fixed to cope with libethereal
having its own "config.h" file; this means removing the include of
"config.h" from some libethereal header files. Move the definitions of
the path names used only by "resolv.c" to "resolv.c" from "resolv.h" (so
"resolv.h" doesn't need "config.h", define HAVE_PLUGINS in the configure
script (so we don't have to include it in "plugins.h" to check whether
HAVE_DLFCN_H is defined).
Unfortunately, stuff outside libethereal needs to know PLUGIN_DIR; for
now, define that in the top-level configuration file, and have Ethereal
and Tethereal pass it as an argument to "epan_init()" - that should be
cleaned up at some point.
Remove from the top-level configure script checks for things used only
in libethereal.
svn path=/trunk/; revision=2498
2000-10-16 23:18:05 +00:00
|
|
|
AC_SUBST(INET_NTOP_C)
|
|
|
|
AC_SUBST(INET_NTOP_O)
|
|
|
|
|
2003-02-26 20:08:33 +00:00
|
|
|
AC_CHECK_FUNC(strptime, ,
|
|
|
|
[AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
|
|
|
|
])
|
2001-10-28 01:27:59 +00:00
|
|
|
|
2003-12-06 16:35:20 +00:00
|
|
|
dnl pcre check
|
|
|
|
AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
|
|
|
|
AC_ARG_WITH(pcre,
|
|
|
|
changequote(<<, >>)dnl
|
|
|
|
<< --with-pcre[=DIR] use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. [default=yes, if present]>>,
|
|
|
|
changequote([, ])dnl
|
|
|
|
[
|
|
|
|
if test $withval = no
|
|
|
|
then
|
|
|
|
want_pcre=no
|
|
|
|
elif test $withval = yes
|
|
|
|
then
|
|
|
|
want_pcre=yes
|
|
|
|
else
|
|
|
|
want_pcre=yes
|
|
|
|
pcre_dir=$withval
|
|
|
|
fi
|
|
|
|
],[
|
|
|
|
#
|
|
|
|
# Use libpcre if it's present, otherwise don't.
|
|
|
|
#
|
|
|
|
want_pcre=ifpresent
|
|
|
|
pcre_dir=
|
|
|
|
])
|
|
|
|
if test "x$want_pcre" = "xno" ; then
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_ETHEREAL_LIBPCRE_CHECK
|
|
|
|
if test "x$want_pcre" = "xno" ; then
|
|
|
|
AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2003-05-04 18:50:56 +00:00
|
|
|
dnl ADNS Check
|
|
|
|
AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
|
|
|
|
if test "x$enable_adns" = "xno" ; then
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
AC_ETHEREAL_ADNS_CHECK
|
|
|
|
fi
|
|
|
|
|
2001-05-01 02:44:52 +00:00
|
|
|
#
|
|
|
|
# Check whether GLib modules are supported, to determine whether we
|
|
|
|
# can support plugins.
|
|
|
|
#
|
|
|
|
AC_MSG_CHECKING(whether GLib supports loadable modules)
|
|
|
|
#ac_save_CFLAGS="$CFLAGS"
|
|
|
|
#ac_save_LIBS="$LIBS"
|
|
|
|
#CFLAGS="$CFLAGS $GLIB_CFLAGS"
|
|
|
|
#LIBS="$GLIB_LIBS $LIBS"
|
|
|
|
AC_TRY_RUN([
|
|
|
|
#include <glib.h>
|
|
|
|
#include <gmodule.h>
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
|
|
int
|
|
|
|
main ()
|
|
|
|
{
|
|
|
|
if (g_module_supported())
|
|
|
|
return 0; /* success */
|
|
|
|
else
|
|
|
|
return 1; /* failure */
|
|
|
|
}
|
|
|
|
], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
|
|
|
|
[echo $ac_n "cross compiling; assumed OK... $ac_c"])
|
|
|
|
#CFLAGS="$ac_save_CFLAGS"
|
|
|
|
#LIBS="$ac_save_LIBS"
|
|
|
|
if test "$ac_cv_glib_supports_modules" = yes ; then
|
|
|
|
AC_MSG_RESULT(yes)
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
have_plugins=yes
|
2001-05-01 02:44:52 +00:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
have_plugins=no
|
|
|
|
fi
|
|
|
|
|
|
|
|
dnl
|
2003-01-09 23:50:55 +00:00
|
|
|
dnl check whether plugins should be enabled; we don't set plugindir,
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
dnl as that's set by the top-level configure script
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH(plugins,
|
2003-08-21 07:20:56 +00:00
|
|
|
changequote(<<, >>)dnl
|
|
|
|
<< --with-plugins[=DIR] support plugins (installed in DIR, if supplied).>>,
|
|
|
|
changequote([, ])dnl
|
MacOS support changes, from Michael Tuexen (with some modifications):
replace "--with-plugindir" with "--with-plugins", and have the
plugin directory optional - this allows plugins to be disabled;
add "--traditional-cpp" on MacOS X/Darwin (Apple's "cc" compiler
requires it, for some annoying reason, even though it is, as far
as I know, GCC-based, and other GCC's don't require it);
on MacOS X, don't use "pcap_version[]", as, for some annoying
reason, libpcap on MacOS X doesn't define it.
Clean up some whitespace in the help messages for the configure script.
Move the AM_CONDITIONAL for SETUID_INSTALL after the point at which
"enable_setuid_install" is set, as it tests "enable_setuid_install".
svn path=/trunk/; revision=3788
2001-07-26 07:25:49 +00:00
|
|
|
[
|
|
|
|
case "$withval" in
|
|
|
|
"" | y | ye | yes )
|
|
|
|
;;
|
|
|
|
n | no)
|
|
|
|
have_plugins=no
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
]
|
|
|
|
)
|
|
|
|
|
|
|
|
AM_CONDITIONAL(HAVE_PLUGINS, test x$have_plugins = xyes)
|
|
|
|
if test x$have_plugins = xyes
|
|
|
|
then
|
2003-02-26 20:08:33 +00:00
|
|
|
AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
|
2001-05-01 02:44:52 +00:00
|
|
|
fi
|
|
|
|
|
2004-03-02 01:21:56 +00:00
|
|
|
AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
|
|
|
|
if test x$enable_static = xyes -a x$have_plugins = xyes
|
|
|
|
then
|
|
|
|
AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Ethereal])
|
|
|
|
fi
|
|
|
|
AC_SUBST(ENABLE_STATIC)
|
|
|
|
|
2001-02-01 20:21:25 +00:00
|
|
|
AC_OUTPUT(
|
|
|
|
Makefile
|
|
|
|
dfilter/Makefile
|
|
|
|
ftypes/Makefile
|
|
|
|
)
|