2001-10-12 17:17:05 +00:00
|
|
|
# $Id: configure.in,v 1.13 2001/10/12 17:17:05 gerald Exp $
|
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
|
|
|
|
dnl Process this file with autoconf 2.13 or later to produce a
|
|
|
|
dnl configure script; 2.12 doesn't generate a "configure" script that
|
|
|
|
dnl defines SHELL, and "Makefile.in" has
|
|
|
|
dnl
|
|
|
|
dnl SHELL = @SHELL@
|
|
|
|
dnl
|
|
|
|
dnl which requires it to be defined - and there may be other problems
|
|
|
|
dnl with pre-2.13 "autoconf" as well.
|
|
|
|
dnl
|
|
|
|
AC_INIT(epan.c)
|
|
|
|
|
|
|
|
AC_PREREQ(2.13)
|
|
|
|
|
2001-10-12 17:17:05 +00:00
|
|
|
AM_INIT_AUTOMAKE(libethereal.a, 0.8.20)
|
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)
|
|
|
|
|
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 Check for CPU / vendor / OS
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
|
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
|
|
|
|
AC_PROG_RANLIB
|
|
|
|
AC_PATH_PROG(LEX, flex)
|
|
|
|
|
|
|
|
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
|
2001-07-13 00:55:58 +00:00
|
|
|
CFLAGS="-Wall -W -Wno-unused $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
|
|
|
|
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)
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
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*)
|
|
|
|
CFLAGS="-traditional-cpp $CFLAGS"
|
|
|
|
AC_MSG_RESULT(Apple cc compiler - added -traditional-cpp)
|
|
|
|
;;
|
|
|
|
*)
|
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
|
|
|
|
|
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
|
|
|
|
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)
|
|
|
|
|
|
|
|
# Checks for glib first, or gtk+ if not present
|
2001-05-01 02:44:52 +00:00
|
|
|
AM_PATH_GLIB(1.1.0, CFLAGS="$CFLAGS $GLIB_CFLAGS" LIBS="$LIBS $GLIB_LIBS", , gmodule)
|
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,
|
|
|
|
[ --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
|
|
|
|
|
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="",
|
|
|
|
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"
|
|
|
|
AC_DEFINE(NEED_INET_ATON_H)
|
|
|
|
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)
|
|
|
|
|
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
|
|
|
|
dnl check whether plugins should be enabled; we don't set PLUGIN_DIR,
|
|
|
|
dnl as that's set by the top-level configure script
|
|
|
|
dnl
|
|
|
|
AC_ARG_WITH(plugins,
|
|
|
|
[ --with-plugins=DIR support plugins (installed in DIR, if supplied)],
|
|
|
|
[
|
|
|
|
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
|
|
|
|
AC_DEFINE(HAVE_PLUGINS)
|
2001-05-01 02:44:52 +00:00
|
|
|
fi
|
|
|
|
|
2001-02-01 20:21:25 +00:00
|
|
|
AC_OUTPUT(
|
|
|
|
Makefile
|
|
|
|
dfilter/Makefile
|
|
|
|
ftypes/Makefile
|
|
|
|
)
|