#
AC_PREREQ(2.60)
-AC_INIT(wireshark, 1.5.2)
+AC_INIT(wireshark, 1.7.0)
dnl Check for CPU / vendor / OS
dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
AC_SUBST(XMLLINT)
#
-# Set CLANG if the compiler is clang, to handle compiler options
-# supported both by GCC and clang. (This does *not* include
-# -no-cpp-precomp; clang says "clang: warning: argument unused during
-# compilation: '-no-cpp-precomp'" if you use it.)
+# Set "ac_supports_gcc_flags" if the compiler is known to support GCC-style
+# flags such as -pedantic, -W warning flags and -f feature flags. Currently,
+# we assume GCC and clang do; other compilers should be added here.
#
-if test "x$GCC" != "xyes" ; then
- if test "x$CC" = "xclang" ; then
- CLANG=yes
- fi
+# This is done to avoid getting tripped up by compilers that support
+# those flags but give them a different meaning.
+#
+if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
+ ac_supports_gcc_flags=yes
+fi
+
+#
+# Set "ac_supports_W_linker_passthrough" if the compiler is known to
+# support "-Wl,{options}" to pass options through to the linker.
+# Currently, we assume GCC, xlc, and clang do; other compilers should
+# be added here.
+#
+if test "x$GCC" = "xyes" -o "x$CC" = "xxlc" -o "x$CC" = "xclang" ; then
+ ac_supports_W_linker_passthrough=yes
+fi
+
+#
+# Set "ac_supports_attribute_unused" if the compiler is known to
+# support "__attribute__(unused)".
+# Currently, we assume GCC and clang do; other compilers should
+# be added here.
+#
+# XXX - do this with a compiler test?
+#
+if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
+ ac_supports_W_linker_passthrough=yes
fi
if test "x$CC_FOR_BUILD" = x
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
- AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
# for now.
#
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
+ #
+ # GLib blocks this for now.
+ #
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
+ #
+ # All the registration functions block these for now.
+ #
+ AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-prototypes)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
#
# epan/dissectors/packet-afs.c blocks this one for now.
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
-# Use the faster pre gcc 4.5 floating point precision
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wold-style-definition)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
+
+#
+# Use the faster pre gcc 4.5 floating point precision if available;
+# clang doesn't error out on -f options that it doesn't know about,
+# it just warns and ignores them, so this check doesn't cause us
+# to omit -fexcess-precision=fast, which produces a pile of
+# annoying warnings.
+#
+if test "x$CC" != "xclang" ; then
AC_WIRESHARK_GCC_CFLAGS_CHECK(-fexcess-precision=fast)
+fi
-AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed])
-###AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,-M])
-###AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--cref])
-# AC_WIRESHARK_GCC_LDFLAGS_CHECK([-flto])
-# AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr])
-# AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program])
+AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
+###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
+###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
+# AC_WIRESHARK_LDFLAGS_CHECK([-flto])
+# AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
+# AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
#
# If we're running GCC or clang, add '-D_U_="__attribute__((unused))"' to
#
# XXX - other compilers?
#
-if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
+if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
else
CFLAGS="-D_U_=\"\" $CFLAGS"
fi
#
-# If we're running GCC or clang, enable a barrier "stop on warning".
+# If the compiler supports GCC-style flags, enable a barrier "stop on
+# warning".
# This barrier is set for a very large part of the code. However, it is
# typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
#
AC_HELP_STRING( [--enable-warnings-as-errors],
[Treat warnings as errors (only for GCC or clang). @<:@default=yes@:>@]),
[
- if test \( "x$GCC" = "xyes" -o "x$CLANG" = "xyes" \) -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
+ if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
with_warnings_as_errors="yes"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
],
- if test \( "x$GCC" = "xyes" -o "x$CLANG" = "xyes" \) -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
+ if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
with_warnings_as_errors="yes"
AC_MSG_RESULT(yes)
else
#
# See comments above about Apple's lovely C compiler.
#
- CFLAGS="-no-cpp-precomp $CFLAGS"
- AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
+ # NOTE: to AC_PROG_CC, "GCC" means "any compiler that
+ # defines __GNUC__"; clang defines __GNUC__, so that
+ # means we think clang is GCC.
+ #
+ # clang whines about -no-cpp-precomp being unused
+ # so we check whether this is really clang, and
+ # only add -no-cpp-precomp if it's not.
+ #
+ if test "x$CC" != "xclang" ; then
+ CFLAGS="-no-cpp-precomp $CFLAGS"
+ AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
+ else
+ #
+ # Clang, clang, clang went the trolley....
+ #
+ AC_MSG_RESULT(none needed)
+ fi
;;
*)
AC_MSG_RESULT(none needed)
# apparently-legal code won't compile with its precompiled
# headers.
#
- CFLAGS="-no-cpp-precomp $CFLAGS"
- AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
+ # On the other hand, if it's called "clang", it's not a
+ # GCC derivative, and it whines if you pass it
+ # -no-cpp-precomp.
+ #
+ # XXX - is there any version of autoconf we support
+ # where it uses another way to decide if the compiler
+ # is GCC or not?
+ #
+ if test "x$CC" != "xclang" ; then
+ CFLAGS="-no-cpp-precomp $CFLAGS"
+ AC_MSG_RESULT(Apple CC - added -no-cpp-precomp)
+ else
+ #
+ # Clang, clang, clang went the trolley....
+ #
+ AC_MSG_RESULT(none needed)
+ fi
;;
*)
AC_MSG_RESULT(none needed)
[build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]),
enable_wireshark=$enableval,enable_wireshark=yes)
+AC_ARG_ENABLE(packet-editor,
+ AC_HELP_STRING( [--enable-packet-editor],
+ [add support for packet editor in wireshark. @<:@default=no@:>@]),
+ enable_packet_editor=$enableval,enable_packet_editor=no)
+if test x$enable_packet_editor = xyes; then
+ AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
+fi
+
AC_ARG_ENABLE(threads,
AC_HELP_STRING( [--enable-threads],
[use threads in wireshark. @<:@default=no@:>@]),
[
CFLAGS="$CFLAGS $GLIB_CFLAGS"
CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
- ], AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
+ ], AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gthread gmodule)
else
#
# We have GTK+, and thus will be building Wireshark unless the
wireshark_man="wireshark.1"
wireshark_SUBDIRS="codecs gtk"
# Don't use GLIB_CFLAGS
- AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
+ AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gthread gmodule)
fi
#
fi
dnl zlib check
-AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
+AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
AC_ARG_WITH(zlib,
AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
- [use zlib (located in directory DIR, if supplied) to read compressed data. @<:@default=yes, if available@:>@]),
+ [use zlib (located in directory DIR, if supplied) for gzip compression and decompression . @<:@default=yes, if available@:>@]),
[
if test $withval = no
then
AC_MSG_RESULT(yes)
AC_WIRESHARK_ZLIB_CHECK
if test "x$want_zlib" = "xno" ; then
- AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
+ AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
+ else
+ if test "x$ac_cv_func_inflatePrime" = "xno" ; then
+ AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
+ fi
fi
fi
-if test "x$want_zlib" != "xno" ; then
- AC_CHECK_LIB(z, gzclearerr,
- [
- AC_DEFINE(HAVE_GZCLEARERR, 1, [Define if we have gzclearerr])
- ])
-fi
-
dnl pcre check
AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
if test "x$withval" = "xyes"; then
AC_MSG_ERROR([No dumpcap group specified.])
elif test "x$withval" != "xno"; then
+ if test "x$enable_dumpcap" = "xno" ; then
+ AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
+ fi
AC_MSG_RESULT($withval)
DUMPCAP_GROUP="$withval"
fi