2001-07-13 00:55:58 +00:00
|
|
|
# $Id: configure.in,v 1.9 2001/07/13 00:55:53 guy 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-05-16 16:17:52 +00:00
|
|
|
AM_INIT_AUTOMAKE(libethereal.a, 0.8.18)
|
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)
|
|
|
|
|
|
|
|
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
|
|
|
|
AC_MSG_RESULT(none needed)
|
|
|
|
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)
|
|
|
|
|
|
|
|
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)
|
|
|
|
AC_DEFINE(HAVE_PLUGINS)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
|
2001-02-01 20:21:25 +00:00
|
|
|
AC_OUTPUT(
|
|
|
|
Makefile
|
|
|
|
dfilter/Makefile
|
|
|
|
ftypes/Makefile
|
|
|
|
)
|