2 # Autoconf script for Wireshark
6 # Define variables for the components of the Wireshark version number.
8 m4_define([version_major], [2])
9 m4_define([version_minor], [1])
10 m4_define([version_micro], [0])
11 dnl Updated by make-version.pl
12 m4_define([version_extra], [-git])
13 m4_define([version_micro_extra], m4_join([], version_micro, version_extra))
15 AC_INIT(Wireshark, [version_major.version_minor.version_micro_extra], http://bugs.wireshark.org/, , http://www.wireshark.org/)
19 # Minimum autoconf version we require.
21 # Variable expansion doesn't work in AC_PREREQ()
23 AC_SUBST(AC_MIN_VERSION)
25 dnl Make sure to keep ACLOCAL_AMFLAGS in Makefile.am and AC_CONFIG_MACRO_DIRS
26 dnl in configure.ac in sync, otherwise there will be an error running autogen.sh.
27 m4_ifdef([AC_CONFIG_MACRO_DIRS],[AC_CONFIG_MACRO_DIRS([m4])])
29 dnl Check for CPU / vendor / OS
30 dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
31 dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the
32 dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other
35 dnl As nothing in the Wireshark is itself a build tool (we are not,
36 dnl for example, a compiler that generates machine code), we probably
37 dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able
38 dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just
39 dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as
40 dnl lemon, that need to be built for the build machine, not for the
41 dnl host machine, so we might need both.
43 dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails.
45 dnl AC_CANONICAL_BUILD
49 AM_INIT_AUTOMAKE([1.11 tar-ustar dist-bzip2 no-dist-gzip subdir-objects])
51 # Enable silent builds by default. Verbose builds can be enabled with "./configure
52 # --enable-silent-rules ..." or "make V=1 ..."
53 AM_SILENT_RULES([yes])
55 # Make Wireshark's version available in config.h
56 AC_DEFINE(VERSION_MAJOR, version_major, [Wireshark's major version])
57 AC_DEFINE(VERSION_MINOR, version_minor, [Wireshark's minor version])
58 AC_DEFINE(VERSION_MICRO, version_micro, [Wireshark's micro version])
60 AC_DEFINE_UNQUOTED(VERSION_FLAVOR,
61 ["${WIRESHARK_VERSION_FLAVOR:-"Development Build"}"], [Wireshark's package flavor])
64 LT_INIT([disable-static dlopen])
65 AC_SUBST([LIBTOOL_DEPS])
67 AC_CONFIG_LIBOBJ_DIR([wsutil])
70 # Checks for programs used in the main build process.
73 if test "$ac_cv_prog_cc_stdc" = "no"
75 AC_MSG_ERROR([The C compiler does not support standard C])
80 if test ! -z "$CXX"; then
82 # OK, we found something AC_LANG_CXX thinks is a C++ compiler,
85 # Some UN*Xes have, by default, a case-insensitive file
86 # system, and AC_PROG_CXX looks for, among other things,
87 # "CC" as a C++ compiler, and, if you have a case-insensitive
88 # file system and a C compiler named "cc" (both true, by
89 # default, on OS X), AC_PROG_CXX may end up thinking it's
92 # So we check by feeding the purported C++ compiler a
93 # program using C++ features (iostream).
95 AC_MSG_CHECKING(whether $CXX is a C++ compiler)
97 AC_LINK_IFELSE([AC_LANG_PROGRAM(
102 std::cout << "Hello World! ";
105 [AC_MSG_RESULT(yes)],
113 # Set CC_FOR_BUILD (the *local* gcc to use for building e.g. lemon)
114 if test "x$cross_compiling" = xno -a -z "$CC_FOR_BUILD"; then
120 # Check for versions of "sed" inadequate to handle, in libtool, a list
121 # of object files as large as the list in Wireshark.
128 AC_PATH_PROG(PERL, perl)
131 AC_PATH_PROGS(PYTHON, python python3)
132 if test ! -z "$PYTHON"; then
134 # OK, we found Python; is it Python 2.5 or later?
135 # Note: we don't use named components for sys.version_info to get
136 # the major version number, as named components for version_info
137 # were apparently introduced in Python 2.7.
139 AC_MSG_CHECKING([whether $PYTHON is Python 2.5 or later])
140 python_major_version=`$PYTHON -c 'import sys; print (sys.version_info[[0]])'`
141 python_minor_version=`$PYTHON -c 'import sys; print (sys.version_info[[1]])'`
142 if test "$python_major_version" -eq 2 -a "$python_minor_version" -lt 5 ; then
144 AC_MSG_WARN([Building with Python $python_major_version.$python_minor_version may not work])
149 AC_MSG_ERROR(I couldn't find python; make sure it's installed and in your path)
153 dnl Check for yacc/lex. Distribution tarballs include generated source,
154 dnl in which case these tools are not a mandatory requirement to build.
157 AS_IF([test "x$YACC" = xyacc], [AS_UNSET(YACC)])
158 AS_IF([test -z "$YACC" -a ! -f $srcdir/wiretap/ascend.c],
159 [AC_MSG_ERROR([I couldn't find bison or byacc; make sure it's installed and in your path])])
160 AM_MISSING_PROG(YACC, bison)
162 AS_IF([test "x$LEX" != xflex], [AS_UNSET(LEX)])
163 AS_IF([test -z "$LEX" -a ! -f $srcdir/wiretap/ascend_scanner.c],
164 [AC_MSG_ERROR([I couldn't find flex; make sure it's installed and in your path])])
165 AM_MISSING_PROG(LEX, flex)
167 AC_PATH_PROG(POD2MAN, pod2man)
168 if test "x$POD2MAN" = x
171 # The alternative is not to build the man pages....
173 AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
175 AC_PATH_PROG(POD2HTML, pod2html)
176 if test "x$POD2HTML" = x
179 # The alternative is not to build the HTML man pages....
181 AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
185 # Set "ac_supports_gcc_flags" if the compiler is known to support GCC-style
186 # flags such as -pedantic, -W warning flags and -f feature flags. Currently,
187 # we assume GCC and clang do; other compilers should be added here.
189 # This is done to avoid getting tripped up by compilers that support
190 # those flags but give them a different meaning.
192 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
193 ac_supports_gcc_flags=yes
197 AC_PATH_PROG(DOXYGEN, doxygen)
198 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
199 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
202 # Check for pkg-config and set PKG_CONFIG accordingly.
204 # This is referenced via AC_REQUIRE([PKG_PROG_PKG_CONFIG] in some macros
205 # like PKG_CHECK_MODULES. If the first call to such a macro is under an
206 # "if" statement, it's safer to call PKG_PROG_PKG_CONFIG directly, see
207 # the comments in acolocal.m4
209 # We want version 0.7 or better. (XXX - explain why. Is that just
210 # because our Qt tests were originally based on AM_PATH_GTK, and *it*
211 # requires 0.7 or better?)
213 PKG_PROG_PKG_CONFIG(0.7)
214 if test -z "$PKG_CONFIG"; then
215 AC_MSG_ERROR(I couldn't find pkg-config; make sure it's installed and in your path)
219 # Add configure argument to select OSX deployment target.
221 AC_WIRESHARK_OSX_DEPLOY_TARGET
224 # Try to arrange for large file support.
229 # Check if we need to link with libm
231 AC_SEARCH_LIBS([cos], [m])
234 # Check for C99 math functions.
236 AC_CHECK_FUNCS([floorl lrint])
239 # Check if we need to link with -lnsl and -lsocket
244 # GUI toolkit options
247 AC_HELP_STRING( [--with-qt=@<:@yes/no/4/5@:>@],
248 [use Qt @<:@default=yes, if available@:>@]),
249 with_qt="$withval", with_qt="unspecified")
252 AC_HELP_STRING( [--with-gtk=@<:@yes/no/2/3@:>@],
253 [use GTK+ @<:@default=yes, if available@:>@]),
255 [yes], [with_gtk="3 2 fail"],
256 [no], [with_gtk="no"],
257 [3], [with_gtk="3 fail3"],
258 [2], [with_gtk="2 fail2"],
259 [AC_MSG_ERROR([--with-gtk must be one of yes/no/2/3])]),
263 # Version 3.0 switched from LGPLv2.1+ to LGPLv3+, then switched back to
264 # LGPLv2.1+ in version 3.1.10.
265 # GnuTLS depends on GMP which switched from LGPLv2.1+ to LGPLv3+ in
266 # version 4.2.2, the switched to LGPLv3+ / GPLv2+ in version 6.0.0.
269 want_gnutls="if_available"
270 AC_ARG_WITH([gnutls],
271 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
272 [use GnuTLS library @<:@default=yes, if available@:>@]),
273 [ with_gnutls="$withval"; want_gnutls="yes" ], with_gnutls="yes")
275 if test "x$with_gnutls" = "xyes"; then
276 have_license_compatible_gnutls="no"
277 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.1.10 ],
278 [ have_license_compatible_gnutls="yes" ], [ echo "GnuTLS >= 3.1.10 not found " ]
281 if test "x$have_license_compatible_gnutls" != "xyes"; then
282 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.12.0 gnutls < 3],
283 [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 2.12.0, < 3.0 not found " ]
287 if test "x$have_license_compatible_gnutls" != "xyes"; then
288 if test "x$want_gnutls" = "xyes"; then
289 AC_MSG_ERROR([GnuTLS crypto library was requested, but is not available])
291 AS_ECHO(["GnuTLS with compatible license not found, disabling SSL decryption"])
294 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use GnuTLS library])
301 want_gcrypt="if_available"
302 AC_ARG_WITH([gcrypt],
303 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
304 [use gcrypt library @<:@default=yes, if available@:>@]),
305 [ with_gcrypt="$withval"; want_gcrypt="yes" ], with_gcrypt="yes")
307 if test "x$with_gcrypt" = "xyes"; then
308 AM_PATH_LIBGCRYPT(1.4.2,
310 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
314 if test x$libgcrypt_config_prefix != x ; then
315 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
317 AS_ECHO(["libgcrypt not found, disabling decryption for ipsec, ssl, etc."])
321 # Error out if the user explicitly requested gcrypt
322 if test "x$want_gcrypt" = "xyes"; then
323 AC_MSG_ERROR([libgcrypt library was requested, but is not available])
330 AC_HELP_STRING([--with-libnl@<:@=VERSION@:>@],
331 [use libnl (force version VERSION, if supplied) @<:@default: yes, if available@:>@]),
333 if test "x$withval" = "xno"
336 elif test "x$withval" = "xyes"
340 elif test "x$withval" = "x1"
344 elif test "x$withval" = "x2"
348 elif test "x$withval" = "x3"
353 AC_MSG_ERROR(["$withval" is not a valid argument to --with-libnl])
357 # Use libnl if it's present, otherwise don't.
359 want_libnl=ifavailable
363 # Libnl is Linux-specific.
368 AC_MSG_CHECKING(whether to use libnl for various network interface purposes)
370 if test x$want_libnl = "xno"; then
375 # Test for specific libnl versions only if no version
376 # was specified by the user or if the version in question
377 # was requested by the user.
379 if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then
380 PKG_CHECK_EXISTS([libnl-3.0 libnl-route-3.0 libnl-genl-3.0], [have_libnl3=yes], [have_libnl3=no])
382 if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then
383 PKG_CHECK_EXISTS([libnl-2.0], [have_libnl2=yes], [have_libnl2=no])
385 if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then
386 PKG_CHECK_EXISTS([libnl-1], [have_libnl1=yes], [have_libnl1=no])
388 if (test "${have_libnl3}" = "yes"); then
389 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([LIBNL], [libnl-3.0 libnl-route-3.0 libnl-genl-3.0])
390 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
391 AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
392 libnl_message="yes (v3)"
393 elif (test "${have_libnl2}" = "yes"); then
394 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([LIBNL], [libnl-2.0])
395 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
396 AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
397 libnl_message="yes (v2)"
398 elif (test "${have_libnl1}" = "yes"); then
399 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([LIBNL], [libnl-1])
400 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
401 AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
402 libnl_message="yes (v1)"
404 if test x$want_libnl = "xyes"; then
405 case "$libnl_version" in
408 AC_MSG_ERROR("I couldn't find libnl even though you manually enabled it.")
412 AC_MSG_ERROR("I couldn't find libnl version $libnl_version even though you manually enabled it.")
419 AC_MSG_CHECKING([if nl80211.h is new enough])
420 AC_TRY_COMPILE([#include <linux/nl80211.h>],
421 [int x = NL80211_FREQUENCY_ATTR_MAX_TX_POWER;
422 x |= NL80211_ATTR_SUPPORTED_IFTYPES;
423 x |= NL80211_ATTR_SUPPORTED_COMMANDS;
424 x |= NL80211_ATTR_WIPHY_FREQ;
425 x |= NL80211_CHAN_NO_HT;
427 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211, 1, [nl80211.h is new enough])],
430 AC_MSG_CHECKING([for NL80211_SET_CHANNEL])
431 AC_TRY_COMPILE([#include <linux/nl80211.h>],
432 [enum nl80211_commands x = NL80211_CMD_SET_CHANNEL;],
433 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_CMD_SET_CHANNEL, 1, [SET_CHANNEL is supported])],
436 AC_MSG_CHECKING([for NL80211_SPLIT_WIPHY_DUMP])
437 AC_TRY_COMPILE([#include <linux/nl80211.h>],
438 [enum nl80211_protocol_features x = NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP;],
439 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_SPLIT_WIPHY_DUMP, 1, [SPLIT_WIPHY_DUMP is supported])],
442 AC_MSG_CHECKING([for NL80211_VHT_CAPABILITY])
443 AC_TRY_COMPILE([#include <linux/nl80211.h>],
444 [enum nl80211_attrs x = NL80211_ATTR_VHT_CAPABILITY;],
445 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_VHT_CAPABILITY, 1, [VHT_CAPABILITY is supported])],
450 if test x$want_libnl != "xno" -a x$want_libnl != "xifavailable"; then
451 AC_MSG_WARN([libnl is Linux-specific, ignoring --with-libnl])
456 # FIXME: currently the path argument to with-libsmi is being ignored
460 # Check for programs used when building DocBook documentation.
462 AC_CHECK_PROGS(XSLTPROC, xsltproc, xsltproc)
463 AC_CHECK_PROGS(A2X, a2x, a2x)
464 AC_CHECK_PROGS(FOP, fop, fop)
466 # HTML to text processor
467 AC_MSG_CHECKING([for an HTML to text processor])
468 AS_IF([w3m -version >&AS_MESSAGE_LOG_FD 2>&1], [have_a2x_text=w3m],
469 [lynx -version >&AS_MESSAGE_LOG_FD 2>&1], [have_a2x_text=lynx],
471 AC_MSG_RESULT([$have_a2x_text])
472 AM_CONDITIONAL(HAVE_A2X_TEXT, [test "x$have_a2x_text" != xno])
473 AS_IF([test $have_a2x_text = lynx], [A2X_LYNX="--lynx"])
476 # Check for packaging utilities
477 # For now, we check to see if the various packaging utilites are in our
478 # path. I'm too lazy to write code to go hunt for them. - Gerald
482 # (Lets you install the desktop files.)
484 AC_PATH_PROG(DESKTOP_FILE_INSTALL, desktop-file-install)
487 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
488 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
489 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
491 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
492 -a x$HAVE_PKGTRANS = xyes ; then
493 HAVE_SVR4_PACKAGING=yes
495 HAVE_SVR4_PACKAGING=no
497 AC_SUBST(HAVE_SVR4_PACKAGING)
501 # Looks for the rpmbuild program, and checks to see if we can redefine "_topdir".
503 AC_CHECK_PROGS(RPMBUILD, [rpmbuild], [false])
504 if test "x$RPMBUILD" != "xfalse" ; then
505 AC_MSG_CHECKING([to see if we can redefine _topdir])
506 rpm --define '_topdir /tmp' > /dev/null 2>&1
507 if test $? -eq 0 ; then
511 AC_MSG_RESULT([no, you'll have to build packages manually])
515 AM_CONDITIONAL(HAVE_RPM, [test "x$have_rpm" = xyes])
518 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
521 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
522 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
523 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
525 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
526 -a x$HAVE_BLESS = xyes ; then
527 HAVE_OSX_PACKAGING=yes
529 HAVE_OSX_PACKAGING=no
531 AC_SUBST(HAVE_OSX_PACKAGING)
534 # Use this as a proxy for "is this OS X" (just in case somebody actually
535 # built and installed Darwin as an OS, perhaps with some X11-based GUI,
536 # don't look for Darwin).
538 AC_CHECK_PROG(have_sw_vers, sw_vers, "yes", "no")
539 AM_CONDITIONAL(NOT_OS_X, test "x$have_sw_vers" = "xno")
542 # Check compiler vendor. For GCC this will be 'gnu' and for Clang 'clang'.
545 if test "x$CXX" != "x" ; then
552 # Some compilers have to be told to fail when passed an unknown -W flag;
553 # make sure we do that.
555 AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
558 # Some C++ compilers have to be told to fail when passed a -W flag that
559 # they don't think should apply to C++; make sure we do that.
561 AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
564 # The following are for C and C++
566 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall)
567 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra)
568 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels)
569 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith)
570 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
571 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
572 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
573 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
574 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
575 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
576 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
577 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
578 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
579 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
580 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
581 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
582 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
585 # The following are C only, not C++
587 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
588 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdeclaration-after-statement, C)
589 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunused-const-variable, C)
594 # Make sure -Wshadow doesn't complain about variables in function and
595 # function pointer declarations shadowing other variables; if not, don't
596 # turn it on, as some versions of GCC (including the one in at least
597 # some Xcode versions that came with Mac OS X 10.5) complain about
600 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshadow, C,
602 extern int bar(int a);
608 int (*fptr)(int a) = bar;
613 [warns about variables in function declarations shadowing other variables])
615 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
616 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
617 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
619 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
620 # is given a constant string.
621 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
622 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wlogical-op, C,
626 int foo(const char *, int);
630 foo(const char *sep, int c)
632 if (strchr (sep, c) != NULL)
641 return foo("<", 'a');
644 [generates warnings from strchr()])
646 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
647 # The Qt headers generate a ton of shortening errors on 64-bit systems
648 # so only enable this for C for now.
649 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
651 # Clang only. Avoid "argument unused during compilation" warnings
652 # (for example, when getting the -gsplit-dwarf option or
653 # when combining -fwrapv with -fno-strict-overflow)
654 if test x"$ax_cv_c_compiler_vendor" = xclang; then
655 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Qunused-arguments, C)
657 if test x"$ax_cv_cxx_compiler_vendor" = xclang; then
658 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Qunused-arguments, CXX)
662 # Use the faster pre gcc 4.5 floating point precision if available.
664 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
667 # Try to have the compiler default to hiding symbols, so that only
668 # symbols explicitly exported with WS_DLL_PUBLIC will be visible
669 # outside (shared) libraries; that way, more UN*X builds will catch
670 # failures to export symbols, rather than having that fail only on
673 # GCC and GCC-compatible compilers
675 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
676 if test "x$can_add_to_cflags" = "xno"
681 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
682 if test "x$can_add_to_cflags" = "xno"
684 # TODO add other ways of hiding symbols
685 AC_MSG_WARN(Compiler will export all symbols from shared libraries)
690 # Try to add some additional checks to CFLAGS.
691 # These are not enabled by default, because the warnings they produce
692 # are very hard or impossible to eliminate.
694 AC_ARG_ENABLE(extra-compiler-warnings,
695 AC_HELP_STRING( [--enable-extra-compiler-warnings],
696 [do additional compiler warnings @<:@default=no@:>@]),
698 wireshark_extra_flags=$enableval
699 if test $enableval != no
702 # The following are for C and C++
704 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpedantic)
706 # As we use variadic macros, we don't want warnings
707 # about them, even with -Wpedantic.
709 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-variadic-macros)
711 # Various code blocks this one.
713 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Woverflow)
714 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
716 # Due to various places where APIs we don't control
717 # require us to cast away constness, we can probably
718 # never enable this one with -Werror.
720 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-qual)
722 # Some generated ASN.1 dissectors block this one;
723 # multiple function declarations for the same
724 # function are being generated.
726 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wredundant-decls)
728 # Some loops are safe, but it's hard to convince the
731 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunsafe-loop-optimizations)
733 # All the registration functions block these for now.
735 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-prototypes)
736 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-declarations)
738 # A bunch of "that might not work on SPARC" code blocks
741 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-align)
743 # Works only with Clang
745 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunreachable-code)
747 # Works only with Clang but generates a lot of warnings
748 # (about glib library not using Doxygen)
750 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdocumentation)
753 # The following are C only, not C++
755 # Due to various places where APIs we don't control
756 # require us to cast away constness, we can probably
757 # never enable this one with -Werror.
759 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wbad-function-cast, C)
763 # Try to add ASAN address analyze.
764 # Only needed for analyse
767 AC_HELP_STRING( [--enable-asan],
768 [Enable AddressSanitizer (ASAN) for debugging (degrades performance)@<:@default=no@:>@]),
771 # With Clang >= 3.5 Leak detection is enable by default
772 # and no yet all leak is fixed...
773 # use ASAN_OPTIONS=detect_leaks=0 to disable detect_leaks
775 # XXX shouldn't this also be added to LDFLAGS?
776 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=address)
780 # Add check hf conflict..
782 AC_ARG_ENABLE(checkhf-conflict,
783 AC_HELP_STRING( [--enable-checkhf-conflict],
784 [Enable hf conflict check for debugging (start-up may be slower)@<:@default=no@:>@]),
786 AC_DEFINE(ENABLE_CHECK_FILTER, 1, [Enable hf conflict check])
789 AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
790 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
791 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
792 # AC_WIRESHARK_LDFLAGS_CHECK([-flto])
793 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
794 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
797 # Put -fPIE in PIE_CFLAGS and -pie in PIE_LDFLAGS if we can use them,
798 # so that we can build dumpcap PIE - it may run with elevated
799 # privileges, and using PIE means the OS can run it at random locations
800 # in the address space to make attacks more difficult.
803 WS_CFLAGS_saved="$WS_CFLAGS"
804 WS_LDFLAGS_saved="$WS_LDFLAGS"
805 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE, C)
806 if test "x$can_add_to_cflags" = "xyes"
808 AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
809 if test "x$can_add_to_ldflags" = "xyes"
816 WS_CFLAGS="$WS_CFLAGS_saved"
817 WS_LDFLAGS="$WS_LDFLAGS_saved"
819 AC_SUBST(PIE_LDFLAGS)
821 WS_CFLAGS_saved="$WS_CFLAGS"
822 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
823 if test "x$can_add_to_cflags" = "xyes"
826 # The compiler supports -msse4.2; use that to enable SSE 4.2.
828 # We only want to apply -msse4.2 to
829 # wsutil/ws_mempbrk_sse42.c, as the SSE4.2 code there
830 # is run only if the hardware supports it, but other
831 # code would do no such checks.
833 ac_sse4_2_flag=-msse4.2
836 # Try -xarch=sse4_2; that's the flag for Sun's compiler.
838 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xarch=sse4_2, C)
839 if test "x$can_add_to_cflags" = "xyes"
842 # The compiler supports -xarch=sse4_2; use that to
844 ac_sse4_2_flag=-xarch=sse4_2
847 WS_CFLAGS="$WS_CFLAGS_saved"
849 if test "x$ac_sse4_2_flag" != x; then
851 # OK, we have a compiler flag to enable SSE 4.2.
853 # Make sure we have the necessary headers for the SSE4.2 intrinsics
854 # and that we can use them.
856 # First, check whether we have emmintrin.h and can use it
857 # *without* the SSE 4.2 flag.
859 AC_MSG_CHECKING([whether there is emmintrin.h header and we can use it])
861 [#include <emmintrin.h>],
864 emmintrin_h_works=yes
874 # OK, if that works, see whether we have nmmintrin.h and
875 # can use it *with* the SSE 4.2 flag.
877 if test "x$emmintrin_h_works" = "xyes"; then
879 # Add the SSE4.2 flags to the beginning of CFLAGS,
880 # in case the user explicitly specified -mno-sse4.2
881 # (or in case Gentoo's build tools did so); if they
882 # did so, we only want this to work if we can use
883 # the #pragma to override that for ws_mempbrk_sse42.c,
884 # and putting it at the beginning means that the
885 # CFLAGS setting in the environment will come later
888 AC_MSG_CHECKING([whether there is nmmintrin.h header and we can use it])
889 saved_CFLAGS="$CFLAGS"
890 CFLAGS="$ac_sse4_2_flag $WS_CFLAGS $CFLAGS"
892 [#include <nmmintrin.h>],
896 AC_DEFINE(HAVE_SSE4_2, 1, [Support SSSE4.2 (Streaming SIMD Extensions 4.2) instructions])
897 CFLAGS_SSE42="$ac_sse4_2_flag"
905 CFLAGS="$saved_CFLAGS"
912 dnl build libwsutil_sse42 only if there is SSE4.2
913 AM_CONDITIONAL(SSE42_SUPPORTED, test "x$have_sse42" = "xyes")
914 AC_SUBST(CFLAGS_SSE42)
917 # If we're running GCC or clang define _U_ to be "__attribute__((unused))"
918 # so we can use _U_ to flag unused function parameters and not get warnings
919 # about them. Otherwise, define _U_ to be an empty string so that _U_ used
920 # to flag an unused function parameters will compile with other compilers.
922 # XXX - similar hints for other compilers?
924 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
925 AC_DEFINE(_U_, __attribute__((unused)), [Hint to the compiler that a function parameters is not used])
926 AC_DEFINE(WS_NORETURN, __attribute((noreturn)), [Hint to the compiler that a function never returns])
928 AC_DEFINE(_U_, , [Hint to the compiler that a function parameters is not used])
929 AC_DEFINE(WS_NORETURN, , [Hint to the compiler that a function never returns])
932 # If we're running GCC or CLang, use FORTIFY_SOURCE=2
933 # (only if the GCC 'optimization level' > 0).
935 # See: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
936 # See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979
938 # Note: FORTIFY_SOURCE is only effective for gcc optimization level > 0 (-O1, etc)
939 AC_WIRESHARK_GCC_FORTIFY_SOURCE_CHECK
942 # If the compiler supports GCC-style flags, enable a barrier "stop on
944 # This barrier is set for a very large part of the code. However, it is
945 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
947 warnings_as_errors_default="yes"
948 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
949 AC_ARG_ENABLE(warnings-as-errors,
950 AC_HELP_STRING( [--enable-warnings-as-errors],
951 [treat warnings as errors (only for GCC or clang) @<:@default=yes, unless extra compiler warnings are enabled@:>@]),
953 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes"; then
954 with_warnings_as_errors="yes"
957 with_warnings_as_errors="no"
962 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
963 with_warnings_as_errors="yes"
966 with_warnings_as_errors="no"
971 AS_IF([test "x$with_warnings_as_errors" = "xyes"], [WERROR="-Werror"], [WERROR=""])
973 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, [test "x$with_warnings_as_errors" = "xyes"])
976 # Add any platform-specific compiler flags needed.
978 AC_MSG_CHECKING(for platform-specific compiler flags)
979 if test "x$GCC" = "xyes" ; then
981 # GCC - do any platform-specific tweaking necessary.
985 # the X11 headers don't automatically include prototype info
986 # and a lot don't include the return type
987 WS_CPPFLAGS="$WS_CPPFLAGS -DFUNCPROTO=15"
988 WS_CFLAGS="$WS_CFLAGS -Wno-return-type"
989 WS_CXXFLAGS="$WS_CXXFLAGS -Wno-return-type"
990 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
993 AC_MSG_RESULT(none needed)
998 # Not GCC - assume it's the vendor's compiler.
1003 # AC_PROG_CC_STDC should already have added whatever
1004 # flags are necessary for ISO C - C99 if available,
1005 # otherwise C89 - with extensions.
1007 # Add +O2, for optimization, as suggested by Jost Martin.
1008 # XXX - works with "-g"?
1010 # +O2 is supported both by the C and C++ compiler.
1012 WS_CFLAGS="+O2 $WS_CFLAGS"
1013 if test "$CC" = "$CC_FOR_BUILD"; then
1015 # We're building the build tools with the same
1016 # compiler as the one with which we're building
1017 # Wireshark, so add the flags to the flags for
1018 # that compiler as well.
1020 CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
1022 WS_CXXFLAGS="+O2 $WS_CXXFLAGS"
1023 AC_MSG_RESULT(HP C/C++ compiler - added +O2)
1027 # Crank up the warning level.
1029 WS_CFLAGS="$WS_CFLAGS -v"
1030 WS_CXXFLAGS="$WS_CXXFLAGS +w2"
1033 AC_MSG_RESULT(none needed)
1039 # Add any platform-specific linker flags needed.
1041 AC_MSG_CHECKING(for platform-specific linker flags)
1045 # Add -Wl,-single_module to the LDFLAGS used with shared
1046 # libraries, to fix some error that show up in some cases;
1047 # some Apple documentation recommends it for most shared
1050 LDFLAGS_SHAREDLIB="-Wl,-single_module"
1052 # Add -Wl,-headerpad_max_install_names to the LDFLAGS, as
1053 # code-signing issues is running out of padding space.
1055 # Add -Wl,-search_paths_first to make sure that if we search
1056 # directories A and B, in that order, for a given library, a
1057 # non-shared version in directory A, rather than a shared
1058 # version in directory B, is chosen (so we can use
1059 # --with-pcap=/usr/local to force all programs to be linked
1060 # with a static version installed in /usr/local/lib rather than
1061 # the system version in /usr/lib).
1063 WS_LDFLAGS="-Wl,-headerpad_max_install_names -Wl,-search_paths_first $WS_LDFLAGS"
1064 AC_MSG_RESULT([Apple linker - added -Wl,-single_module to shared library linker flags and -Wl,-headerpad_max_install_names -Wl,-search_paths_first and -Wl,-headerpad_max_install_names to all linker flags])
1068 # Shared libraries in cygwin/Win32 must never contain
1069 # undefined symbols.
1071 WS_LDFLAGS="$WS_LDFLAGS -no-undefined"
1072 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
1075 AC_MSG_RESULT(none needed)
1078 AC_SUBST(LDFLAGS_SHAREDLIB)
1081 # On "Darwin", which we assume to mean "OS X" rather than "iOS" or
1082 # "just Darwin" (as we don't currently support iOS, and as I don't
1083 # think you can build and run "just Darwin" as an OS for PCs), we
1084 # arrange to build some programs with Application Services so they
1085 # can launch Web browsers and Finder windows, arrange to build some
1086 # programs with System Configuration so they can get "friendly names"
1087 # and other information about interfaces, and build any programs that
1088 # use either of those frameworks or that report version information
1089 # with Core Foundation as the frameworks in question use it and as we
1090 # get version information from plists and thus need Core Foundation
1091 # to process those plists.
1093 have_os_x_frameworks=no
1096 have_os_x_frameworks=yes
1097 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
1098 APPLICATIONSERVICES_FRAMEWORKS="-framework ApplicationServices"
1099 SYSTEMCONFIGURATION_FRAMEWORKS="-framework SystemConfiguration"
1100 COREFOUNDATION_FRAMEWORKS="-framework CoreFoundation"
1103 # OK, so we have the OS X frameworks; do they include
1104 # CFPropertyListCreateWithStream, or do we have
1105 # to fall back on CFPropertyListCreateFromStream?
1106 # (They only differ in the error return, which we
1107 # don't care about. And, no, we shouldn't just
1108 # use CFPropertyListCreateFromStream, because it's
1109 # deprecated in newer releases.)
1111 ac_save_LIBS="$LIBS"
1112 LIBS="$LIBS $COREFOUNDATION_FRAMEWORKS"
1113 AC_CHECK_FUNCS(CFPropertyListCreateWithStream)
1114 LIBS="$ac_save_LIBS"
1117 AC_SUBST(APPLICATIONSERVICES_FRAMEWORKS)
1118 AC_SUBST(SYSTEMCONFIGURATION_FRAMEWORKS)
1119 AC_SUBST(COREFOUNDATION_FRAMEWORKS)
1120 AM_CONDITIONAL(HAVE_OS_X_FRAMEWORKS, [test "x$have_os_x_frameworks" = "xyes"])
1123 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
1128 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
1129 if test x$LD_LIBRARY_PATH != x ; then
1130 LIBS="$LIBS -R$LD_LIBRARY_PATH"
1131 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
1133 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
1138 # Enable/disable wireshark
1139 AC_ARG_ENABLE(wireshark,
1140 AC_HELP_STRING( [--enable-wireshark],
1141 [build the Wireshark GUI (with Gtk+, Qt, or both) @<:@default=yes@:>@]),
1142 enable_wireshark=$enableval,enable_wireshark=yes)
1143 AM_CONDITIONAL(BUILDING_WIRESHARK, test x$enable_wireshark = xyes)
1145 AC_ARG_ENABLE(packet-editor,
1146 AC_HELP_STRING( [--enable-packet-editor],
1147 [add support for packet editor in Wireshark @<:@default=yes@:>@]),
1148 enable_packet_editor=$enableval,enable_packet_editor=yes)
1149 if test x$enable_packet_editor = xyes; then
1150 AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
1153 AC_ARG_ENABLE(profile-build,
1154 AC_HELP_STRING( [--enable-profile-build],
1155 [build profile-ready binaries @<:@default=no@:>@]),
1156 enable_profile_build=$enableval,enable_profile_build=no)
1157 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
1158 AC_MSG_CHECKING(if profile builds must be generated)
1159 if test "x$enable_profile_build" = "xyes" ; then
1160 if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
1162 WS_CFLAGS="-pg $WS_CFLAGS"
1163 WS_CXXFLAGS="-pg $WS_CXXFLAGS"
1166 echo "Building profile binaries currently only supported for GCC and clang."
1172 GLIB_MIN_VERSION=2.16.0
1173 AC_SUBST(GLIB_MIN_VERSION)
1174 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1175 # support, as we need that for dynamically loading plugins.
1177 # Release dates for GLib versions:
1178 # 2.14.0: 03 Aug 2007
1179 # 2.16.0: 10 Mar 2008
1180 # 2.18.0: 02 Sep 2008
1181 # 2.20.0: 13 Mar 2009
1182 # 2.22.0: 22 Sep 2009
1183 # 2.24.0: 28 Mar 2010
1184 # 2.26.0: 27 Sep 2010
1185 # 2.28.0: 08 Feb 2011
1186 # 2.30.0: 27 Sep 2011
1187 # 2.32.0: 24 Mar 2012
1188 # 2.34.0: 24 Sep 2012
1189 # 2.36.0: 25 Mar 2013
1190 # 2.38.0: 23 Sep 2013
1191 # 2.40.0: 24 Mar 2014
1192 # 2.42.0: 22 Sep 2014
1193 # 2.44.0: 23 Mar 2014
1194 # 2.46.0: 25 Sep 2015
1196 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GLIB],
1197 [glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1198 [GLIB_VERSION=`$PKG_CONFIG --modversion glib-2.0`],
1199 [AC_MSG_ERROR([GLib $GLIB_MIN_VERSION or later not found.])])
1201 # Error out if a glib header other than a "top level" header
1202 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1204 AX_APPEND_FLAG([-DG_DISABLE_SINGLE_INCLUDES], [GLIB_CONFIG])
1206 # Error out on the usage of deprecated glib functions
1207 AX_APPEND_FLAG([-DG_DISABLE_DEPRECATED], [GLIB_CONFIG])
1209 GLIB_CFLAGS="$GLIB_CONFIG $GLIB_CFLAGS"
1210 AC_SUBST(GLIB_CFLAGS)
1213 GTK2_MIN_VERSION=2.12.0
1214 AC_SUBST(GTK2_MIN_VERSION)
1215 GTK3_MIN_VERSION=3.0.0
1216 AC_SUBST(GTK3_MIN_VERSION)
1217 QT_MIN_VERSION=4.7.0
1218 AC_SUBST(QT_MIN_VERSION)
1219 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
1220 # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
1222 # We only do those if we're going to be building Wireshark;
1223 # otherwise, we don't have any GUI to build, so we don't use
1226 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
1227 # force all programs to be built with GTK+ or Qt.
1229 # Release dates for GTK+ versions:
1230 # https://en.wikipedia.org/wiki/GTK+#Releases
1231 # 2.12.0: 14 Sep 2007
1232 # 2.14.0: 04 Sep 2008
1233 # 2.16.0: 13 Mar 2009
1234 # 2.18.0: 23 Sep 2009
1235 # 2.20.0: 23 Mar 2010
1236 # 2.22.0: 23 Sep 2010
1237 # 2.24.0: 30 Jan 2011
1238 # 3.0.0: 10 Feb 2011
1239 # 3.2.0: 25 Sep 2011
1240 # 3.4.0: 26 Mar 2012
1241 # 3.6.0: 24 Sep 2012
1242 # 3.8.0: 25 Mar 2013
1243 # 3.10.0: 23 Sep 2013
1244 # 3.12.0: 25 Mar 2014
1245 # 3.14.0: 30 Sep 2014
1246 # 3.16.0: 22 Mar 2015
1247 # 3.18.0 22 Sep 2015
1249 # Release dates for Qt versions:
1250 # https://en.wikipedia.org/wiki/List_of_Qt_releases
1251 # 4.6.0: 01 Dec 2009
1252 # 4.7.0: 21 Sep 2010
1253 # 4.8.0: 15 Dec 2011
1254 # 5.0.0: 19 Dec 2012
1255 # 5.1.0: 03 Jul 2013
1256 # 5.2.0: 12 Dec 2013
1257 # 5.3.0: 20 May 2014
1258 # 5.4.0: 10 Dec 2015
1259 # 5.5.0: 01 Jul 2015
1263 if test "x$enable_wireshark" = "xyes"; then
1264 if test "x$with_qt" != "xno"; then
1266 # Qt was specified; make sure we have a C++ compiler.
1268 if test -z "$CXX"; then
1269 AC_MSG_ERROR(Need a working C++ compiler to build Wireshark with Qt)
1273 # Now make sure we have Qt and, if so, add the flags
1274 # for it to CFLAGS and CXXFLAGS.
1276 AC_WIRESHARK_QT_CHECK($QT_MIN_VERSION, "$with_qt",
1281 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
1284 # We're building with Qt, so we need the Qt build
1285 # tools in order to build the Wireshark GUI.
1286 # We've found a particular major version of Qt,
1287 # and we want that version's build tools; for
1288 # example, the Qt 4 version of uic produces files
1289 # that include Qt headers with paths that work
1290 # with Qt 4 but not Qt 5, so we can't use the
1291 # Qt 4 version of uic if we're building with Qt 5.
1292 AC_WIRESHARK_QT_TOOL_CHECK(UIC, uic, "$qt_version")
1294 AC_WIRESHARK_QT_TOOL_CHECK(MOC, moc, "$qt_version")
1296 AC_WIRESHARK_QT_TOOL_CHECK(RCC, rcc, "$qt_version")
1300 # On Darwin, find where the Qt frameworks are
1301 # located, and add that to the rpath, just in
1302 # case this is Qt 5.5 or later and the frameworks
1303 # have an install name that begins with @rpath
1304 # and aren't installed in a frameworks directory
1305 # that's searched by default.
1309 if test $qt_version -le 4
1311 Qt_LDFLAGS="-Wl,-rpath,"`$PKG_CONFIG --libs QtCore | sed -e 's/-F//' -e 's/ -framework.*//'`
1313 Qt_LDFLAGS="-Wl,-rpath,"`$PKG_CONFIG --libs Qt${qt_version}Core | sed -e 's/-F//' -e 's/ -framework.*//'`
1317 AC_SUBST(Qt_LDFLAGS)
1319 if test -z "${MOC_OPTIONS+1}"
1321 if test $qt_version -eq 5
1323 # Squelch moc verbose "nothing to do" output
1325 elif test $qt_version -eq 4
1327 qt_minor_version=`echo "$QT_VERSION" | cut -f2 -d.`
1328 if test $qt_minor_version -ge 8
1334 AC_SUBST(MOC_OPTIONS)
1341 # They didn't explicitly ask for Qt,
1342 # so just don't build with it.
1347 AC_MSG_ERROR([Qt is not available])
1351 AC_MSG_ERROR([Qt 4 is not available])
1355 AC_MSG_ERROR([Qt 5 is not available])
1361 for want_gtk_version in $with_gtk; do
1362 AS_CASE([$want_gtk_version],
1363 [3], [PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GTK],
1364 [gtk+-3.0 >= $GTK3_MIN_VERSION glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1367 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-3.0`
1368 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk=3"
1373 [2], [PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GTK],
1374 [gtk+-2.0 >= $GTK2_MIN_VERSION glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1377 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0`
1378 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk=2"
1383 [fail3], [AC_MSG_ERROR([GTK+ 3 was requested but is not available])],
1384 [fail2], [AC_MSG_ERROR([GTK+ 2 was requested but is not available])],
1385 [fail], [AC_MSG_ERROR([GTK+ was requested but is not available])])
1387 AS_IF([test "x$have_gtk" = xyes], [break])
1390 if test "$have_gtk" = "yes" ; then
1391 # If we have GTK then add flags for it.
1395 GTK_CONFIG="$GLIB_CONFIG"
1397 gtk_major_version=`echo $GTK_VERSION | cut -d. -f1`
1398 gtk_minor_version=`echo $GTK_VERSION | cut -d. -f2`
1400 AX_APPEND_FLAG([-DGDK_DISABLE_DEPRECATED], [GTK_CONFIG])
1401 if test \( $gtk_major_version -eq 3 -a $gtk_minor_version -ge 10 \) ; then
1402 ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
1403 ## The deprecations in Gtk 3.10 will not be fixed ...
1404 AX_APPEND_FLAG([-DGDK_DISABLE_DEPRECATION_WARNINGS], [GTK_CONFIG])
1406 AX_APPEND_FLAG([-DGTK_DISABLE_DEPRECATED], [GTK_CONFIG])
1408 AX_APPEND_FLAG([-DGTK_DISABLE_SINGLE_INCLUDES], [GTK_CONFIG])
1409 if test ! \( $gtk_major_version -eq 2 -a $gtk_minor_version -lt 20 \) ; then
1410 # Enable GSEAL when building with GTK > 2.20
1411 # (Versions prior to 2.22 lacked some necessary accessors.)
1412 AX_APPEND_FLAG([-DGSEAL_ENABLE], [GTK_CONFIG])
1415 GTK_CFLAGS="$GTK_CONFIG $GTK_CFLAGS"
1419 AC_SUBST(GTK_CFLAGS)
1421 AC_SUBST(GUI_CONFIGURE_FLAGS)
1423 # Check for GTK GUI support for GResource pixbufs
1424 have_gresource_pixbuf=no
1425 if test "x$have_gtk" = "xyes"; then
1426 AC_MSG_CHECKING(whether GDK-Pixbuf can load data using GResource)
1427 PKG_CHECK_EXISTS([gio-2.0 >= 2.32 gdk-pixbuf-2.0 >= 2.26],
1430 AC_DEFINE(HAVE_GDK_GRESOURCE, 1, [Defined if GResource is supported])
1431 have_gresource_pixbuf=yes
1433 [AC_MSG_RESULT(no)])
1435 AM_CONDITIONAL(HAVE_GRESOURCE_PIXBUF, test "x$have_gresource_pixbuf" = "xyes")
1437 if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
1438 # We have both GTK and Qt and thus will be building both wireshark
1439 # and wireshark-gtk.
1441 wireshark_bin="wireshark\$(EXEEXT) wireshark-gtk\$(EXEEXT)"
1442 wireshark_man="wireshark.1"
1443 wireshark_SUBDIRS="codecs ui/qt ui/gtk"
1445 if test "$have_gtk" = "no" -a "$have_qt" = "yes" ; then
1446 # We don't have GTK+ but we have Qt.
1448 wireshark_bin="wireshark\$(EXEEXT)"
1449 wireshark_man="wireshark.1"
1450 wireshark_SUBDIRS="codecs ui/qt"
1452 if test "$have_gtk" = "yes" -a "$have_qt" = "no" ; then
1453 # We have GTK+ but not Qt.
1455 wireshark_bin="wireshark-gtk\$(EXEEXT)"
1456 wireshark_man="wireshark.1"
1457 wireshark_SUBDIRS="codecs ui/gtk"
1458 OSX_APP_FLAGS="$OSX_APP_FLAGS -gtk"
1459 OSX_DMG_FLAGS="-gtk"
1461 if test "$have_gtk" = "no" -a "$have_qt" = "no" ; then
1462 # We have neither GTK+ nor Qt.
1464 # If they didn't explicitly say "--disable-wireshark",
1465 # fail (so that, unless they explicitly indicated that
1466 # they don't want Wireshark, we stop so they know they
1467 # won't be getting Wireshark unless they fix the GTK+/Qt
1470 if test "x$enable_wireshark" = "xyes"; then
1471 AC_MSG_ERROR([Neither Qt nor GTK+ are available, so Wireshark can't be compiled])
1475 wireshark_SUBDIRS=""
1479 # Check whether GLib modules are supported, to determine whether we
1480 # can support plugins.
1483 AC_CACHE_CHECK([whether GLib supports loadable modules],
1484 [ac_cv_glib_supports_modules], [
1485 ac_save_CFLAGS="$CFLAGS"
1486 ac_save_LIBS="$LIBS"
1487 CFLAGS="$WS_CFLAGS $GLIB_CFLAGS $CFLAGS"
1488 LIBS="$LIBS $GLIB_LIBS"
1491 #include <gmodule.h>
1498 if (g_module_supported())
1499 return 0; /* success */
1501 return 1; /* failure */
1503 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
1504 [echo $ac_n "cross compiling; assumed OK... $ac_c"
1505 ac_cv_glib_supports_modules=yes])
1506 CFLAGS="$ac_save_CFLAGS"
1507 LIBS="$ac_save_LIBS"
1509 if test "$ac_cv_glib_supports_modules" = yes ; then
1511 plugins_dir="plugins"
1516 AC_SUBST(plugins_dir)
1519 # If we have <dlfcn.h>, check whether we have dladdr.
1521 if test "$ac_cv_header_dlfcn_h" = "yes"
1524 # Use GLib compiler flags and linker flags; GLib's gmodule
1525 # stuff uses the dl APIs if available, so it might know
1526 # what flags are needed.
1528 ac_save_CFLAGS="$CFLAGS"
1529 ac_save_LIBS="$LIBS"
1530 CFLAGS="$WS_CFLAGS $GLIB_CFLAGS $CFLAGS"
1531 LIBS="$LIBS $GLIB_LIBS"
1532 AC_CHECK_FUNCS(dladdr)
1533 if test x$ac_cv_func_dladdr = xno
1536 # OK, try it with -ldl, in case you need that to get
1537 # dladdr(). For some reason, on Linux, that's not
1538 # part of the GLib flags; perhaps GLib itself is
1539 # linked with libdl, so that you can link with
1540 # Glib and it'll pull libdl in itself.
1543 AC_CHECK_FUNCS(dladdr)
1545 CFLAGS="$ac_save_CFLAGS"
1546 LIBS="$ac_save_LIBS"
1550 # Check whether GLib's printf supports thousands grouping. (This might
1551 # be different from the system's printf since GLib can optionally use
1552 # its own printf implementation.)
1554 AC_CACHE_CHECK([whether GLib supports POSIX/XSI thousands grouping],
1555 [ac_cv_glib_supports_printf_grouping], [
1556 ac_save_CFLAGS="$CFLAGS"
1557 ac_save_LIBS="$LIBS"
1558 CFLAGS="$WS_CFLAGS $GLIB_CFLAGS $CFLAGS"
1559 LIBS="$LIBS $GLIB_LIBS"
1570 setlocale(LC_ALL, "en_US.UTF-8");
1571 str = g_strdup_printf("%'u", 123456);
1572 return (strcmp (str, "123,456") != 0);
1574 ], ac_cv_glib_supports_printf_grouping=yes, ac_cv_glib_supports_printf_grouping=no,
1575 [echo $ac_n "cross compiling; playing it safe... $ac_c"
1576 ac_cv_glib_supports_printf_grouping=no])
1577 CFLAGS="$ac_save_CFLAGS"
1578 LIBS="$ac_save_LIBS"
1580 if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
1581 AC_DEFINE(HAVE_GLIB_PRINTF_GROUPING, 1, [Define if GLib's printf functions support thousands grouping.])
1584 if test "x$have_gtk" = "xyes"
1587 # We have GTK+; do we want the OS X integration functions and,
1588 # if so, do we have them and, if so, which versions do we have,
1589 # the old Carbon-based ones or the new Cocoa-based ones?
1591 AC_MSG_CHECKING(whether to use OS X integration functions)
1593 AC_ARG_WITH(osx-integration,
1594 AC_HELP_STRING( [--with-osx-integration],
1595 [use OS X integration functions @<:@default=yes, if available@:>@]),
1597 if test $withval = no
1599 want_osx_integration=no
1601 want_osx_integration=yes
1604 want_osx_integration=yes
1606 if test "x$want_osx_integration" = "xno"; then
1610 AC_WIRESHARK_OSX_INTEGRATION_CHECK
1614 AC_SUBST(wireshark_bin)
1615 AC_SUBST(wireshark_man)
1616 AC_SUBST(wireshark_SUBDIRS)
1617 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1618 AM_CONDITIONAL(HAVE_GTK, test "$have_gtk" = "yes")
1619 AC_SUBST(OSX_APP_FLAGS)
1620 AC_SUBST(OSX_DMG_FLAGS)
1622 # Enable/disable tshark
1623 AC_ARG_ENABLE(tshark,
1624 AC_HELP_STRING( [--enable-tshark],
1625 [build tshark @<:@default=yes@:>@]),
1626 tshark=$enableval,enable_tshark=yes)
1628 if test "x$enable_tshark" = "xyes" ; then
1629 tshark_bin="tshark\$(EXEEXT)"
1630 tshark_man="tshark.1"
1631 wiresharkfilter_man="wireshark-filter.4"
1636 AC_SUBST(tshark_bin)
1637 AC_SUBST(tshark_man)
1639 # Enable/disable editcap
1641 AC_ARG_ENABLE(editcap,
1642 AC_HELP_STRING( [--enable-editcap],
1643 [build editcap @<:@default=yes@:>@]),
1644 enable_editcap=$enableval,enable_editcap=yes)
1646 if test "x$enable_editcap" = "xyes" ; then
1647 editcap_bin="editcap\$(EXEEXT)"
1648 editcap_man="editcap.1"
1653 AC_SUBST(editcap_bin)
1654 AC_SUBST(editcap_man)
1657 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1660 # Enable/disable capinfos
1662 AC_ARG_ENABLE(capinfos,
1663 AC_HELP_STRING( [--enable-capinfos],
1664 [build capinfos @<:@default=yes@:>@]),
1665 enable_capinfos=$enableval,enable_capinfos=yes)
1667 if test "x$enable_capinfos" = "xyes" ; then
1668 capinfos_bin="capinfos\$(EXEEXT)"
1669 capinfos_man="capinfos.1"
1674 AC_SUBST(capinfos_bin)
1675 AC_SUBST(capinfos_man)
1677 # Enable/disable captype
1679 AC_ARG_ENABLE(captype,
1680 AC_HELP_STRING( [--enable-captype],
1681 [build captype @<:@default=yes@:>@]),
1682 enable_captype=$enableval,enable_captype=yes)
1684 if test "x$enable_captype" = "xyes" ; then
1685 captype_bin="captype\$(EXEEXT)"
1686 captype_man="captype.1"
1691 AC_SUBST(captype_bin)
1692 AC_SUBST(captype_man)
1694 # Enable/disable mergecap
1696 AC_ARG_ENABLE(mergecap,
1697 AC_HELP_STRING( [--enable-mergecap],
1698 [build mergecap @<:@default=yes@:>@]),
1699 enable_mergecap=$enableval,enable_mergecap=yes)
1701 if test "x$enable_mergecap" = "xyes" ; then
1702 mergecap_bin="mergecap\$(EXEEXT)"
1703 mergecap_man="mergecap.1"
1708 AC_SUBST(mergecap_bin)
1709 AC_SUBST(mergecap_man)
1711 # Enable/disable reordercap
1713 AC_ARG_ENABLE(reordercap,
1714 AC_HELP_STRING( [--enable-reordercap],
1715 [build reordercap @<:@default=yes@:>@]),
1716 enable_reordercap=$enableval,enable_reordercap=yes)
1718 if test "x$enable_reordercap" = "xyes" ; then
1719 reordercap_bin="reordercap\$(EXEEXT)"
1720 reordercap_man="reordercap.1"
1725 AC_SUBST(reordercap_bin)
1726 AC_SUBST(reordercap_man)
1728 # Enable/disable text2pcap
1730 AC_ARG_ENABLE(text2pcap,
1731 AC_HELP_STRING( [--enable-text2pcap],
1732 [build text2pcap @<:@default=yes@:>@]),
1733 text2pcap=$enableval,enable_text2pcap=yes)
1735 if test "x$enable_text2pcap" = "xyes" ; then
1736 text2pcap_bin="text2pcap\$(EXEEXT)"
1737 text2pcap_man="text2pcap.1"
1742 AC_SUBST(text2pcap_bin)
1743 AC_SUBST(text2pcap_man)
1745 # Enable/disable dftest
1747 AC_ARG_ENABLE(dftest,
1748 AC_HELP_STRING( [--enable-dftest],
1749 [build dftest @<:@default=yes@:>@]),
1750 enable_dftest=$enableval,enable_dftest=yes)
1752 if test "x$enable_dftest" = "xyes" ; then
1753 dftest_bin="dftest\$(EXEEXT)"
1754 dftest_man="dftest.1"
1759 AC_SUBST(dftest_bin)
1760 AC_SUBST(dftest_man)
1762 # Enable/disable randpkt
1764 AC_ARG_ENABLE(randpkt,
1765 AC_HELP_STRING( [--enable-randpkt],
1766 [build randpkt @<:@default=yes@:>@]),
1767 enable_randpkt=$enableval,enable_randpkt=yes)
1769 if test "x$enable_randpkt" = "xyes" ; then
1770 randpkt_bin="randpkt\$(EXEEXT)"
1771 randpkt_man="randpkt.1"
1776 AC_SUBST(randpkt_bin)
1777 AC_SUBST(randpkt_man)
1779 AC_SUBST(wiresharkfilter_man)
1782 AC_MSG_CHECKING(whether to use libpcap for packet capture)
1785 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
1786 [use libpcap for packet capturing @<:@default=yes@:>@]),
1788 if test $withval = no
1791 elif test $withval = yes
1802 if test "x$want_pcap" = "xno" ; then
1806 AC_WIRESHARK_PCAP_CHECK
1810 AC_MSG_CHECKING(whether to build dumpcap)
1812 AC_ARG_ENABLE(dumpcap,
1813 AC_HELP_STRING( [--enable-dumpcap],
1814 [build dumpcap @<:@default=yes@:>@]),
1815 enable_dumpcap=$enableval,enable_dumpcap=yes)
1817 if test "x$enable_dumpcap" = "xyes" ; then
1818 if test "x$want_pcap" = "xno" ; then
1820 AC_MSG_RESULT(pcap not available - disabling dumpcap)
1828 if test "x$enable_dumpcap" = "xyes" ; then
1829 dumpcap_bin="dumpcap\$(EXEEXT)"
1830 dumpcap_man="dumpcap.1"
1835 AC_SUBST(dumpcap_bin)
1836 AC_SUBST(dumpcap_man)
1838 # Enable/disable rawshark
1841 AC_MSG_CHECKING(whether to build rawshark)
1843 AC_ARG_ENABLE(rawshark,
1844 AC_HELP_STRING( [--enable-rawshark],
1845 [build rawshark @<:@default=yes@:>@]),
1846 rawshark=$enableval,enable_rawshark=yes)
1848 if test "x$enable_rawshark" = "xyes" ; then
1849 if test "x$want_pcap" = "xno" ; then
1851 AC_MSG_RESULT(pcap not available - disabling rawshark)
1859 if test "x$enable_rawshark" = "xyes" ; then
1860 rawshark_bin="rawshark\$(EXEEXT)"
1861 rawshark_man="rawshark.1"
1866 AC_SUBST(rawshark_bin)
1867 AC_SUBST(rawshark_man)
1869 # Enable/disable echld
1870 AC_ARG_ENABLE(echld,
1871 AC_HELP_STRING( [--enable-echld],
1872 [support echld (Experimental) @<:@default=no@:>@]),
1873 have_echld=$enableval,have_echld=no)
1875 AM_CONDITIONAL(HAVE_ECHLD, test "x$have_echld" = "xyes")
1876 if test "x$have_echld" = "xyes"
1878 AC_DEFINE(HAVE_ECHLD, 1, [Define if echld is enabled])
1879 echld_test_bin="echld_test\$(EXEEXT)"
1886 AC_SUBST(echld_test_bin)
1889 # Enable/disable tfshark
1890 AC_ARG_ENABLE(tfshark,
1891 AC_HELP_STRING( [--enable-tfshark],
1892 [build tfshark (Experimental) @<:@default=no@:>@]),
1893 tfshark=$enableval,enable_tfshark=no)
1895 if test "x$enable_tfshark" = "xyes" ; then
1896 tfshark_bin="tfshark\$(EXEEXT)"
1897 tfshark_man="tfshark.1"
1898 wiresharkfilter_man="wireshark-filter.4"
1903 AC_SUBST(tfshark_bin)
1904 AC_SUBST(tfshark_man)
1907 dnl Use pcap-ng by default
1908 AC_ARG_ENABLE(pcap-ng-default,
1909 AC_HELP_STRING( [--enable-pcap-ng-default],
1910 [use the pcap-ng file format by default instead of pcap @<:@default=yes@:>@]),
1911 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
1912 if test x$enable_pcap_ng_default = xyes; then
1913 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcap-ng])
1916 dnl pcap remote check
1917 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1919 AC_ARG_WITH(pcap-remote,
1920 AC_HELP_STRING([--with-pcap-remote],
1921 [use libpcap remote capturing (requires libpcap)]),
1923 if test $withval = no
1927 want_pcap_remote=yes
1932 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1936 AC_WIRESHARK_PCAP_REMOTE_CHECK
1940 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
1943 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
1944 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
1946 if test "x$withval" = "xno"
1949 elif test "x$withval" = "xyes"
1958 # Use zlib if it's present, otherwise don't.
1960 want_zlib=ifavailable
1963 if test "x$want_zlib" = "xno" ; then
1967 AC_WIRESHARK_ZLIB_CHECK
1968 if test "x$want_zlib" = "xno" ; then
1969 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
1971 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
1972 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
1979 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1980 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
1982 if test $withval = no
1985 elif test $withval = yes
1990 want_lua_dir=$withval
1993 # By default use Lua if we can find it
1994 want_lua=ifavailable
1997 if test "x$want_lua" != "xno" ; then
1998 AC_WIRESHARK_LIBLUA_CHECK
2000 if test "x$want_lua" = "xyes" -a "x$have_lua" = "xno"
2002 AC_MSG_ERROR([Lua support was requested, but is not available])
2005 if test "x$have_lua" = "xyes"
2007 AC_DEFINE(HAVE_LUA, 1, [Define to use Lua])
2009 AM_CONDITIONAL(HAVE_LIBLUA, test x$have_lua = xyes)
2011 AC_SUBST(LUA_CFLAGS)
2015 AC_MSG_CHECKING(whether to use libportaudio for the GTK+ RTP player)
2017 AC_ARG_WITH(portaudio,
2018 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
2019 [use libportaudio (located in directory DIR, if supplied) for the GTK+ RTP player @<:@default=yes, if available@:>@]),
2021 if test $withval = no
2024 elif test $withval = yes
2029 portaudio_dir=$withval
2033 # Use libportaudio by default
2035 want_portaudio=ifavailable
2038 if test "x$want_portaudio" = "xno" ; then
2042 AC_WIRESHARK_LIBPORTAUDIO_CHECK
2043 if test "x$want_portaudio" = "xno" ; then
2044 AC_MSG_RESULT(libportaudio not found - disabling support for the GTK+ RTP player)
2047 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
2050 dnl Check if dumpcap should be installed with filesystem capabilities
2051 AC_PATH_PROG(SETCAP, setcap)
2052 AC_ARG_ENABLE(setcap-install,
2053 AC_HELP_STRING( [--enable-setcap-install],
2054 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
2055 enable_setcap_install=$enableval,enable_setcap_install=no)
2057 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
2058 if test "x$enable_setcap_install" = "xno" ; then
2061 if test "x$SETCAP" = "x" ; then
2062 AC_MSG_RESULT(setcap not found)
2063 AC_MSG_ERROR([Setcap install was requested, but setcap was not found])
2064 elif test "x$enable_dumpcap" = "xno" ; then
2065 AC_MSG_RESULT(dumpcap disabled)
2066 AC_MSG_ERROR([Setcap install works only with dumpcap, but dumpcap is disabled])
2072 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
2074 dnl Check if dumpcap should be installed setuid
2075 AC_ARG_ENABLE(setuid-install,
2076 AC_HELP_STRING( [--enable-setuid-install],
2077 [install dumpcap as setuid @<:@default=no@:>@]),
2078 enable_setuid_install=$enableval,enable_setuid_install=no)
2080 AC_MSG_CHECKING(whether to install dumpcap setuid)
2081 if test "x$enable_setuid_install" = "xno" ; then
2084 if test "x$enable_setcap_install" = "xyes" ; then
2085 enable_setuid_install=no
2086 AC_MSG_RESULT(setcap and setuid both selected)
2087 AC_MSG_ERROR(You must choose one of setcap install and setuid install)
2088 elif test "x$enable_dumpcap" = "xno" ; then
2089 AC_MSG_RESULT(dumpcap disabled)
2090 AC_MSG_ERROR([Setuid install works only with dumpcap, but dumpcap is disabled])
2096 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
2097 AC_CHECK_FUNCS(setresuid setresgid)
2099 dnl ...but our Network Operations group is named "no"!
2101 AC_ARG_WITH(dumpcap-group,
2102 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
2103 [restrict dumpcap to GROUP]),
2105 if test "x$withval" = "xyes"; then
2106 AC_MSG_ERROR([No dumpcap group specified.])
2107 elif test "x$withval" != "xno"; then
2108 if test "x$enable_dumpcap" = "xno" ; then
2109 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
2111 AC_MSG_RESULT($withval)
2112 DUMPCAP_GROUP="$withval"
2115 AC_SUBST(DUMPCAP_GROUP)
2116 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
2118 dnl libcap (not libpcap) check
2120 AC_MSG_CHECKING(whether to use the libcap capabilities library)
2123 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
2124 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
2126 if test "x$withval" = "xno"; then
2128 elif test "x$withval" = "xyes"; then
2130 elif test -d "$withval"; then
2132 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2135 if test "x$with_libcap" = "xno" ; then
2139 AC_WIRESHARK_LIBCAP_CHECK
2141 AC_SUBST(LIBCAP_LIBS)
2143 dnl Checks for header files.
2144 dnl Some of these may not be needed: http://hacks.owlfolio.org/header-survey/
2145 dnl Note, however, that, whilst this script is generally run only on UN*Xes:
2147 dnl 1) we also support building on and for Windows and not all of those
2148 dnl headers are present on Windows, so the code has to check a
2149 dnl #define *anyway* to determine whether to include the header
2154 dnl 2) this might also be run on Windows with a sufficiently UNIXy
2155 dnl environment such as Cygwin (although Wireshark should be built
2156 dnl natively rather than using Cygwin).
2158 AC_CHECK_HEADERS(fcntl.h getopt.h grp.h inttypes.h netdb.h pwd.h unistd.h)
2159 AC_CHECK_HEADERS(sys/ioctl.h sys/param.h sys/socket.h sys/sockio.h sys/stat.h sys/time.h sys/types.h sys/utsname.h sys/wait.h)
2160 AC_CHECK_HEADERS(netinet/in.h)
2161 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
2162 AC_CHECK_HEADERS(ifaddrs.h)
2165 # On Linux, check for some additional headers, which we need as a
2166 # workaround for a bonding driver bug and for libpcap's current lack
2167 # of its own workaround for that bug.
2171 AC_CHECK_HEADERS(linux/sockios.h linux/if_bonding.h,,,[#include <sys/socket.h>])
2177 AC_MSG_CHECKING(whether to use SSL library)
2180 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
2181 [use SSL crypto library (located in directory DIR, if supplied) @<:@default=no@:>@]),
2183 if test "x$withval" = "xno"; then
2185 elif test "x$withval" = "xyes"; then
2187 elif test -d "$withval"; then
2189 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2194 if test "x$want_ssl" = "xyes"; then
2196 AC_CHECK_LIB(crypto,EVP_md5,
2201 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
2209 AC_MSG_CHECKING(whether to use Kerberos library)
2212 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
2213 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
2215 if test $withval = no
2218 elif test $withval = yes
2227 # Use Kerberos library if available, otherwise don't.
2229 want_krb5=ifavailable
2232 if test "x$want_krb5" = "xno" ; then
2236 AC_WIRESHARK_KRB5_CHECK
2242 AC_MSG_CHECKING(whether to use the c-ares library if available)
2245 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
2246 [use c-ares (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2248 if test "x$withval" = "xno"; then
2250 elif test "x$withval" = "xyes"; then
2252 elif test -d "$withval"; then
2254 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2257 if test "x$want_c_ares" = "xno" ; then
2261 AC_WIRESHARK_C_ARES_CHECK
2263 AC_SUBST(C_ARES_LIBS)
2267 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
2270 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
2271 [use GeoIP (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2273 if test "x$withval" = "xno"; then
2275 elif test "x$withval" = "xyes"; then
2277 elif test -d "$withval"; then
2279 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2282 if test "x$want_geoip" = "xno"; then
2286 AC_WIRESHARK_GEOIP_CHECK
2288 AC_SUBST(GEOIP_LIBS)
2292 AC_MSG_CHECKING(whether to use the libssh library if available)
2295 AC_HELP_STRING( [--with-libssh@<:@=DIR@:>@],
2296 [use libssh (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2298 if test "x$withval" = "xno"; then
2300 elif test "x$withval" = "xyes"; then
2302 elif test -d "$withval"; then
2304 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2307 if test "x$want_libssh" = "xno"; then
2311 AC_WIRESHARK_LIBSSH_CHECK
2313 AC_SUBST(LIBSSH_LIBS)
2315 dnl Checks for typedefs, structures, and compiler characteristics.
2318 # Check how we can get the time zone abbreviation
2321 # We need to know whether "struct stat" has an "st_flags" member
2322 # for file_user_immutable().
2324 AC_CHECK_MEMBERS([struct stat.st_flags])
2326 # We need to know whether "struct sockaddr" has an "sa_len" member
2327 # for get_interface_list().
2329 AC_CHECK_MEMBERS([struct sockaddr.sa_len])
2331 # We must know our byte order
2334 # Checks whether "-traditional" is needed when using "ioctl".
2335 # XXX - do we need this?
2336 AC_PROG_GCC_TRADITIONAL
2338 AC_REPLACE_FUNCS(getopt_long)
2340 dnl Do we have optreset?
2342 if test "x$ac_cv_func_getopt_long" = xyes; then
2343 AC_CACHE_CHECK([whether optreset is defined], ac_cv_have_optreset,
2344 AC_LINK_IFELSE([AC_LANG_SOURCE([[extern int optreset;return optreset;]])],
2345 ac_cv_have_optreset=yes, ac_cv_have_optreset=no))
2346 if test "$ac_cv_have_optreset" = yes ; then
2347 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if you have the optreset variable])
2351 AC_REPLACE_FUNCS(inet_aton)
2353 AC_CHECK_FUNC(inet_pton, [
2354 dnl check for pre-BIND82 inet_pton() bug.
2355 AC_MSG_CHECKING(for broken inet_pton)
2356 AC_TRY_RUN([#include <sys/types.h>
2357 #include <sys/socket.h>
2358 #include <netinet/in.h>
2359 #include <arpa/inet.h>
2364 /* this should return 0 (error) */
2365 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
2369 }], [AC_MSG_RESULT(ok);
2370 have_inet_pton=yes], [AC_MSG_RESULT(broken);
2371 have_inet_pton=no], [AC_MSG_RESULT([cross compiling, assume it is broken]);
2372 have_inet_pton=no])],
2374 if test "$have_inet_pton" = no; then
2375 AC_LIBOBJ(inet_pton)
2377 AC_DEFINE(HAVE_INET_PTON, 1, [Define to 1 if you have the `inet_pton' function.])
2380 AC_REPLACE_FUNCS(inet_ntop)
2381 AC_REPLACE_FUNCS(strptime)
2382 AC_REPLACE_FUNCS(popcount)
2384 AC_CHECK_FUNCS(mkstemp mkdtemp)
2385 AC_CHECK_FUNCS(getprotobynumber)
2386 AC_CHECK_FUNCS(issetugid)
2387 AC_CHECK_FUNCS(sysconf)
2388 AC_CHECK_FUNCS(getifaddrs)
2389 AC_CHECK_FUNC(getexecname)
2392 # Check for SpeexDSP (http://www.speex.org)
2394 AS_IF([test "x$have_qt_multimedia_lib" = xyes],
2395 [PKG_CHECK_MODULES(SPEEXDSP, speexdsp, [have_speexdsp=yes], [have_speexdsp=no])])
2396 AS_IF([test "x$have_speexdsp" = xyes],
2397 [AC_DEFINE(HAVE_SPEEXDSP, 1, [Define to 1 if you have SpeexDSP])])
2398 AM_CONDITIONAL(HAVE_SPEEXDSP, [test "x$have_speexdsp" = "xyes"])
2400 # Check Bluetooth SBC codec for RTP Player
2401 # git://git.kernel.org/pub/scm/bluetooth/sbc.git
2403 AC_HELP_STRING( [--with-sbc=@<:@yes/no@:>@],
2404 [use SBC codec to play Bluetooth A2DP stream @<:@default=yes, if available@:>@]),
2405 with_sbc="$withval"; want_sbc="yes", with_sbc="yes")
2407 PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
2408 if test "x$with_sbc" != "xno"; then
2409 if (test "${have_sbc}" = "yes"); then
2410 AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
2411 elif test "x$want_sbc" = "xyes"; then
2412 # Error out if the user explicitly requested the sbc library
2413 AC_MSG_ERROR([SBC codec library was requested, but is not available])
2418 AM_CONDITIONAL(HAVE_SBC, test "x$have_sbc" = "xyes")
2421 dnl check whether plugins should be enabled and, if they should be,
2422 dnl check for plugins directory - stolen from Amanda's configure.ac
2424 dnl we don't wish to expand ${libdir} yet
2425 plugindir="\${libdir}/wireshark/plugins/${VERSION}"
2426 AC_ARG_WITH(plugins,
2427 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
2428 [support plugins (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2430 if test "x$withval" = "xno"; then
2432 elif test "x$have_plugins" = "xno"; then
2433 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
2434 elif test "x$withval" != "xyes"; then
2435 plugindir="$withval"
2438 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2439 if test x$have_plugins = xyes
2441 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2446 # The plugin dissectors reside in ./plugins/PROTO/
2449 AC_SUBST(PLUGIN_LIBS)
2452 dnl check whether extcap programs should be enabled and, if they should be,
2453 dnl check for extcap directory - stolen from Amanda's configure.ac
2455 dnl we don't wish to expand ${libdir} yet
2456 extcapdir="\${libdir}/wireshark/extcap"
2458 AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@],
2459 [use extcap for external capture sources (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2461 if test "x$withval" = "xno"; then
2463 elif test "x$withval" = "xyes"; then
2465 elif test "x$withval" != "xyes"; then
2467 extcapdir ="$withval"
2472 AM_CONDITIONAL(HAVE_EXTCAP, test "x$have_extcap" = "xyes")
2473 if test "x$have_extcap" = "xyes"
2475 AC_DEFINE(HAVE_EXTCAP, 1, [Define if external capture sources should be enabled])
2476 extcap_subdir="extcap"
2477 extcap_man="extcap.4"
2479 AC_SUBST(extcap_subdir)
2480 AC_SUBST(extcap_man)
2483 dnl androiddump check
2484 AC_MSG_CHECKING(whether to build androiddump)
2486 AC_ARG_ENABLE(androiddump,
2487 AC_HELP_STRING( [--enable-androiddump],
2488 [build androiddump @<:@default=yes@:>@]),
2489 androiddump=$enableval,enable_androiddump=yes)
2491 if test "x$have_extcap" != xyes; then
2492 AC_MSG_RESULT([no, extcap disabled])
2493 enable_androiddump=no
2494 elif test "x$enable_androiddump" = "xyes" ; then
2500 AC_ARG_ENABLE(androiddump_use_libpcap,
2501 AC_HELP_STRING( [--enable-androiddump-use-libpcap],
2502 [build androiddump using libpcap @<:@default=no@:>@]),
2503 androiddump_use_libpcap=$enableval,enable_androiddump_use_libpcap=no)
2505 if test "x$enable_androiddump" = "xyes" -a "x$enable_androiddump_use_libpcap" = "xyes" ; then
2506 AC_DEFINE(ANDROIDDUMP_USE_LIBPCAP, 1, [Androiddump will use Libpcap])
2509 if test "x$enable_androiddump" = "xyes" ; then
2510 androiddump_bin="androiddump\$(EXEEXT)"
2511 androiddump_man="androiddump.1"
2516 AC_SUBST(androiddump_bin)
2517 AC_SUBST(androiddump_man)
2520 AC_MSG_CHECKING(whether to build sshdump)
2522 AC_ARG_ENABLE(sshdump,
2523 AC_HELP_STRING( [--enable-sshdump],
2524 [build sshdump @<:@default=yes@:>@]),
2525 [],[enable_sshdump=yes])
2527 if test "x$have_extcap" != xyes; then
2528 AC_MSG_RESULT([no, extcap disabled])
2530 elif test "x$have_good_libssh" != xyes; then
2531 AC_MSG_RESULT([no, libssh not available])
2533 elif test "x$enable_sshdump" = "xyes" ; then
2539 if test "x$enable_sshdump" = "xyes" ; then
2540 sshdump_bin="sshdump\$(EXEEXT)"
2541 sshdump_man="sshdump.1"
2546 AC_SUBST(sshdump_bin)
2547 AC_SUBST(sshdump_man)
2550 AC_MSG_CHECKING(whether to build ciscodump)
2552 AC_ARG_ENABLE(ciscodump,
2553 AC_HELP_STRING( [--enable-ciscodump],
2554 [build ciscodump @<:@default=yes@:>@]),
2555 [],[enable_ciscodump=yes])
2557 if test "x$have_extcap" != xyes; then
2558 AC_MSG_RESULT([no, extcap disabled])
2560 elif test "x$have_good_libssh" != xyes; then
2561 AC_MSG_RESULT([no, libssh not available])
2563 elif test "x$enable_ciscodump" = "xyes" ; then
2569 if test "x$enable_ciscodump" = "xyes" ; then
2570 ciscodump_bin="ciscodump\$(EXEEXT)"
2571 ciscodump_man="ciscodump.1"
2576 AC_SUBST(ciscodump_bin)
2577 AC_SUBST(ciscodump_man)
2579 dnl randpktdump check
2580 AC_MSG_CHECKING(whether to build randpktdump)
2582 AC_ARG_ENABLE(randpktdump,
2583 AC_HELP_STRING( [--enable-randpktdump],
2584 [build randpktdump @<:@default=yes@:>@]),
2585 randpktdump=$enableval,enable_randpktdump=yes)
2587 if test "x$have_extcap" != xyes; then
2588 AC_MSG_RESULT([no, extcap disabled])
2589 enable_randpktdump=no
2590 elif test "x$enable_randpktdump" = "xyes" ; then
2596 if test "x$enable_randpktdump" = "xyes" ; then
2597 randpktdump_bin="randpktdump\$(EXEEXT)"
2598 randpktdump_man="randpktdump.1"
2603 AC_SUBST(randpktdump_bin)
2604 AC_SUBST(randpktdump_man)
2606 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2607 if test x$enable_static = xyes -a x$have_plugins = xyes
2609 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
2611 AC_SUBST(ENABLE_STATIC)
2613 # Gather which GUI we're building for rpmbuild
2614 if test "x$have_gtk" = "xyes"; then
2615 if test "x$gtk_major_version" = "x3"; then
2616 RPMBUILD_WITH_ARGS="--with gtk3 --without gtk2"
2618 RPMBUILD_WITH_ARGS="--without gtk3 --with gtk2"
2621 RPMBUILD_WITH_ARGS="--without gtk2 --without gtk3"
2623 if test "x$have_qt" = "xyes" ; then
2624 if test "$qt_version" -eq "5"; then
2625 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt5"
2627 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
2630 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt --without qt5"
2632 if test "x$have_lua" = "xyes" ; then
2633 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with lua"
2635 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without lua"
2637 AC_SUBST(RPMBUILD_WITH_ARGS)
2638 AC_SUBST(RPM_VERSION, version_major.version_minor.version_micro)
2640 AC_SUBST(WS_CPPFLAGS)
2642 AC_SUBST(WS_CXXFLAGS)
2643 AC_SUBST(WS_LDFLAGS)
2645 AC_SUBST(WS_CFLAGS_FOR_BUILD)
2647 AH_BOTTOM([#include <ws_diag_control.h>])
2649 dnl Save the cacheable configure results to config.cache before recursing
2652 sinclude(plugins/Custom.m4) dnl
2653 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
2655 sinclude(epan/dissectors/asn1/Custom.m4) dnl
2656 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2658 AC_CONFIG_HEADERS([config.h])
2663 epan/dissectors/asn1/Makefile
2665 _CUSTOM_ASN1_AC_OUTPUT_
2666 epan/dissectors/asn1/acp133/Makefile
2667 epan/dissectors/asn1/acse/Makefile
2668 epan/dissectors/asn1/ansi_map/Makefile
2669 epan/dissectors/asn1/ansi_tcap/Makefile
2670 epan/dissectors/asn1/atn-cm/Makefile
2671 epan/dissectors/asn1/atn-cpdlc/Makefile
2672 epan/dissectors/asn1/atn-ulcs/Makefile
2673 epan/dissectors/asn1/c1222/Makefile
2674 epan/dissectors/asn1/camel/Makefile
2675 epan/dissectors/asn1/cdt/Makefile
2676 epan/dissectors/asn1/charging_ase/Makefile
2677 epan/dissectors/asn1/cmip/Makefile
2678 epan/dissectors/asn1/cmp/Makefile
2679 epan/dissectors/asn1/crmf/Makefile
2680 epan/dissectors/asn1/cms/Makefile
2681 epan/dissectors/asn1/credssp/Makefile
2682 epan/dissectors/asn1/dap/Makefile
2683 epan/dissectors/asn1/disp/Makefile
2684 epan/dissectors/asn1/dop/Makefile
2685 epan/dissectors/asn1/dsp/Makefile
2686 epan/dissectors/asn1/ess/Makefile
2687 epan/dissectors/asn1/ftam/Makefile
2688 epan/dissectors/asn1/goose/Makefile
2689 epan/dissectors/asn1/gprscdr/Makefile
2690 epan/dissectors/asn1/gsm_map/Makefile
2691 epan/dissectors/asn1/h225/Makefile
2692 epan/dissectors/asn1/h235/Makefile
2693 epan/dissectors/asn1/h245/Makefile
2694 epan/dissectors/asn1/h248/Makefile
2695 epan/dissectors/asn1/h282/Makefile
2696 epan/dissectors/asn1/h283/Makefile
2697 epan/dissectors/asn1/h323/Makefile
2698 epan/dissectors/asn1/h450/Makefile
2699 epan/dissectors/asn1/h450-ros/Makefile
2700 epan/dissectors/asn1/h460/Makefile
2701 epan/dissectors/asn1/h501/Makefile
2702 epan/dissectors/asn1/HI2Operations/Makefile
2703 epan/dissectors/asn1/hnbap/Makefile
2704 epan/dissectors/asn1/idmp/Makefile
2705 epan/dissectors/asn1/ilp/Makefile
2706 epan/dissectors/asn1/inap/Makefile
2707 epan/dissectors/asn1/isdn-sup/Makefile
2708 epan/dissectors/asn1/kerberos/Makefile
2709 epan/dissectors/asn1/lcsap/Makefile
2710 epan/dissectors/asn1/ldap/Makefile
2711 epan/dissectors/asn1/logotypecertextn/Makefile
2712 epan/dissectors/asn1/lpp/Makefile
2713 epan/dissectors/asn1/lppa/Makefile
2714 epan/dissectors/asn1/lppe/Makefile
2715 epan/dissectors/asn1/lte-rrc/Makefile
2716 epan/dissectors/asn1/m3ap/Makefile
2717 epan/dissectors/asn1/mms/Makefile
2718 epan/dissectors/asn1/mpeg-audio/Makefile
2719 epan/dissectors/asn1/mpeg-pes/Makefile
2720 epan/dissectors/asn1/nbap/Makefile
2721 epan/dissectors/asn1/ns_cert_exts/Makefile
2722 epan/dissectors/asn1/novell_pkis/Makefile
2723 epan/dissectors/asn1/ocsp/Makefile
2724 epan/dissectors/asn1/p1/Makefile
2725 epan/dissectors/asn1/p22/Makefile
2726 epan/dissectors/asn1/p7/Makefile
2727 epan/dissectors/asn1/p772/Makefile
2728 epan/dissectors/asn1/pcap/Makefile
2729 epan/dissectors/asn1/pkcs1/Makefile
2730 epan/dissectors/asn1/pkcs12/Makefile
2731 epan/dissectors/asn1/pkinit/Makefile
2732 epan/dissectors/asn1/pkixac/Makefile
2733 epan/dissectors/asn1/pkix1explicit/Makefile
2734 epan/dissectors/asn1/pkix1implicit/Makefile
2735 epan/dissectors/asn1/pkixproxy/Makefile
2736 epan/dissectors/asn1/pkixqualified/Makefile
2737 epan/dissectors/asn1/pkixtsp/Makefile
2738 epan/dissectors/asn1/pres/Makefile
2739 epan/dissectors/asn1/q932/Makefile
2740 epan/dissectors/asn1/q932-ros/Makefile
2741 epan/dissectors/asn1/qsig/Makefile
2742 epan/dissectors/asn1/ranap/Makefile
2743 epan/dissectors/asn1/rnsap/Makefile
2744 epan/dissectors/asn1/ros/Makefile
2745 epan/dissectors/asn1/rrc/Makefile
2746 epan/dissectors/asn1/rrlp/Makefile
2747 epan/dissectors/asn1/rtse/Makefile
2748 epan/dissectors/asn1/rua/Makefile
2749 epan/dissectors/asn1/s1ap/Makefile
2750 epan/dissectors/asn1/sabp/Makefile
2751 epan/dissectors/asn1/sbc-ap/Makefile
2752 epan/dissectors/asn1/smrse/Makefile
2753 epan/dissectors/asn1/snmp/Makefile
2754 epan/dissectors/asn1/spnego/Makefile
2755 epan/dissectors/asn1/sv/Makefile
2756 epan/dissectors/asn1/t124/Makefile
2757 epan/dissectors/asn1/t125/Makefile
2758 epan/dissectors/asn1/t38/Makefile
2759 epan/dissectors/asn1/tcap/Makefile
2760 epan/dissectors/asn1/tetra/Makefile
2761 epan/dissectors/asn1/ulp/Makefile
2762 epan/dissectors/asn1/wlancertextn/Makefile
2763 epan/dissectors/asn1/x2ap/Makefile
2764 epan/dissectors/asn1/x509af/Makefile
2765 epan/dissectors/asn1/x509ce/Makefile
2766 epan/dissectors/asn1/x509if/Makefile
2767 epan/dissectors/asn1/x509sat/Makefile
2768 epan/dissectors/asn1/x721/Makefile
2770 capchild/doxygen.cfg
2772 caputils/doxygen.cfg
2776 epan/compress/Makefile
2779 epan/dfilter/Makefile
2780 epan/dissectors/Makefile
2781 epan/dissectors/dcerpc/Makefile
2782 epan/ftypes/Makefile
2783 epan/nghttp2/Makefile
2797 packaging/macosx/Info.plist
2798 packaging/macosx/Makefile
2799 packaging/macosx/osx-dmg.sh
2800 packaging/macosx/Wireshark_package.pmdoc/index.xml
2801 packaging/nsis/Makefile
2802 packaging/rpm/Makefile
2803 packaging/rpm/SPECS/Makefile
2804 packaging/rpm/SPECS/wireshark.spec
2805 packaging/svr4/Makefile
2806 packaging/svr4/checkinstall
2807 packaging/svr4/pkginfo
2809 plugins/docsis/Makefile
2810 plugins/easy_codec/Makefile
2811 plugins/ethercat/Makefile
2812 plugins/gryphon/Makefile
2813 plugins/irda/Makefile
2814 plugins/m2m/Makefile
2815 plugins/mate/Makefile
2816 plugins/opcua/Makefile
2817 plugins/profinet/Makefile
2818 plugins/stats_tree/Makefile
2819 plugins/unistim/Makefile
2820 plugins/wimax/Makefile
2821 plugins/wimaxasncp/Makefile
2822 plugins/wimaxmacphy/Makefile
2823 randpkt_core/doxygen.cfg
2824 randpkt_core/Makefile
2826 tools/lemon/Makefile
2829 writecap/doxygen.cfg
2840 if test "x$have_gtk" = "xyes"; then
2841 gtk_lib_message=" (with GTK+ v$GTK_VERSION"
2842 if test "x$have_ige_mac" = "xyes"; then
2843 gtk_lib_message="$gtk_lib_message and OS X integration)"
2845 gtk_lib_message="$gtk_lib_message)"
2849 if test "x$have_qt" = "xyes" ; then
2850 enable_wireshark_qt="yes"
2851 qt_lib_message=" (with Qt$qt_version v$QT_VERSION)"
2853 enable_wireshark_qt="no"
2856 if test "x$enable_setcap_install" = "xyes" ; then
2857 setcap_message="yes"
2862 if test "x$enable_setuid_install" = "xyes" ; then
2863 setuid_message="yes"
2868 if test "x$DUMPCAP_GROUP" = "x" ; then
2869 dumpcap_group_message="(none)"
2871 dumpcap_group_message="$DUMPCAP_GROUP"
2874 if test "x$want_zlib" = "xno" ; then
2880 if test "x$have_lua" = "xyes" ; then
2886 if test "x$have_qt_multimedia_lib" = "xyes" ; then
2887 qt_multimedia_message="yes"
2889 qt_multimedia_message="no"
2892 if test "x$want_portaudio" = "xyes" ; then
2893 portaudio_message="yes"
2895 portaudio_message="no"
2898 if test "x$want_ssl" = "xno" ; then
2904 if test "x$want_krb5" = "xno" ; then
2907 krb5_message="yes ($ac_krb5_version)"
2910 if test "x$have_good_c_ares" = "xyes" ; then
2911 c_ares_message="yes"
2913 c_ares_message="no (name resolution will be disabled)"
2916 if test "x$have_good_libcap" = "xyes" ; then
2917 libcap_message="yes"
2922 if test "x$have_good_geoip" = "xyes" ; then
2928 if test "x$have_good_libssh" = "xyes" ; then
2929 libssh_message="yes"
2934 if test "x$have_ssh_userauth_agent" = "xyes" ; then
2935 ssh_userauth_agent_message="yes"
2937 ssh_userauth_agent_message="no"
2941 echo " CPPFLAGS: $WS_CPPFLAGS $CPPFLAGS"
2943 echo " CFLAGS: $WS_CFLAGS $CFLAGS"
2945 echo " CXXFLAGS: $WS_CXXFLAGS $CXXFLAGS"
2947 echo " LDFLAGS: $WS_LDFLAGS $LDFLAGS"
2952 echo "The Wireshark package has been configured with the following options:"
2953 echo " GLib version : v$GLIB_VERSION"
2954 echo " Build wireshark : $enable_wireshark_qt$qt_lib_message"
2955 echo " Build wireshark-gtk : $have_gtk""$gtk_lib_message"
2956 echo " Build tshark : $enable_tshark"
2957 echo " Build tfshark : $enable_tfshark"
2958 echo " Build capinfos : $enable_capinfos"
2959 echo " Build captype : $enable_captype"
2960 echo " Build editcap : $enable_editcap"
2961 echo " Build dumpcap : $enable_dumpcap"
2962 echo " Build mergecap : $enable_mergecap"
2963 echo " Build reordercap : $enable_reordercap"
2964 echo " Build text2pcap : $enable_text2pcap"
2965 echo " Build randpkt : $enable_randpkt"
2966 echo " Build dftest : $enable_dftest"
2967 echo " Build rawshark : $enable_rawshark"
2968 echo " Build androiddump : $enable_androiddump"
2969 echo " Build sshdump : $enable_sshdump"
2970 echo " Build ciscodump : $enable_ciscodump"
2971 echo " Build randpktdump : $enable_randpktdump"
2972 echo " Build echld : $have_echld"
2974 echo " Save files as pcap-ng by default : $enable_pcap_ng_default"
2975 echo " Install dumpcap with capabilities : $setcap_message"
2976 echo " Install dumpcap setuid : $setuid_message"
2977 echo " Use dumpcap group : $dumpcap_group_message"
2978 echo " Use plugins : $have_plugins"
2979 echo " Use external capture sources : $have_extcap"
2980 echo " Use Lua library : $lua_message"
2981 echo " Build Qt RTP player : $qt_multimedia_message"
2982 echo " Build GTK+ RTP player : $portaudio_message"
2983 echo " Build profile binaries : $enable_profile_build"
2984 echo " Use pcap library : $want_pcap"
2985 echo " Use zlib library : $zlib_message"
2986 echo " Use kerberos library : $krb5_message"
2987 echo " Use c-ares library : $c_ares_message"
2988 echo " Use SMI MIB library : $libsmi_message"
2989 echo " Use GNU gcrypt library : $gcrypt_message"
2990 echo " Use SSL crypto library : $ssl_message"
2991 echo " Use GnuTLS library : $tls_message"
2992 echo " Use POSIX capabilities library : $libcap_message"
2993 echo " Use GeoIP library : $geoip_message"
2994 echo " Use libssh library : $libssh_message"
2995 echo " Have ssh_userauth_agent : $ssh_userauth_agent_message"
2996 echo " Use nl library : $libnl_message"
2997 echo " Use SBC codec library : $have_sbc"
2998 #echo " Use GDK-Pixbuf with GResource: $have_gresource_pixbuf"