X-Git-Url: https://git.distorted.org.uk/~mdw/tripe/blobdiff_plain/acde31755cf73ff75fdecabf00f2cfb482142d09..7631176f5c140b9c77fa865ef3b2287fd574e4d7:/configure.in diff --git a/configure.in b/configure.in index af41f1f8..b2049dcd 100644 --- a/configure.in +++ b/configure.in @@ -1,6 +1,6 @@ -dnl -*-fundamental-*- +dnl -*-autoconf-*- dnl -dnl $Id: configure.in,v 1.12 2003/07/13 11:54:40 mdw Exp $ +dnl $Id: configure.in,v 1.13 2003/10/15 09:30:18 mdw Exp $ dnl dnl Configuration script for TrIPE dnl @@ -28,6 +28,9 @@ dnl Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl ----- Revision history -------------------------------------------------- dnl dnl $Log: configure.in,v $ +dnl Revision 1.13 2003/10/15 09:30:18 mdw +dnl Add support for Ethereal protocol analysis. +dnl dnl Revision 1.12 2003/07/13 11:54:40 mdw dnl Version bump. dnl @@ -67,7 +70,9 @@ AM_INIT_AUTOMAKE(tripe, 1.0.0pre5) AM_CONFIG_HEADER(config.h) AC_CANONICAL_HOST +AC_PROG_MAKE_SET AC_PROG_CC +AM_PROG_LIBTOOL mdw_GCC_FLAGS([-Wall]) mdw_OPT_TRACE @@ -77,6 +82,16 @@ AC_ARG_WITH([linux-includes], [CFLAGS="$CFLAGS -I$withval"], [:]) +DIRS="" +AC_ARG_WITH([ethereal], +[ --with-ethereal build and install Ethereal plugin], +[case "$withval" in + no) ethereal=false;; + yes) ethereal='${prefix}/lib/ethereal/plugins';; + *) ethereal=$withval;; +esac], +[ethereal=false]) + case $host_os in linux*) case `uname -r` in @@ -103,8 +118,59 @@ esac AC_SUBST(tun) mdw_MLIB(2.0.0) -mdw_CATACOMB(2.0.0, [CFLAGS="$CFLAGS $CATACOMB_CFLAGS"]) +mdw_CATACOMB(2.0.1, [CFLAGS="$CFLAGS $CATACOMB_CFLAGS"]) + +if test "$ethereal" != false; then + AM_PATH_GLIB([1.2.0], [], AC_MSG_ERROR([failed to find GLib]), [gmodule]) + bad=true + mdw_CFLAGS=$CFLAGS + AC_CACHE_CHECK([how to find the Ethereal headers], + [mdw_cv_ethereal_includes], [ + for i in "" "-I/usr/include/ethereal"; do + CFLAGS="$GLIB_CFLAGS $i" + AC_TRY_COMPILE([ +#include +#include +#include +], [ + dissector_handle_t dh; + dh = creat_dissector_handle(0, 0); + ], [bad=false; break]) + done + if $bad; then + AC_MSG_ERROR([failed to find Ethereal headers]) + fi + mdw_cv_ethereal_includes=$i + CFLAGS=$mdw_CFLAGS + ]) + AC_CACHE_CHECK([whether the Ethereal headers are broken], + [mdw_cv_ethereal_buggered], [ + CFLAGS="$GLIB_CFLAGS $i" + AC_TRY_COMPILE([ +#include +#include +#include +#include +], [ + G_MODULE_EXPORT void plugin_init(plugin_address_table_t *pat) + { + plugin_address_table_init(pat); + } + ], [mdw_cv_ethereal_buggered=no], [mdw_cv_ethereal_buggered=yes]) + CFLAGS=$mdw_CFLAGS + ]) + if test $mdw_cv_ethereal_buggered = yes; then + AC_DEFINE(ETHEREAL_BUGGERED) + fi + + ETHEREAL_CFLAGS="$CFLAGS $GLIB_CFLAGS $mdw_cv_ethereal_includes" + ETHEREAL_PLUGIN_DIR=$ethereal + AC_SUBST(ETHEREAL_CFLAGS) + AC_SUBST(ETHEREAL_PLUGIN_DIR) + DIRS="$DIRS ethereal" +fi -AC_OUTPUT(Makefile doc/Makefile tripe-init) +AC_SUBST(DIRS) +AC_OUTPUT(Makefile doc/Makefile ethereal/Makefile tripe-init) dnl ----- That's all, folks -------------------------------------------------