# $Id$ # AC_INIT(wtap.c) AC_PREREQ(2.52) AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE(libwtap.a, 0.0.0) AM_CONFIG_HEADER(config.h) AM_DISABLE_STATIC 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 -Wcast-qual' 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-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 -Wbad-function-cast -pedantic -Wmissing-declarations -Wwrite-strings" fi ],) AC_MSG_CHECKING(to see if we can add '-Wall -W -Wcast-qual $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) ;; cygwin*) # # Shared libraries in cygwin/Win32 must never contain # undefined symbols. # LDFLAGS="$LDFLAGS -no-undefined" AC_MSG_RESULT(CygWin GCC - added -no-undefined to LDFLAGS) ;; *) AC_MSG_RESULT(none needed) ;; esac fi 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 AC_ARG_ENABLE(gtk2, [ --disable-gtk2 build Glib1/Gtk1+-based (t)ethereal. [default=no]],enable_gtk2=$enableval,enable_gtk2=yes) 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 Look in /usr/local for header files and libraries ? 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 "/usr/local/include", # as various packages we use ("libpcap", "zlib") may have been installed # under "/usr/local/include". # # We do this after checking for GLib, so that "-I/usr/local/include" # comes after any "-I" flags added by "AM_PATH_GLIB"; if the user has # installed a pre-1.2.9 version of GLib, it'd probably go under # "/usr/local", and if they then install 1.2.9 or later without # uninstalling the pre-1.2.9 version, 1.2.9's header files won't be # in "/usr/local/include" (they're put in a separate directory so that # GLib 1.2[.x] and 1.3[.x]/2.x can coexist), and if we search # "/usr/local/include" before searching the directory "AM_PATH_GLIB" # specifies, we may pick up headers from the older version. # CFLAGS="$CFLAGS -I/usr/local/include" CPPFLAGS="$CPPFLAGS -I/usr/local/include" # # Arrange that we search for libraries in "/usr/local/lib", as we'll # be testing whether zlib has gzgets, and we need to be able to find # zlib even if it's in "/usr/local/lib". # # We do this after checking for GLib; see above. # LDFLAGS="$LDFLAGS -L/usr/local/lib" else AC_MSG_RESULT(no) fi dnl Checks for header files AC_HEADER_STDC AC_CHECK_HEADERS(sys/time.h netinet/in.h unistd.h fcntl.h sys/stat.h sys/types.h) # We must know our byte order AC_C_BIGENDIAN # # Does GLib define G_GINT64_MODIFIER? # AC_MSG_CHECKING([[whether glib.h defines the G_GINT64_MODIFIER macro]]) AC_COMPILE_IFELSE( [ AC_LANG_SOURCE( [[ #include #if GTK_MAJOR_VERSION >= 2 #include #endif #include main() { char strbuf[16+1]; g_snprintf(strbuf, sizeof strbuf, "%" G_GINT64_MODIFIER "x\n", (gint64)1); } ]]) ], [ AC_MSG_RESULT(yes) ], [ AC_MSG_RESULT(no) AC_WIRETAP_CHECK_64BIT_FORMAT(ll, [ AC_WIRETAP_CHECK_64BIT_FORMAT(L, [ AC_WIRETAP_CHECK_64BIT_FORMAT(q, [ AC_MSG_ERROR([neither %llx nor %Lx nor %qx worked on a 64-bit integer]) ]) ]) ]) ]) # # Look for libpcap, so we can include in libpcap.c if it's # found. # # "--with-pcap" is merely done to allow the user to specify a directory # in which to look for (and so that specifying it to the # top-level Ethereal configure script specifies it to the Wiretap # configure script as well); we search for it regardless of whether # "--without-pcap" was specified, as Wiretap isn't linked with it and # there's no benefit to not looking for the header. # AC_ARG_WITH(pcap, [ --with-pcap=DIR libpcap is located in directory DIR.], [ if test $withval != yes -a $withval != no then pcap_dir=$withval fi ],[ pcap_dir= ]) AC_WIRETAP_PCAP_CHECK dnl zlib check AC_MSG_CHECKING(whether to use zlib for reading compressed capture files) AC_ARG_WITH(zlib, [ --with-zlib[=DIR] use zlib (located in directory DIR, if supplied) to read compressed data. [default=yes, if present]], [ if test $withval = no then want_zlib=no elif test $withval = yes then want_zlib=yes else want_zlib=yes zlib_dir=$withval fi ],[ # # Use zlib if it's present, otherwise don't. # want_zlib=ifpresent zlib_dir= ]) if test "x$want_zlib" = "xno" ; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) AC_WIRETAP_ZLIB_CHECK if test "x$want_zlib" = "xno" ; then AC_MSG_RESULT(zlib not found - disabling compressed capture file support) fi fi AC_OUTPUT(Makefile)