# $Id: configure.in,v 1.35 2003/01/21 02:12:37 gerald Exp $ 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) dnl Check for CPU / vendor / OS AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE(libethereal.a, 0.9.9) AM_CONFIG_HEADER(config.h) dnl Checks for programs. AC_PROG_CC AC_PROG_CPP AC_PROG_YACC AM_PROG_LEX AC_PROG_LIBTOOL AC_PATH_PROG(LEX, flex) AC_SUBST(FLEX_PATH) # # 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. # If "--with-extra-gcc-checks" was specified, add "-Wcast-qual # -Wcast-align" as well. (Add more checks here in the future?) # # Otherwise, add '-D_U_=""', so that _U_ used to flag an unused function # argument will compile with non-GCC compilers. # AC_ARG_WITH(extra-gcc-checks, [ --with-extra-gcc-checks Do additional -W checks in GCC. [default=no]], [ if test $withval != no then ethereal_extra_gcc_flags=" -Wcast-qual -Wcast-align" fi ],) AC_MSG_CHECKING(to see if we can add '-Wall -W$ethereal_extra_gcc_flags' to CFLAGS) if test x$GCC != x ; then CFLAGS="-D_U_=\"__attribute__((unused))\" -Wall -W$ethereal_extra_gcc_flags $CFLAGS" AC_MSG_RESULT(yes) else CFLAGS="-D_U_=\"\" $CFLAGS" AC_MSG_RESULT(no) fi # # 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) ;; 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) ;; *) AC_MSG_RESULT(none needed) ;; esac else case "$host_os" in darwin*) # # See comments above about Apple's lovely C compiler. # CFLAGS="-no-cpp-precomp $CFLAGS" AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp) ;; *) AC_MSG_RESULT(none needed) ;; esac fi # 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) AC_ARG_ENABLE(gtk2, [ --enable-gtk2 build Glib2/Gtk2+-based (t)ethereal. [default=no]],enable_gtk2=yes,enable_gtk2=no) 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 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) 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 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 #include #include #include 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_FUNC(strptime, , [AC_DEFINE(NEED_STRPTIME_H)]) # # 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 #include #include #include 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) have_plugins=yes else AC_MSG_RESULT(no) have_plugins=no fi dnl dnl check whether plugins should be enabled; we don't set plugindir, 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) fi AC_OUTPUT( Makefile dfilter/Makefile ftypes/Makefile )