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], [5])
10 m4_define([version_micro], [0])
11 dnl Updated by make-version.pl
12 m4_define([version_extra], [])
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 VERSION_RELEASE="version_major.version_minor"
20 AC_SUBST(VERSION_RELEASE)
21 AC_DEFINE_UNQUOTED([VERSION_RELEASE], ["$VERSION_RELEASE"], [Wireshark feature release version (X.Y)])
23 # Minimum autoconf version we require.
25 # Variable expansion doesn't work in AC_PREREQ()
27 AC_SUBST(AC_MIN_VERSION)
29 dnl Make sure to keep ACLOCAL_AMFLAGS in Makefile.am and AC_CONFIG_MACRO_DIRS
30 dnl in configure.ac in sync, otherwise there will be an error running autogen.sh.
31 m4_ifdef([AC_CONFIG_MACRO_DIRS],[AC_CONFIG_MACRO_DIRS([m4])])
33 dnl Check for CPU / vendor / OS
34 dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
35 dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the
36 dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other
39 dnl As nothing in the Wireshark is itself a build tool (we are not,
40 dnl for example, a compiler that generates machine code), we probably
41 dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able
42 dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just
43 dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as
44 dnl lemon, that need to be built for the build machine, not for the
45 dnl host machine, so we might need both.
47 dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails.
49 dnl AC_CANONICAL_BUILD
53 AM_INIT_AUTOMAKE([1.11 tar-ustar dist-xz no-dist-gzip subdir-objects foreign])
55 # Enable silent builds by default. Verbose builds can be enabled with "./configure
56 # --enable-silent-rules ..." or "make V=1 ..."
57 AM_SILENT_RULES([yes])
59 # Make Wireshark's version available in config.h
60 AC_DEFINE(VERSION_MAJOR, version_major, [Wireshark's major version])
61 AC_DEFINE(VERSION_MINOR, version_minor, [Wireshark's minor version])
62 AC_DEFINE(VERSION_MICRO, version_micro, [Wireshark's micro version])
64 AC_DEFINE_UNQUOTED(VERSION_FLAVOR,
65 ["${WIRESHARK_VERSION_FLAVOR:-"Development Build"}"], [Wireshark's package flavor])
68 LT_INIT([disable-static dlopen])
69 AC_SUBST([LIBTOOL_DEPS])
71 AC_CONFIG_LIBOBJ_DIR([wsutil])
74 # Checks for programs used in the main build process.
76 # See doc/README.developer for allowed C99 features
79 if test "$ac_cv_prog_cc_c99" = "no"
81 AC_MSG_ERROR([The C compiler does not support C99])
86 if test ! -z "$CXX"; then
88 # OK, we found something AC_LANG_CXX thinks is a C++ compiler,
91 # Some UN*Xes have, by default, a case-insensitive file
92 # system, and AC_PROG_CXX looks for, among other things,
93 # "CC" as a C++ compiler, and, if you have a case-insensitive
94 # file system and a C compiler named "cc" (both true, by
95 # default, on macOS), AC_PROG_CXX may end up thinking it's
98 # So we check by feeding the purported C++ compiler a
99 # program using C++ features (iostream).
101 AC_MSG_CHECKING(whether $CXX is a C++ compiler)
103 AC_LINK_IFELSE([AC_LANG_PROGRAM(
108 std::cout << "Hello World! ";
111 [AC_MSG_RESULT(yes)],
119 # Qt 5.7 or later requires C++11
120 AS_IF([test -n "$CXX"],
121 [AX_CXX_COMPILE_STDCXX([11], [noext], [optional])])
123 # Set CC_FOR_BUILD (the *local* gcc to use for building e.g. lemon)
124 if test "x$cross_compiling" = xno -a -z "$CC_FOR_BUILD"; then
130 # Check for versions of "sed" inadequate to handle, in libtool, a list
131 # of object files as large as the list in Wireshark.
138 AC_PATH_PROG(PERL, perl)
141 AC_PATH_PROGS(PYTHON, python python3)
142 if test ! -z "$PYTHON"; then
144 # OK, we found Python; is it Python 2.5 or later?
145 # Note: we don't use named components for sys.version_info to get
146 # the major version number, as named components for version_info
147 # were apparently introduced in Python 2.7.
149 AC_MSG_CHECKING([whether $PYTHON is Python 2.5 or later])
150 python_major_version=`$PYTHON -c 'import sys; print (sys.version_info[[0]])'`
151 python_minor_version=`$PYTHON -c 'import sys; print (sys.version_info[[1]])'`
152 if test "$python_major_version" -eq 2 -a "$python_minor_version" -lt 5 ; then
154 AC_MSG_WARN([Building with Python $python_major_version.$python_minor_version may not work])
159 AC_MSG_ERROR(I couldn't find python; make sure it's installed and in your path)
163 dnl Check for yacc/lex. Distribution tarballs include generated source,
164 dnl in which case these tools are not a mandatory requirement to build.
167 AS_IF([test "x$YACC" = xyacc], [AS_UNSET(YACC)])
168 AS_IF([test -z "$YACC" -a ! -f $srcdir/wiretap/ascend.c],
169 [AC_MSG_ERROR([I couldn't find bison or byacc; make sure it's installed and in your path])])
170 AM_MISSING_PROG(YACC, bison)
172 AS_IF([test "x$LEX" != xflex], [AS_UNSET(LEX)])
173 AS_IF([test -z "$LEX" -a ! -f $srcdir/wiretap/ascend_scanner.c],
174 [AC_MSG_ERROR([I couldn't find flex; make sure it's installed and in your path])])
175 AM_MISSING_PROG(LEX, flex)
177 AC_PATH_PROG(POD2MAN, pod2man)
178 if test "x$POD2MAN" = x
181 # The alternative is not to build the man pages....
183 AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
185 AC_PATH_PROG(POD2HTML, pod2html)
186 if test "x$POD2HTML" = x
189 # The alternative is not to build the HTML man pages....
191 AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
195 # Set "ac_supports_gcc_flags" if the compiler is known to support GCC-style
196 # flags such as -pedantic, -W warning flags and -f feature flags. Currently,
197 # we assume GCC and clang do; other compilers should be added here.
199 # This is done to avoid getting tripped up by compilers that support
200 # those flags but give them a different meaning.
202 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
203 ac_supports_gcc_flags=yes
207 AC_PATH_PROG(DOXYGEN, doxygen)
208 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
209 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
212 # Check for pkg-config and set PKG_CONFIG accordingly.
214 # This is referenced via AC_REQUIRE([PKG_PROG_PKG_CONFIG] in some macros
215 # like PKG_CHECK_MODULES. If the first call to such a macro is under an
216 # "if" statement, it's safer to call PKG_PROG_PKG_CONFIG directly, see
217 # the comments in acolocal.m4
219 # We want version 0.7 or better. (XXX - explain why. Is that just
220 # because our Qt tests were originally based on AM_PATH_GTK, and *it*
221 # requires 0.7 or better?)
223 PKG_PROG_PKG_CONFIG(0.7)
224 if test -z "$PKG_CONFIG"; then
225 AC_MSG_ERROR(I couldn't find pkg-config; make sure it's installed and in your path)
229 # Try to arrange for large file support.
234 # Check if we need to link with libm
236 AC_SEARCH_LIBS([cos], [m])
239 # Check for C99 math functions.
241 AC_CHECK_FUNCS([floorl lrint])
244 # Check if we need to link with -lnsl and -lsocket
249 # GUI toolkit options
252 AC_HELP_STRING( [--with-qt=@<:@yes/no/4/5@:>@],
253 [use Qt @<:@default=yes, if available@:>@]),
254 with_qt="$withval", with_qt="unspecified")
257 AC_HELP_STRING( [--with-gtk=@<:@yes/no/2/3@:>@],
258 [use GTK+ @<:@default=no@:>@]),
260 [yes], [with_gtk="3 2 fail"],
261 [no], [with_gtk="no"],
262 [3], [with_gtk="3 fail3"],
263 [2], [with_gtk="2 fail2"],
264 [AC_MSG_ERROR([--with-gtk must be one of yes/no/2/3])]),
268 # Version 3.0 switched from LGPLv2.1+ to LGPLv3+, then switched back to
269 # LGPLv2.1+ in version 3.1.10.
270 # GnuTLS depends on GMP which switched from LGPLv2.1+ to LGPLv3+ in
271 # version 4.2.2, the switched to LGPLv3+ / GPLv2+ in version 6.0.0.
274 want_gnutls="if_available"
275 AC_ARG_WITH([gnutls],
276 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
277 [use GnuTLS library @<:@default=yes, if available@:>@]),
278 [ with_gnutls="$withval"; want_gnutls="yes" ], with_gnutls="yes")
280 if test "x$with_gnutls" = "xyes"; then
281 have_license_compatible_gnutls="no"
282 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.1.10 ],
283 [ have_license_compatible_gnutls="yes" ], [ echo "GnuTLS >= 3.1.10 not found " ]
286 if test "x$have_license_compatible_gnutls" != "xyes"; then
287 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.12.0 gnutls < 3],
288 [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 2.12.0, < 3.0 not found " ]
292 if test "x$have_license_compatible_gnutls" != "xyes"; then
293 if test "x$want_gnutls" = "xyes"; then
294 AC_MSG_ERROR([GnuTLS crypto library was requested, but is not installed for development])
296 AS_ECHO(["GnuTLS with compatible license not found, disabling SSL decryption"])
299 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use GnuTLS library])
304 # libgrypt (for decryption, MAC, etc. functionality).
305 AM_PATH_LIBGCRYPT(1.4.2, [ ] , [
306 AC_MSG_ERROR([[libgcrypt not installed for development; install libgcrypt, including any development package, for your system]])
310 AC_HELP_STRING([--with-libnl@<:@=VERSION@:>@],
311 [use libnl (force version VERSION, if supplied) @<:@default: yes, if available@:>@]),
313 if test "x$withval" = "xno"
316 elif test "x$withval" = "xyes"
320 elif test "x$withval" = "x1"
324 elif test "x$withval" = "x2"
328 elif test "x$withval" = "x3"
333 AC_MSG_ERROR(["$withval" is not a valid argument to --with-libnl])
337 # Use libnl if it's present, otherwise don't.
339 want_libnl=ifavailable
343 # Libnl is Linux-specific.
348 AC_MSG_CHECKING(whether to use libnl for various network interface purposes)
350 if test x$want_libnl = "xno"; then
355 # Test for specific libnl versions only if no version
356 # was specified by the user or if the version in question
357 # was requested by the user.
359 if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then
360 PKG_CHECK_EXISTS([libnl-3.0 libnl-route-3.0 libnl-genl-3.0], [have_libnl3=yes], [have_libnl3=no])
362 if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then
363 PKG_CHECK_EXISTS([libnl-2.0], [have_libnl2=yes], [have_libnl2=no])
365 if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then
366 PKG_CHECK_EXISTS([libnl-1], [have_libnl1=yes], [have_libnl1=no])
368 if (test "${have_libnl3}" = "yes"); then
369 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([LIBNL], [libnl-3.0 libnl-route-3.0 libnl-genl-3.0])
370 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
371 AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
372 libnl_message="yes (v3)"
373 elif (test "${have_libnl2}" = "yes"); then
374 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([LIBNL], [libnl-2.0])
375 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
376 AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
377 libnl_message="yes (v2)"
378 elif (test "${have_libnl1}" = "yes"); then
379 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([LIBNL], [libnl-1])
380 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
381 AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
382 libnl_message="yes (v1)"
384 if test x$want_libnl = "xyes"; then
385 case "$libnl_version" in
388 AC_MSG_ERROR("I couldn't find libnl even though you manually enabled it.")
392 AC_MSG_ERROR("I couldn't find libnl version $libnl_version even though you manually enabled it.")
399 AC_MSG_CHECKING([if nl80211.h is new enough])
400 AC_TRY_COMPILE([#include <linux/nl80211.h>],
401 [int x = NL80211_FREQUENCY_ATTR_MAX_TX_POWER;
402 x |= NL80211_ATTR_SUPPORTED_IFTYPES;
403 x |= NL80211_ATTR_SUPPORTED_COMMANDS;
404 x |= NL80211_ATTR_WIPHY_FREQ;
405 x |= NL80211_CHAN_NO_HT;
407 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211, 1, [nl80211.h is new enough])],
410 AC_MSG_CHECKING([for NL80211_SET_CHANNEL])
411 AC_TRY_COMPILE([#include <linux/nl80211.h>],
412 [enum nl80211_commands x = NL80211_CMD_SET_CHANNEL;],
413 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_CMD_SET_CHANNEL, 1, [SET_CHANNEL is supported])],
416 AC_MSG_CHECKING([for NL80211_SPLIT_WIPHY_DUMP])
417 AC_TRY_COMPILE([#include <linux/nl80211.h>],
418 [enum nl80211_protocol_features x = NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP;],
419 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_SPLIT_WIPHY_DUMP, 1, [SPLIT_WIPHY_DUMP is supported])],
422 AC_MSG_CHECKING([for NL80211_VHT_CAPABILITY])
423 AC_TRY_COMPILE([#include <linux/nl80211.h>],
424 [enum nl80211_attrs x = NL80211_ATTR_VHT_CAPABILITY;],
425 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_VHT_CAPABILITY, 1, [VHT_CAPABILITY is supported])],
430 if test x$want_libnl != "xno" -a x$want_libnl != "xifavailable"; then
431 AC_MSG_WARN([libnl is Linux-specific, ignoring --with-libnl])
436 # FIXME: currently the path argument to with-libsmi is being ignored
440 # Check if we should build the Wireshark User's Guide
442 AC_ARG_ENABLE(guides,
443 AC_HELP_STRING( [--disable-guides],
444 [Don't build the Wireshark User's Guide]),
445 [want_wsug=$enableval], [want_wsug=if_available])
448 # Check for programs used when building DocBook documentation.
451 AC_PATH_PROG(XSLTPROC, xsltproc, xsltproc)
452 AS_IF([test ! -x "$XSLTPROC"],
454 AS_IF([test "x$want_wsug" = xyes],
455 [AC_MSG_ERROR([xlstproc not found but required to build the Wireshark User's Guide])])
458 AC_PATH_PROG(A2X, a2x, a2x)
459 AS_IF([test ! -x "$A2X"],
461 AS_IF([test "x$want_wsug" = xyes],
462 [AC_MSG_ERROR([a2x not found but required to build the Wireshark User's Guide])])
466 AC_PATH_PROG(FOP, fop, fop)
468 AM_CONDITIONAL(BUILD_USER_GUIDE, [test "x$have_wsug" = xyes -a "x$want_wsug" != xno])
470 # HTML to text processor
471 AC_MSG_CHECKING([for an HTML to text processor])
472 AS_IF([w3m -version >&AS_MESSAGE_LOG_FD 2>&1], [have_a2x_text=w3m],
473 [lynx -version >&AS_MESSAGE_LOG_FD 2>&1], [have_a2x_text=lynx],
475 AC_MSG_RESULT([$have_a2x_text])
476 AM_CONDITIONAL(HAVE_A2X_TEXT, [test "x$have_a2x_text" != xno])
477 AS_IF([test $have_a2x_text = lynx], [A2X_LYNX="--lynx"])
481 AC_CHECK_PROGS(RPMBUILD, [rpmbuild], [rpmbuild])
484 AC_CHECK_PROGS(SHELLCHECK, shellcheck, shellcheck)
487 # Check compiler vendor. For GCC this will be 'gnu' and for Clang 'clang'.
490 if test "x$CXX" != "x" ; then
497 # Some compilers have to be told to fail when passed an unknown -W flag;
498 # make sure we do that.
500 AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
503 # Some C++ compilers have to be told to fail when passed a -W flag that
504 # they don't think should apply to C++; make sure we do that.
506 AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
509 # The following are for C and C++
511 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall)
512 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra)
513 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels)
514 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith)
515 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
516 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
517 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
518 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
519 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
520 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
521 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
522 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
523 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
524 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
525 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
526 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
527 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
528 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcomma)
531 # The following are C only, not C++
533 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
534 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunused-const-variable, C)
539 # Make sure -Wshadow doesn't complain about variables in function and
540 # function pointer declarations shadowing other variables; if not, don't
541 # turn it on, as some versions of GCC (including the one in at least
542 # some Xcode versions that came with Mac OS X 10.5) complain about
545 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshadow, C,
547 extern int bar(int a);
553 int (*fptr)(int a) = bar;
558 [warns about variables in function declarations shadowing other variables])
560 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
561 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
562 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
564 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
565 # is given a constant string.
566 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
567 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wlogical-op, C,
571 int foo(const char *, int);
575 foo(const char *sep, int c)
577 if (strchr (sep, c) != NULL)
586 return foo("<", 'a');
589 [generates warnings from strchr()])
591 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
592 # The Qt headers generate a ton of shortening errors on 64-bit systems
593 # so only enable this for C for now.
594 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
597 # Implicit function declarations are an error in C++ and most
598 # likely a programming error in C. Turn -Wimplicit-int and
599 # -Wimplicit-function-declaration into an error by default.
601 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Werror=implicit, C)
603 # Clang only. Avoid "argument unused during compilation" warnings
604 # (for example, when getting the -gsplit-dwarf option or
605 # when combining -fwrapv with -fno-strict-overflow)
606 if test x"$ax_cv_c_compiler_vendor" = xclang; then
607 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Qunused-arguments, C)
609 if test x"$ax_cv_cxx_compiler_vendor" = xclang; then
610 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Qunused-arguments, CXX)
614 # Use the faster pre gcc 4.5 floating point precision if available.
616 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
619 # Try to have the compiler default to hiding symbols, so that only
620 # symbols explicitly exported with WS_DLL_PUBLIC will be visible
621 # outside (shared) libraries; that way, more UN*X builds will catch
622 # failures to export symbols, rather than having that fail only on
625 # GCC and GCC-compatible compilers
627 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
628 if test "x$can_add_to_cflags" = "xno"
633 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
634 if test "x$can_add_to_cflags" = "xno"
636 # TODO add other ways of hiding symbols
637 AC_MSG_WARN(Compiler will export all symbols from shared libraries)
642 # Try to add some additional checks to CFLAGS.
643 # These are not enabled by default, because the warnings they produce
644 # are very hard or impossible to eliminate.
646 AC_ARG_ENABLE(extra-compiler-warnings,
647 AC_HELP_STRING( [--enable-extra-compiler-warnings],
648 [do additional compiler warnings @<:@default=no@:>@]),
650 wireshark_extra_flags=$enableval
651 if test $enableval != no
654 # The following are for C and C++
656 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpedantic)
658 # As we use variadic macros, we don't want warnings
659 # about them, even with -Wpedantic.
661 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-variadic-macros)
663 # Various code blocks this one.
665 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Woverflow)
666 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
668 # Due to various places where APIs we don't control
669 # require us to cast away constness, we can probably
670 # never enable this one with -Werror.
672 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-qual)
674 # Some generated ASN.1 dissectors block this one;
675 # multiple function declarations for the same
676 # function are being generated.
678 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wredundant-decls)
680 # Some loops are safe, but it's hard to convince the
683 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunsafe-loop-optimizations)
685 # All the registration functions block these for now.
687 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-prototypes)
688 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-declarations)
690 # A bunch of "that might not work on SPARC" code blocks
691 # this one for now; some of it is code that *will* work
692 # on SPARC, such as casts of "struct sockaddr *" to
693 # "struct sockaddr_in *", which are required by some
694 # APIs such as getifaddrs().
696 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-align)
698 # Works only with Clang
700 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunreachable-code)
702 # Works only with Clang but generates a lot of warnings
703 # (about glib library not using Doxygen)
705 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdocumentation)
707 # Works only with GCC 7
709 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wduplicated-branches)
712 # The following are C only, not C++
714 # Due to various places where APIs we don't control
715 # require us to cast away constness, we can probably
716 # never enable this one with -Werror.
718 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wbad-function-cast, C)
722 # Try to add ASAN address analyze.
723 # Only needed for analyse
726 AC_HELP_STRING( [--enable-asan],
727 [Enable AddressSanitizer (ASAN) for debugging (degrades performance)@<:@default=no@:>@]),
730 # With Clang >= 3.5 Leak detection is enable by default
731 # and no yet all leak is fixed...
732 # use ASAN_OPTIONS=detect_leaks=0 to disable detect_leaks
734 # XXX shouldn't this also be added to LDFLAGS?
735 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=address)
737 # Disable ASAN for build-time tools, e.g. lemon
738 WS_CFLAGS_saved="$WS_CFLAGS"
739 WS_LDFLAGS_saved="$WS_LDFLAGS"
740 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-sanitize=all, C)
741 if test "x$can_add_to_cflags" = "xyes"
743 NO_SANITIZE_CFLAGS="-fno-sanitize=all"
744 NO_SANITIZE_LDFLAGS="-fno-sanitize=all"
746 WS_CFLAGS="$WS_CFLAGS_saved"
747 WS_LDFLAGS="$WS_LDFLAGS_saved"
750 AC_SUBST(NO_SANITIZE_CFLAGS)
751 AC_SUBST(NO_SANITIZE_LDFLAGS)
753 # Try to enable UndefinedBehaviorSanitizer.
756 AC_HELP_STRING( [--enable-ubsan],
757 [Enable UndefinedBehaviorSanitizer (UBSan) for debugging@<:@default=no@:>@]),
760 # Available since Clang >= 3.3 and GCC >= 4.9
762 # XXX shouldn't this also be added to LDFLAGS?
763 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=undefined)
767 # Add check hf conflict..
769 AC_ARG_ENABLE(checkhf-conflict,
770 AC_HELP_STRING( [--enable-checkhf-conflict],
771 [Enable hf conflict check for debugging (start-up may be slower)@<:@default=no@:>@]),
773 AC_DEFINE(ENABLE_CHECK_FILTER, 1, [Enable hf conflict check])
776 AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
777 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
778 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
779 # AC_WIRESHARK_LDFLAGS_CHECK([-flto])
780 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
781 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
784 # Put -fPIE in PIE_CFLAGS and -pie in PIE_LDFLAGS if we can use them,
785 # so that we can build dumpcap PIE - it may run with elevated
786 # privileges, and using PIE means the OS can run it at random locations
787 # in the address space to make attacks more difficult.
790 WS_CFLAGS_saved="$WS_CFLAGS"
791 WS_LDFLAGS_saved="$WS_LDFLAGS"
792 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE, C)
793 if test "x$can_add_to_cflags" = "xyes"
795 AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
796 if test "x$can_add_to_ldflags" = "xyes"
803 WS_CFLAGS="$WS_CFLAGS_saved"
804 WS_LDFLAGS="$WS_LDFLAGS_saved"
806 AC_SUBST(PIE_LDFLAGS)
808 WS_CFLAGS_saved="$WS_CFLAGS"
809 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
810 if test "x$can_add_to_cflags" = "xyes"
813 # The compiler supports -msse4.2; use that to enable SSE 4.2.
815 # We only want to apply -msse4.2 to
816 # wsutil/ws_mempbrk_sse42.c, as the SSE4.2 code there
817 # is run only if the hardware supports it, but other
818 # code would do no such checks.
820 ac_sse4_2_flag=-msse4.2
823 # Try -xarch=sse4_2; that's the flag for Sun's compiler.
825 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xarch=sse4_2, C)
826 if test "x$can_add_to_cflags" = "xyes"
829 # The compiler supports -xarch=sse4_2; use that to
831 ac_sse4_2_flag=-xarch=sse4_2
834 WS_CFLAGS="$WS_CFLAGS_saved"
836 if test "x$ac_sse4_2_flag" != x; then
838 # OK, we have a compiler flag to enable SSE 4.2.
840 # Make sure we have the necessary headers for the SSE4.2 intrinsics
841 # and that we can use them.
843 # First, check whether we have emmintrin.h and can use it
844 # *without* the SSE 4.2 flag.
846 AC_MSG_CHECKING([whether there is emmintrin.h header and we can use it])
848 [#include <emmintrin.h>],
851 emmintrin_h_works=yes
861 # OK, if that works, see whether we have nmmintrin.h and
862 # can use it *with* the SSE 4.2 flag.
864 if test "x$emmintrin_h_works" = "xyes"; then
866 # Add the SSE4.2 flags to the beginning of CFLAGS,
867 # in case the user explicitly specified -mno-sse4.2
868 # (or in case Gentoo's build tools did so); if they
869 # did so, we only want this to work if we can use
870 # the #pragma to override that for ws_mempbrk_sse42.c,
871 # and putting it at the beginning means that the
872 # CFLAGS setting in the environment will come later
875 AC_MSG_CHECKING([whether there is nmmintrin.h header and we can use it])
876 saved_CFLAGS="$CFLAGS"
877 CFLAGS="$ac_sse4_2_flag $WS_CFLAGS $CFLAGS"
879 [#include <nmmintrin.h>],
883 AC_DEFINE(HAVE_SSE4_2, 1, [Support SSSE4.2 (Streaming SIMD Extensions 4.2) instructions])
884 CFLAGS_SSE42="$ac_sse4_2_flag"
892 CFLAGS="$saved_CFLAGS"
899 dnl build libwsutil_sse42 only if there is SSE4.2
900 AM_CONDITIONAL(SSE42_SUPPORTED, test "x$have_sse42" = "xyes")
901 AC_SUBST(CFLAGS_SSE42)
903 # If we're running GCC or CLang, use FORTIFY_SOURCE=2
904 # (only if the GCC 'optimization level' > 0).
906 # See: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
907 # See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979
909 # Note: FORTIFY_SOURCE is only effective for gcc optimization level > 0 (-O1, etc)
910 AC_WIRESHARK_GCC_FORTIFY_SOURCE_CHECK
913 # If the compiler supports GCC-style flags, enable a barrier "stop on
915 # This barrier is set for a very large part of the code. However, it is
916 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
918 warnings_as_errors_default="yes"
919 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
920 AC_ARG_ENABLE(warnings-as-errors,
921 AC_HELP_STRING( [--enable-warnings-as-errors],
922 [treat warnings as errors (only for GCC or clang) @<:@default=yes, unless extra compiler warnings are enabled@:>@]),
924 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes"; then
925 with_warnings_as_errors="yes"
928 with_warnings_as_errors="no"
933 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
934 with_warnings_as_errors="yes"
937 with_warnings_as_errors="no"
942 AS_IF([test "x$with_warnings_as_errors" = "xyes"], [WERROR="-Werror"], [WERROR=""])
944 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, [test "x$with_warnings_as_errors" = "xyes"])
947 # Add any platform-specific compiler flags needed.
949 AC_MSG_CHECKING(for platform-specific compiler flags)
950 if test "x$GCC" = "xyes" ; then
952 # GCC - do any platform-specific tweaking necessary.
956 # the X11 headers don't automatically include prototype info
957 # and a lot don't include the return type
958 WS_CPPFLAGS="$WS_CPPFLAGS -DFUNCPROTO=15"
959 WS_CFLAGS="$WS_CFLAGS -Wno-return-type"
960 WS_CXXFLAGS="$WS_CXXFLAGS -Wno-return-type"
961 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
964 AC_MSG_RESULT(none needed)
969 # Not GCC - assume it's the vendor's compiler.
974 # AC_PROG_CC_STDC should already have added whatever
975 # flags are necessary for ISO C - C99 if available,
976 # otherwise C89 - with extensions.
978 # Add +O2, for optimization, as suggested by Jost Martin.
979 # XXX - works with "-g"?
981 # +O2 is supported both by the C and C++ compiler.
983 WS_CFLAGS="+O2 $WS_CFLAGS"
984 if test "$CC" = "$CC_FOR_BUILD"; then
986 # We're building the build tools with the same
987 # compiler as the one with which we're building
988 # Wireshark, so add the flags to the flags for
989 # that compiler as well.
991 CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
993 WS_CXXFLAGS="+O2 $WS_CXXFLAGS"
994 AC_MSG_RESULT(HP C/C++ compiler - added +O2)
998 # Crank up the warning level.
1000 WS_CFLAGS="$WS_CFLAGS -v"
1001 WS_CXXFLAGS="$WS_CXXFLAGS +w2"
1004 AC_MSG_RESULT(none needed)
1010 # Add any platform-specific linker flags needed.
1012 AC_MSG_CHECKING(for platform-specific linker flags)
1016 # If this is GCC or Clang, Add -Wl,-bbigtoc for big libraries.
1017 # XXX - what if we're using xlc? Is that necessary? The
1018 # xlc 7.0 manual says "Specifying -qpic=large has the same
1019 # effect as passing -bbigtoc to ld"; do we need to tell xlc,
1020 # when it's compiling, to generate different code for a large
1021 # TOC, or is that just a linker flag? For that matter, do we
1022 # have to tell GCC or Clang to generate different code for a
1025 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
1026 LDFLAGS_BIGSHAREDLIB="-Wl,-bbigtoc"
1027 AC_MSG_RESULT([AIX linker with GCC or Clang - added -Wl,-bbigtoc to large shared library linker flags and -Wl,-headerpad_max_install_names -Wl,-search_paths_first and -Wl,-headerpad_max_install_names to all linker flags])
1032 # Add -Wl,-single_module to the LDFLAGS used with shared
1033 # libraries, to fix some error that show up in some cases;
1034 # some Apple documentation recommends it for most shared
1037 LDFLAGS_SHAREDLIB="-Wl,-single_module"
1039 # Add -Wl,-headerpad_max_install_names to the LDFLAGS, as
1040 # code-signing issues is running out of padding space.
1042 # Add -Wl,-search_paths_first to make sure that if we search
1043 # directories A and B, in that order, for a given library, a
1044 # non-shared version in directory A, rather than a shared
1045 # version in directory B, is chosen (so we can use
1046 # --with-pcap=/usr/local to force all programs to be linked
1047 # with a static version installed in /usr/local/lib rather than
1048 # the system version in /usr/lib).
1050 WS_LDFLAGS="-Wl,-headerpad_max_install_names -Wl,-search_paths_first $WS_LDFLAGS"
1051 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])
1055 # Shared libraries in cygwin/Win32 must never contain
1056 # undefined symbols.
1058 WS_LDFLAGS="$WS_LDFLAGS -no-undefined"
1059 AC_MSG_RESULT(Cygwin GNU ld - added -no-undefined)
1062 AC_MSG_RESULT(none needed)
1065 AC_SUBST(LDFLAGS_BIGSHAREDLIB)
1066 AC_SUBST(LDFLAGS_SHAREDLIB)
1069 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
1074 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
1075 if test x$LD_LIBRARY_PATH != x ; then
1076 LIBS="$LIBS -R$LD_LIBRARY_PATH"
1077 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
1079 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
1084 # Enable/disable wireshark
1085 AC_ARG_ENABLE(wireshark,
1086 AC_HELP_STRING( [--enable-wireshark],
1087 [build the Wireshark GUI (with Gtk+, Qt, or both) @<:@default=yes@:>@]),
1088 enable_wireshark=$enableval,enable_wireshark=yes)
1089 AM_CONDITIONAL(BUILDING_WIRESHARK, test x$enable_wireshark = xyes)
1091 AC_ARG_ENABLE(packet-editor,
1092 AC_HELP_STRING( [--enable-packet-editor],
1093 [add support for packet editor in Wireshark @<:@default=yes@:>@]),
1094 enable_packet_editor=$enableval,enable_packet_editor=yes)
1095 if test x$enable_packet_editor = xyes; then
1096 AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
1099 AC_ARG_ENABLE(profile-build,
1100 AC_HELP_STRING( [--enable-profile-build],
1101 [build profile-ready binaries @<:@default=no@:>@]),
1102 enable_profile_build=$enableval,enable_profile_build=no)
1103 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
1104 AC_MSG_CHECKING(if profile builds must be generated)
1105 if test "x$enable_profile_build" = "xyes" ; then
1106 if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
1108 WS_CFLAGS="-pg $WS_CFLAGS"
1109 WS_CXXFLAGS="-pg $WS_CXXFLAGS"
1112 echo "Building profile binaries currently only supported for GCC and clang."
1118 GLIB_MIN_VERSION=2.22.0
1119 AC_SUBST(GLIB_MIN_VERSION)
1120 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1121 # support, as we need that for dynamically loading plugins.
1123 # Release dates for GLib versions:
1124 # 2.14.0: 03 Aug 2007
1125 # 2.16.0: 10 Mar 2008
1126 # 2.18.0: 02 Sep 2008
1127 # 2.20.0: 13 Mar 2009
1128 # 2.22.0: 22 Sep 2009
1129 # 2.24.0: 28 Mar 2010
1130 # 2.26.0: 27 Sep 2010
1131 # 2.28.0: 08 Feb 2011
1132 # 2.30.0: 27 Sep 2011
1133 # 2.32.0: 24 Mar 2012
1134 # 2.34.0: 24 Sep 2012
1135 # 2.36.0: 25 Mar 2013
1136 # 2.38.0: 23 Sep 2013
1137 # 2.40.0: 24 Mar 2014
1138 # 2.42.0: 22 Sep 2014
1139 # 2.44.0: 23 Mar 2014
1140 # 2.46.0: 25 Sep 2015
1142 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GLIB],
1143 [glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1144 [GLIB_VERSION=`$PKG_CONFIG --modversion glib-2.0`],
1145 [AC_MSG_ERROR([GLib $GLIB_MIN_VERSION or later not found.])])
1147 # Error out if a glib header other than a "top level" header
1148 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1150 AX_APPEND_FLAG([-DG_DISABLE_SINGLE_INCLUDES], [GLIB_CONFIG])
1152 # Error out on the usage of deprecated glib functions
1153 AX_APPEND_FLAG([-DG_DISABLE_DEPRECATED], [GLIB_CONFIG])
1155 GLIB_CFLAGS="$GLIB_CONFIG $GLIB_CFLAGS"
1156 AC_SUBST(GLIB_CFLAGS)
1159 GTK2_MIN_VERSION=2.12.0
1160 AC_SUBST(GTK2_MIN_VERSION)
1161 GTK3_MIN_VERSION=3.0.0
1162 AC_SUBST(GTK3_MIN_VERSION)
1163 QT_MIN_VERSION=4.8.0
1164 AC_SUBST(QT_MIN_VERSION)
1165 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
1166 # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
1168 # We only do those if we're going to be building Wireshark;
1169 # otherwise, we don't have any GUI to build, so we don't use
1172 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
1173 # force all programs to be built with GTK+ or Qt.
1175 # For a list of library versions and their support across different platforms,
1176 # see https://wiki.wireshark.org/Development/Support_library_version_tracking
1180 if test "x$enable_wireshark" = "xyes"; then
1181 if test "x$with_qt" != "xno"; then
1183 # Qt was specified; make sure we have a C++ compiler.
1185 if test -z "$CXX"; then
1186 AC_MSG_ERROR(Need a working C++ compiler to build Wireshark with Qt)
1190 # Now make sure we have Qt and, if so, add the flags
1191 # for it to CFLAGS and CXXFLAGS.
1193 AC_WIRESHARK_QT_CHECK($QT_MIN_VERSION, "$with_qt",
1198 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
1201 # We're building with Qt, so we need the Qt build
1202 # tools in order to build the Wireshark GUI.
1203 # We've found a particular major version of Qt,
1204 # and we want that version's build tools; for
1205 # example, the Qt 4 version of uic produces files
1206 # that include Qt headers with paths that work
1207 # with Qt 4 but not Qt 5, so we can't use the
1208 # Qt 4 version of uic if we're building with Qt 5.
1209 AC_WIRESHARK_QT_TOOL_CHECK(UIC, uic, "$qt_version")
1211 AC_WIRESHARK_QT_TOOL_CHECK(MOC, moc, "$qt_version")
1213 AC_WIRESHARK_QT_TOOL_CHECK(RCC, rcc, "$qt_version")
1215 AC_WIRESHARK_QT_TOOL_CHECK_LRELEASE("$qt_version")
1219 # On Darwin, make sure we're using Qt5 or later.
1220 # If so, find where the Qt frameworks are located
1221 # and add that to the rpath, just in case this is
1222 # Qt 5.5 or later and the frameworks have an
1223 # install name that begins with @rpath and aren't
1224 # installed in a frameworks directory that's
1225 # searched by default.
1229 if test $qt_version -le 4
1231 AC_MSG_ERROR([macOS builds should use Qt5])
1233 Qt_LDFLAGS="-Wl,-rpath,"`$PKG_CONFIG --libs Qt${qt_version}Core | sed -e 's/-F//' -e 's/ -framework.*//'`
1237 AC_SUBST(Qt_LDFLAGS)
1239 if test -z "${MOC_OPTIONS+1}"
1241 # Squelch moc verbose "nothing to do" output
1242 if test $QT_VERSION_MAJOR -eq 5
1245 elif test $QT_VERSION_MAJOR -eq 4 -a $QT_VERSION_MINOR -ge 8
1250 AC_SUBST(MOC_OPTIONS)
1257 # They didn't explicitly ask for Qt,
1258 # so just don't build with it.
1266 # This is probably macOS, and the
1267 # problem could be that this is a
1268 # later version of Qt that doesn't
1269 # install .pc files on macOS, so
1270 # pkg-config can't find it.
1272 AC_MSG_ERROR([Qt is not installed or may not work with the configure script; try using CMake, instead])
1277 # Qt might be installed, but only
1278 # for use by applications, not
1281 AC_MSG_ERROR([Qt is not installed for development])
1292 AC_MSG_ERROR([Qt 4 is not installed or may not work with the configure script; try using CMake, instead])
1299 AC_MSG_ERROR([Qt 4 is not installed for development])
1310 AC_MSG_ERROR([Qt 5 is not installed or may not work with the configure script; try using CMake, instead])
1317 AC_MSG_ERROR([Qt 5 is not installed for development])
1325 for want_gtk_version in $with_gtk; do
1326 AS_CASE([$want_gtk_version],
1327 [3], [PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GTK],
1328 [gtk+-3.0 >= $GTK3_MIN_VERSION glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1331 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-3.0`
1332 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk=3"
1337 [2], [PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GTK],
1338 [gtk+-2.0 >= $GTK2_MIN_VERSION glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1341 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0`
1342 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk=2"
1347 [fail3], [AC_MSG_ERROR([GTK+ 3 was requested but is not installed for development])],
1348 [fail2], [AC_MSG_ERROR([GTK+ 2 was requested but is not installed for development])],
1349 [fail], [AC_MSG_ERROR([GTK+ was requested but is not installed for development])])
1351 AS_IF([test "x$have_gtk" = xyes], [break])
1354 if test "$have_gtk" = "yes" ; then
1355 # If we're building with GTK, complain and then add flags for it
1357 AC_MSG_WARN([The GTK+ UI is deprecated and will be removed in a future release.])
1361 GTK_CONFIG="$GLIB_CONFIG"
1363 gtk_major_version=`echo $GTK_VERSION | cut -d. -f1`
1364 gtk_minor_version=`echo $GTK_VERSION | cut -d. -f2`
1366 AX_APPEND_FLAG([-DGDK_DISABLE_DEPRECATED], [GTK_CONFIG])
1367 if test \( $gtk_major_version -eq 3 -a $gtk_minor_version -ge 10 \) ; then
1368 ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
1369 ## The deprecations in Gtk 3.10 will not be fixed ...
1370 AX_APPEND_FLAG([-DGDK_DISABLE_DEPRECATION_WARNINGS], [GTK_CONFIG])
1372 AX_APPEND_FLAG([-DGTK_DISABLE_DEPRECATED], [GTK_CONFIG])
1374 AX_APPEND_FLAG([-DGTK_DISABLE_SINGLE_INCLUDES], [GTK_CONFIG])
1375 if test ! \( $gtk_major_version -eq 2 -a $gtk_minor_version -lt 20 \) ; then
1376 # Enable GSEAL when building with GTK > 2.20
1377 # (Versions prior to 2.22 lacked some necessary accessors.)
1378 AX_APPEND_FLAG([-DGSEAL_ENABLE], [GTK_CONFIG])
1381 GTK_CFLAGS="$GTK_CONFIG $GTK_CFLAGS"
1385 AC_SUBST(GTK_CFLAGS)
1387 AC_SUBST(GUI_CONFIGURE_FLAGS)
1389 # Check for GTK GUI support for GResource pixbufs
1390 have_gresource_pixbuf=no
1391 if test "x$have_gtk" = "xyes"; then
1392 AC_MSG_CHECKING(whether GDK-Pixbuf can load data using GResource)
1393 PKG_CHECK_EXISTS([gio-2.0 >= 2.32 gdk-pixbuf-2.0 >= 2.26],
1396 AC_DEFINE(HAVE_GDK_GRESOURCE, 1, [Defined if GResource is supported])
1397 have_gresource_pixbuf=yes
1399 [AC_MSG_RESULT(no)])
1401 AM_CONDITIONAL(HAVE_GRESOURCE_PIXBUF, test "x$have_gresource_pixbuf" = "xyes")
1403 if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
1404 # We have both GTK and Qt and thus will be building both wireshark
1405 # and wireshark-gtk.
1407 wireshark_bin="wireshark\$(EXEEXT) wireshark-gtk\$(EXEEXT)"
1408 wireshark_man="wireshark.1"
1409 wireshark_SUBDIRS="ui/qt ui/gtk"
1410 elif test "$have_gtk" = "no" -a "$have_qt" = "yes" ; then
1411 # We don't have GTK+ but we have Qt.
1413 wireshark_bin="wireshark\$(EXEEXT)"
1414 wireshark_man="wireshark.1"
1415 wireshark_SUBDIRS="ui/qt"
1416 elif test "$have_gtk" = "yes" -a "$have_qt" = "no" ; then
1417 # We have GTK+ but not Qt.
1419 wireshark_bin="wireshark-gtk\$(EXEEXT)"
1420 wireshark_man="wireshark.1"
1421 wireshark_SUBDIRS="ui/gtk"
1422 elif test "$have_gtk" = "no" -a "$have_qt" = "no" ; then
1423 # We have neither GTK+ nor Qt.
1425 # If they didn't explicitly say "--disable-wireshark",
1426 # fail (so that, unless they explicitly indicated that
1427 # they don't want Wireshark, we stop so they know they
1428 # won't be getting Wireshark unless they fix the GTK+/Qt
1431 if test "x$enable_wireshark" = "xyes"; then
1432 if test "$with_qt" != "no" -a "$with_gtk" != "no" ; then
1436 # This is probably macOS, and the
1437 # problem could be that this is a
1438 # later version of Qt that doesn't
1439 # install .pc files on macOS, so
1440 # pkg-config can't find it.
1442 AC_MSG_ERROR([Neither Qt nor GTK+ are installed for development, or Qt is installed but doesn't work with the configure script, so Wireshark can't be compiled; try using CMake, instead])
1447 # Qt might be installed, but only
1448 # for use by applications, not
1451 AC_MSG_ERROR([Neither Qt nor GTK+ are installed for development, so Wireshark can't be compiled])
1454 elif test "$with_qt" != "no" -a "$with_gtk" = "no" ; then
1458 # This is probably macOS, and the
1459 # problem could be that this is a
1460 # later version of Qt that doesn't
1461 # install .pc files on macOS, so
1462 # pkg-config can't find it.
1464 AC_MSG_ERROR([Qt is not installed or may not work with the configure script, and GTK+ was not requested, so Wireshark cannot be compiled; try using CMake, instead])
1469 # Qt might be installed, but only
1470 # for use by applications, not
1473 AC_MSG_ERROR([Qt is not installed for development and GTK+ was not requested, so Wireshark can't be compiled])
1476 elif test "$with_qt" = "no" -a "$with_gtk" != "no" ; then
1477 AC_MSG_ERROR([Qt was not requested and GTK+ is not installed for development, so Wireshark can't be compiled])
1478 elif test "$with_qt" = "no" -a "$with_gtk" = "no" ; then
1479 AC_MSG_ERROR([Neither Qt nor GTK+ were requested, so Wireshark can't be compiled])
1484 wireshark_SUBDIRS=""
1488 # If we have <dlfcn.h>, check whether we have dladdr.
1490 if test "$ac_cv_header_dlfcn_h" = "yes"
1493 # Use GLib compiler flags and linker flags; GLib's gmodule
1494 # stuff uses the dl APIs if available, so it might know
1495 # what flags are needed.
1497 ac_save_CFLAGS="$CFLAGS"
1498 ac_save_LIBS="$LIBS"
1499 CFLAGS="$WS_CFLAGS $GLIB_CFLAGS $CFLAGS"
1500 LIBS="$LIBS $GLIB_LIBS"
1501 AC_CHECK_FUNCS(dladdr)
1502 if test x$ac_cv_func_dladdr = xno
1505 # OK, try it with -ldl, in case you need that to get
1506 # dladdr(). For some reason, on Linux, that's not
1507 # part of the GLib flags; perhaps GLib itself is
1508 # linked with libdl, so that you can link with
1509 # Glib and it'll pull libdl in itself.
1512 AC_CHECK_FUNCS(dladdr)
1514 CFLAGS="$ac_save_CFLAGS"
1515 LIBS="$ac_save_LIBS"
1518 AC_SUBST(wireshark_bin)
1519 AC_SUBST(wireshark_man)
1520 AC_SUBST(wireshark_SUBDIRS)
1521 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1522 AM_CONDITIONAL(HAVE_GTK, test "$have_gtk" = "yes")
1524 # Enable/disable tshark
1525 AC_ARG_ENABLE(tshark,
1526 AC_HELP_STRING( [--enable-tshark],
1527 [build tshark @<:@default=yes@:>@]),
1528 tshark=$enableval,enable_tshark=yes)
1530 if test "x$enable_tshark" = "xyes" ; then
1531 tshark_bin="tshark\$(EXEEXT)"
1532 tshark_man="tshark.1"
1533 wiresharkfilter_man="wireshark-filter.4"
1538 AC_SUBST(tshark_bin)
1539 AC_SUBST(tshark_man)
1541 # Enable/disable editcap
1543 AC_ARG_ENABLE(editcap,
1544 AC_HELP_STRING( [--enable-editcap],
1545 [build editcap @<:@default=yes@:>@]),
1546 enable_editcap=$enableval,enable_editcap=yes)
1548 if test "x$enable_editcap" = "xyes" ; then
1549 editcap_bin="editcap\$(EXEEXT)"
1550 editcap_man="editcap.1"
1555 AC_SUBST(editcap_bin)
1556 AC_SUBST(editcap_man)
1559 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1562 # Enable/disable capinfos
1564 AC_ARG_ENABLE(capinfos,
1565 AC_HELP_STRING( [--enable-capinfos],
1566 [build capinfos @<:@default=yes@:>@]),
1567 enable_capinfos=$enableval,enable_capinfos=yes)
1569 if test "x$enable_capinfos" = "xyes" ; then
1570 capinfos_bin="capinfos\$(EXEEXT)"
1571 capinfos_man="capinfos.1"
1576 AC_SUBST(capinfos_bin)
1577 AC_SUBST(capinfos_man)
1579 # Enable/disable captype
1581 AC_ARG_ENABLE(captype,
1582 AC_HELP_STRING( [--enable-captype],
1583 [build captype @<:@default=yes@:>@]),
1584 enable_captype=$enableval,enable_captype=yes)
1586 if test "x$enable_captype" = "xyes" ; then
1587 captype_bin="captype\$(EXEEXT)"
1588 captype_man="captype.1"
1593 AC_SUBST(captype_bin)
1594 AC_SUBST(captype_man)
1596 # Enable/disable mergecap
1598 AC_ARG_ENABLE(mergecap,
1599 AC_HELP_STRING( [--enable-mergecap],
1600 [build mergecap @<:@default=yes@:>@]),
1601 enable_mergecap=$enableval,enable_mergecap=yes)
1603 if test "x$enable_mergecap" = "xyes" ; then
1604 mergecap_bin="mergecap\$(EXEEXT)"
1605 mergecap_man="mergecap.1"
1610 AC_SUBST(mergecap_bin)
1611 AC_SUBST(mergecap_man)
1613 # Enable/disable reordercap
1615 AC_ARG_ENABLE(reordercap,
1616 AC_HELP_STRING( [--enable-reordercap],
1617 [build reordercap @<:@default=yes@:>@]),
1618 enable_reordercap=$enableval,enable_reordercap=yes)
1620 if test "x$enable_reordercap" = "xyes" ; then
1621 reordercap_bin="reordercap\$(EXEEXT)"
1622 reordercap_man="reordercap.1"
1627 AC_SUBST(reordercap_bin)
1628 AC_SUBST(reordercap_man)
1630 # Enable/disable text2pcap
1632 AC_ARG_ENABLE(text2pcap,
1633 AC_HELP_STRING( [--enable-text2pcap],
1634 [build text2pcap @<:@default=yes@:>@]),
1635 text2pcap=$enableval,enable_text2pcap=yes)
1637 if test "x$enable_text2pcap" = "xyes" ; then
1638 text2pcap_bin="text2pcap\$(EXEEXT)"
1639 text2pcap_man="text2pcap.1"
1644 AC_SUBST(text2pcap_bin)
1645 AC_SUBST(text2pcap_man)
1647 # Enable/disable dftest
1649 AC_ARG_ENABLE(dftest,
1650 AC_HELP_STRING( [--enable-dftest],
1651 [build dftest @<:@default=yes@:>@]),
1652 enable_dftest=$enableval,enable_dftest=yes)
1654 if test "x$enable_dftest" = "xyes" ; then
1655 dftest_bin="dftest\$(EXEEXT)"
1656 dftest_man="dftest.1"
1661 AC_SUBST(dftest_bin)
1662 AC_SUBST(dftest_man)
1664 # Enable/disable randpkt
1666 AC_ARG_ENABLE(randpkt,
1667 AC_HELP_STRING( [--enable-randpkt],
1668 [build randpkt @<:@default=yes@:>@]),
1669 enable_randpkt=$enableval,enable_randpkt=yes)
1671 if test "x$enable_randpkt" = "xyes" ; then
1672 randpkt_bin="randpkt\$(EXEEXT)"
1673 randpkt_man="randpkt.1"
1678 AC_SUBST(randpkt_bin)
1679 AC_SUBST(randpkt_man)
1681 AC_SUBST(wiresharkfilter_man)
1684 AC_MSG_CHECKING(whether to use libpcap for packet capture)
1687 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
1688 [use libpcap for packet capturing @<:@default=yes@:>@]),
1690 if test $withval = no
1693 elif test $withval = yes
1704 if test "x$want_pcap" = "xno" ; then
1708 AC_WIRESHARK_PCAP_CHECK
1712 AC_MSG_CHECKING(whether to build dumpcap)
1714 AC_ARG_ENABLE(dumpcap,
1715 AC_HELP_STRING( [--enable-dumpcap],
1716 [build dumpcap @<:@default=yes@:>@]),
1717 enable_dumpcap=$enableval,enable_dumpcap=yes)
1719 if test "x$enable_dumpcap" = "xyes" ; then
1720 if test "x$want_pcap" = "xno" ; then
1722 AC_MSG_RESULT(pcap not installed for development - disabling dumpcap)
1730 if test "x$enable_dumpcap" = "xyes" ; then
1731 dumpcap_bin="dumpcap\$(EXEEXT)"
1732 dumpcap_man="dumpcap.1"
1737 AC_SUBST(dumpcap_bin)
1738 AC_SUBST(dumpcap_man)
1740 # Enable/disable rawshark
1743 AC_MSG_CHECKING(whether to build rawshark)
1745 AC_ARG_ENABLE(rawshark,
1746 AC_HELP_STRING( [--enable-rawshark],
1747 [build rawshark @<:@default=yes@:>@]),
1748 rawshark=$enableval,enable_rawshark=yes)
1750 if test "x$enable_rawshark" = "xyes" ; then
1751 if test "x$want_pcap" = "xno" ; then
1753 AC_MSG_RESULT(pcap not installed for development - disabling rawshark)
1761 if test "x$enable_rawshark" = "xyes" ; then
1762 rawshark_bin="rawshark\$(EXEEXT)"
1763 rawshark_man="rawshark.1"
1768 AC_SUBST(rawshark_bin)
1769 AC_SUBST(rawshark_man)
1771 # Enable/disable sharkd
1772 AC_ARG_ENABLE(sharkd,
1773 AC_HELP_STRING( [--enable-sharkd],
1774 [build sharkd @<:@default=yes@:>@]),
1775 sharkd=$enableval,enable_sharkd=yes)
1777 if test "x$enable_sharkd" = "xyes" ; then
1778 sharkd_bin="sharkd\$(EXEEXT)"
1782 AC_SUBST(sharkd_bin)
1784 # Enable/disable tfshark
1785 AC_ARG_ENABLE(tfshark,
1786 AC_HELP_STRING( [--enable-tfshark],
1787 [build tfshark (Experimental) @<:@default=no@:>@]),
1788 tfshark=$enableval,enable_tfshark=no)
1790 if test "x$enable_tfshark" = "xyes" ; then
1791 tfshark_bin="tfshark\$(EXEEXT)"
1792 tfshark_man="tfshark.1"
1793 wiresharkfilter_man="wireshark-filter.4"
1798 AC_SUBST(tfshark_bin)
1799 AC_SUBST(tfshark_man)
1802 dnl Use pcap-ng by default
1803 AC_ARG_ENABLE(pcap-ng-default,
1804 AC_HELP_STRING( [--enable-pcap-ng-default],
1805 [use the pcap-ng file format by default instead of pcap @<:@default=yes@:>@]),
1806 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
1807 if test x$enable_pcap_ng_default = xyes; then
1808 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcap-ng])
1811 dnl pcap remote check
1812 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1814 AC_ARG_WITH(pcap-remote,
1815 AC_HELP_STRING([--with-pcap-remote],
1816 [use libpcap remote capturing (requires libpcap)]),
1818 if test $withval = no
1822 want_pcap_remote=yes
1827 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1831 AC_WIRESHARK_PCAP_REMOTE_CHECK
1835 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
1838 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
1839 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
1841 if test "x$withval" = "xno"
1844 elif test "x$withval" = "xyes"
1853 # Use zlib if it's present, otherwise don't.
1855 want_zlib=ifavailable
1858 if test "x$want_zlib" = "xno" ; then
1862 AC_WIRESHARK_ZLIB_CHECK
1863 if test "x$want_zlib" = "xno" ; then
1864 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
1866 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
1867 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
1874 AC_MSG_CHECKING(whether to use lz4 compression and decompression)
1877 AC_HELP_STRING([--with-lz4@<:@=DIR@:>@],
1878 [use lz4 (located in directory DIR, if supplied) for lz4 compression and decompression @<:@default=yes, if available@:>@]),
1880 if test "x$withval" = "xno"
1883 elif test "x$withval" = "xyes"
1892 # Use lz4 if it's present, otherwise don't.
1894 want_lz4=ifavailable
1898 if test "x$want_lz4" = "xno" ; then
1902 AC_WIRESHARK_LZ4_CHECK
1903 if test "x$want_lz4" = "xno" ; then
1904 AC_MSG_RESULT(lz4 not found - disabling lz4 compression and decompression)
1906 if test "x$ac_cv_func_LZ4_decompress_safe" = "xno" ; then
1907 AC_MSG_RESULT(LZ4_decompress_safe not found in lz4 - disabling cql lz4 decompression)
1917 AC_MSG_CHECKING(whether to use snappy compression and decompression)
1920 AC_HELP_STRING([--with-snappy@<:@=DIR@:>@],
1921 [use snappy (located in directory DIR, if supplied) for snappy compression and decompression @<:@default=yes, if available@:>@]),
1923 if test "x$withval" = "xno"
1926 elif test "x$withval" = "xyes"
1931 snappy_dir="$withval"
1935 # Use snappy if it's present, otherwise don't.
1937 want_snappy=ifavailable
1941 if test "x$want_snappy" = "xno" ; then
1945 AC_WIRESHARK_SNAPPY_CHECK
1946 if test "x$want_snappy" = "xno" ; then
1947 AC_MSG_RESULT(snappy not found - disabling snappy compression and decompression)
1949 if test "x$ac_cv_func_snappy_uncompress" = "xno" ; then
1950 AC_MSG_RESULT(snappy_uncompress not found in snappy - disabling cql snappy decompression)
1956 AC_SUBST(SNAPPY_LIBS)
1960 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1961 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
1963 if test $withval = no
1966 elif test $withval = yes
1971 want_lua_dir=$withval
1974 # By default use Lua if we can find it
1975 want_lua=ifavailable
1978 if test "x$want_lua" != "xno" ; then
1979 AC_WIRESHARK_LIBLUA_CHECK
1981 if test "x$want_lua" = "xyes" -a "x$have_lua" = "xno"
1983 AC_MSG_ERROR([Lua support was requested, but is not installed for development])
1986 if test "x$have_lua" = "xyes"
1988 AC_DEFINE(HAVE_LUA, 1, [Define to use Lua])
1990 AM_CONDITIONAL(HAVE_LIBLUA, test x$have_lua = xyes)
1992 AC_SUBST(LUA_CFLAGS)
1996 AC_MSG_CHECKING(whether to use libportaudio for the GTK+ RTP player)
1998 AC_ARG_WITH(portaudio,
1999 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
2000 [use libportaudio (located in directory DIR, if supplied) for the GTK+ RTP player @<:@default=yes, if available@:>@]),
2002 if test $withval = no
2005 elif test $withval = yes
2010 portaudio_dir=$withval
2014 # Use libportaudio by default
2016 want_portaudio=ifavailable
2019 if test "x$want_portaudio" = "xno" ; then
2023 AC_WIRESHARK_LIBPORTAUDIO_CHECK
2024 if test "x$want_portaudio" = "xno" ; then
2025 AC_MSG_RESULT(libportaudio not found - disabling support for the GTK+ RTP player)
2028 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
2031 dnl Check if dumpcap should be installed with filesystem capabilities
2032 AC_PATH_PROG(SETCAP, setcap)
2033 AC_ARG_ENABLE(setcap-install,
2034 AC_HELP_STRING( [--enable-setcap-install],
2035 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
2036 enable_setcap_install=$enableval,enable_setcap_install=no)
2038 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
2039 if test "x$enable_setcap_install" = "xno" ; then
2042 if test "x$SETCAP" = "x" ; then
2043 AC_MSG_RESULT(setcap not found)
2044 AC_MSG_ERROR([Setcap install was requested, but setcap was not found])
2045 elif test "x$enable_dumpcap" = "xno" ; then
2046 AC_MSG_RESULT(dumpcap disabled)
2047 AC_MSG_ERROR([Setcap install works only with dumpcap, but dumpcap is disabled])
2053 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
2055 dnl Check if dumpcap should be installed setuid
2056 AC_ARG_ENABLE(setuid-install,
2057 AC_HELP_STRING( [--enable-setuid-install],
2058 [install dumpcap as setuid @<:@default=no@:>@]),
2059 enable_setuid_install=$enableval,enable_setuid_install=no)
2061 AC_MSG_CHECKING(whether to install dumpcap setuid)
2062 if test "x$enable_setuid_install" = "xno" ; then
2065 if test "x$enable_setcap_install" = "xyes" ; then
2066 enable_setuid_install=no
2067 AC_MSG_RESULT(setcap and setuid both selected)
2068 AC_MSG_ERROR(You must choose one of setcap install and setuid install)
2069 elif test "x$enable_dumpcap" = "xno" ; then
2070 AC_MSG_RESULT(dumpcap disabled)
2071 AC_MSG_ERROR([Setuid install works only with dumpcap, but dumpcap is disabled])
2077 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
2078 AC_CHECK_FUNCS(setresuid setresgid)
2080 dnl ...but our Network Operations group is named "no"!
2082 AC_ARG_WITH(dumpcap-group,
2083 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
2084 [restrict dumpcap to GROUP]),
2086 if test "x$withval" = "xyes"; then
2087 AC_MSG_ERROR([No dumpcap group specified.])
2088 elif test "x$withval" != "xno"; then
2089 if test "x$enable_dumpcap" = "xno" ; then
2090 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
2092 AC_MSG_RESULT($withval)
2093 DUMPCAP_GROUP="$withval"
2096 AC_SUBST(DUMPCAP_GROUP)
2097 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
2099 dnl libcap (not libpcap) check
2101 AC_MSG_CHECKING(whether to use the libcap capabilities library)
2104 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
2105 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
2107 if test "x$withval" = "xno"; then
2109 elif test "x$withval" = "xyes"; then
2111 elif test -d "$withval"; then
2113 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2116 if test "x$with_libcap" = "xno" ; then
2120 AC_WIRESHARK_LIBCAP_CHECK
2122 AC_SUBST(LIBCAP_LIBS)
2124 dnl Checks for header files.
2125 dnl Some of these may not be needed: http://hacks.owlfolio.org/header-survey/
2126 dnl Note, however, that, whilst this script is generally run only on UN*Xes:
2128 dnl 1) we also support building on and for Windows and not all of those
2129 dnl headers are present on Windows, so the code has to check a
2130 dnl #define *anyway* to determine whether to include the header
2135 dnl 2) this might also be run on Windows with a sufficiently UNIXy
2136 dnl environment such as Cygwin (although Wireshark should be built
2137 dnl natively rather than using Cygwin).
2139 AC_CHECK_HEADERS(fcntl.h getopt.h grp.h inttypes.h netdb.h pwd.h unistd.h)
2140 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)
2141 AC_CHECK_HEADERS(netinet/in.h)
2142 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
2143 AC_CHECK_HEADERS(ifaddrs.h)
2146 # On Linux, check for some additional headers, which we need as a
2147 # workaround for a bonding driver bug and for libpcap's current lack
2148 # of its own workaround for that bug.
2152 AC_CHECK_HEADERS(linux/sockios.h linux/if_bonding.h,,,[#include <sys/socket.h>])
2158 AC_MSG_CHECKING(whether to use SSL library)
2161 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
2162 [use SSL crypto library (located in directory DIR, if supplied) @<:@default=no@:>@]),
2164 if test "x$withval" = "xno"; then
2166 elif test "x$withval" = "xyes"; then
2168 elif test -d "$withval"; then
2170 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2175 if test "x$want_ssl" = "xyes"; then
2177 AC_CHECK_LIB(crypto,EVP_md5,
2182 AC_MSG_ERROR([SSL crypto library was requested, but is not installed for development])
2190 AC_MSG_CHECKING(whether to use Kerberos library)
2193 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
2194 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
2196 if test $withval = no
2199 elif test $withval = yes
2208 # Use Kerberos library if available, otherwise don't.
2210 want_krb5=ifavailable
2213 if test "x$want_krb5" = "xno" ; then
2217 AC_WIRESHARK_KRB5_CHECK
2223 AC_MSG_CHECKING(whether to use the c-ares library if available)
2226 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
2227 [use c-ares (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2229 if test "x$withval" = "xno"; then
2231 elif test "x$withval" = "xyes"; then
2233 elif test -d "$withval"; then
2235 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2238 if test "x$want_c_ares" = "xno" ; then
2242 AC_WIRESHARK_C_ARES_CHECK
2244 AC_SUBST(C_ARES_LIBS)
2248 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
2251 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
2252 [use GeoIP (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2254 if test "x$withval" = "xno"; then
2256 elif test "x$withval" = "xyes"; then
2258 elif test -d "$withval"; then
2260 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2263 if test "x$want_geoip" = "xno"; then
2267 AC_WIRESHARK_GEOIP_CHECK
2269 AC_SUBST(GEOIP_LIBS)
2273 AC_MSG_CHECKING(whether to use the libssh library if available)
2276 AC_HELP_STRING( [--with-libssh@<:@=DIR@:>@],
2277 [use libssh (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2279 if test "x$withval" = "xno"; then
2281 elif test "x$withval" = "xyes"; then
2283 elif test -d "$withval"; then
2285 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2288 if test "x$want_libssh" = "xno"; then
2292 AC_WIRESHARK_LIBSSH_CHECK
2294 AC_SUBST(LIBSSH_LIBS)
2298 AC_MSG_CHECKING(whether to use the nghttp2 HPACK library if available)
2300 AC_ARG_WITH(nghttp2,
2301 AC_HELP_STRING( [--with-nghttp2@<:@=DIR@:>@],
2302 [use nghttp2 (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2304 if test "x$withval" = "xno"; then
2306 elif test "x$withval" = "xyes"; then
2308 elif test -d "$withval"; then
2310 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2313 if test "x$want_nghttp2" = "xno"; then
2317 AC_WIRESHARK_NGHTTP2_CHECK
2319 AC_SUBST(NGHTTP2_LIBS)
2321 dnl Checks for typedefs, structures, and compiler characteristics.
2324 # Check how we can get the time zone abbreviation
2327 # We need to know whether "struct stat" has an "st_flags" member
2328 # for file_user_immutable().
2330 AC_CHECK_MEMBERS([struct stat.st_flags])
2332 # We need to know whether "struct stat" has an "st_birthtime" member
2333 # or an "__st_birthtime" member for the file set dialog.
2335 AC_CHECK_MEMBERS([struct stat.st_birthtime])
2336 AC_CHECK_MEMBERS([struct stat.__st_birthtime])
2338 # We need to know whether "struct sockaddr" has an "sa_len" member
2339 # for get_interface_list().
2341 AC_CHECK_MEMBERS([struct sockaddr.sa_len],,,
2342 [#ifdef HAVE_SYS_TYPES_H
2343 #include <sys/types.h>
2345 #ifdef HAVE_SYS_SOCKET_H
2346 #include <sys/socket.h>
2349 # We must know our byte order
2352 # Checks whether "-traditional" is needed when using "ioctl".
2353 # XXX - do we need this?
2354 AC_PROG_GCC_TRADITIONAL
2356 AC_REPLACE_FUNCS(getopt_long)
2358 dnl Do we have optreset?
2360 if test "x$ac_cv_func_getopt_long" = xyes; then
2361 AC_CACHE_CHECK([whether optreset is defined], ac_cv_have_optreset,
2362 AC_LINK_IFELSE([AC_LANG_SOURCE([[extern int optreset;return optreset;]])],
2363 ac_cv_have_optreset=yes, ac_cv_have_optreset=no))
2364 if test "$ac_cv_have_optreset" = yes ; then
2365 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if you have the optreset variable])
2369 AC_REPLACE_FUNCS(inet_pton inet_ntop)
2370 AC_REPLACE_FUNCS(strptime)
2371 AC_REPLACE_FUNCS(popcount)
2373 AC_CHECK_FUNCS(mkstemps mkdtemp)
2374 AC_CHECK_FUNCS(getprotobynumber)
2375 AC_CHECK_FUNCS(issetugid)
2376 AC_CHECK_FUNCS(sysconf)
2377 AC_CHECK_FUNCS(getifaddrs)
2378 AC_CHECK_FUNC(getexecname)
2381 # Check for SpeexDSP (http://www.speex.org)
2383 AS_IF([test "x$have_qt_multimedia_lib" = xyes],
2384 [PKG_CHECK_MODULES(SPEEXDSP, speexdsp, [have_speexdsp=yes], [have_speexdsp=no])])
2385 AS_IF([test "x$have_speexdsp" = xyes],
2386 [AC_DEFINE(HAVE_SPEEXDSP, 1, [Define to 1 if you have SpeexDSP])])
2387 AM_CONDITIONAL(HAVE_SPEEXDSP, [test "x$have_speexdsp" = "xyes"])
2389 # Check Bluetooth SBC codec for RTP Player
2390 # git://git.kernel.org/pub/scm/bluetooth/sbc.git
2392 AC_HELP_STRING( [--with-sbc=@<:@yes/no@:>@],
2393 [use SBC codec to play Bluetooth A2DP stream @<:@default=yes, if available@:>@]),
2394 with_sbc="$withval"; want_sbc="yes", with_sbc="yes")
2396 PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
2397 if test "x$with_sbc" != "xno"; then
2398 if (test "${have_sbc}" = "yes"); then
2399 AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
2400 elif test "x$want_sbc" = "xyes"; then
2401 # Error out if the user explicitly requested the sbc library
2402 AC_MSG_ERROR([SBC codec library was requested, but is not installed for development])
2407 AM_CONDITIONAL(HAVE_SBC, test "x$have_sbc" = "xyes")
2410 # Check SpanDSP library for RTP Player
2411 # http://www.soft-switch.org/
2412 AC_ARG_WITH([spandsp],
2413 AC_HELP_STRING( [--with-spandsp=@<:@yes/no@:>@],
2414 [use SpanDSP to play G.722/G.726 codecs @<:@default=yes, if available@:>@]),
2415 with_spandsp="$withval"; want_spandsp="yes", with_spandsp="yes")
2417 PKG_CHECK_MODULES(SPANDSP, spandsp, [have_spandsp=yes], [have_spandsp=no])
2418 if test "x$with_spandsp" != "xno"; then
2419 if (test "${have_spandsp}" = "yes"); then
2420 AC_DEFINE(HAVE_SPANDSP, 1, [Define if you have the SpanDSP library])
2421 elif test "x$want_spandsp" = "xyes"; then
2422 # Error out if the user explicitly requested the SpanDSP library
2423 AC_MSG_ERROR([SpanDSP library was requested, but is not installed for development])
2428 AM_CONDITIONAL(HAVE_SPANDSP, test "x$have_spandsp" = "xyes")
2431 # Check bcg729 library for RTP Player
2432 # https://www.linphone.org/technical-corner/bcg729/overview
2435 AC_MSG_CHECKING(whether to use the bcg729 library if available)
2437 AC_ARG_WITH([bcg729],
2438 AC_HELP_STRING( [--with-bcg729=@<:@=DIR@:>@],
2439 [use bcg729 to play G.729 codec(located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2441 if test "x$withval" = "xno"; then
2443 elif test "x$withval" = "xyes"; then
2445 elif test -d "$withval"; then
2447 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2450 if test "x$want_bcg729" = "xno"; then
2454 AC_WIRESHARK_BCG729_CHECK
2456 AC_SUBST(BCG729_LIBS)
2457 AM_CONDITIONAL(HAVE_BCG729, test "x$have_good_bcg729" = "xyes")
2461 AC_ARG_WITH(libxml2,
2462 AC_HELP_STRING([--with-libxml2=@<:@yes/no@:>@],
2463 [Libxml2 is a XML C parser, which can be used for handling XML configuration in dissectors @<:@default=yes, if available@:>@]),
2464 with_libxml2="$withval"; want_libxml2="yes", with_libxml2="yes")
2466 PKG_CHECK_MODULES(LIBXML2, libxml-2.0, [have_libxml2=yes], [have_libxml2=no])
2467 if test "x$with_libxml2" != "xno"; then
2468 if (test "${have_libxml2}" = "yes"); then
2469 AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have libxml2])
2470 elif test "x$want_libxml2" = "xyes"; then
2471 # Error out if the user explicitly requested libxml2
2472 AC_MSG_ERROR([Libxml2 was requested, but is not installed for development])
2477 AM_CONDITIONAL(HAVE_LIBXML2, test "x$have_libxml2" = "xyes")
2481 dnl check whether plugins should be enabled
2483 AC_ARG_ENABLE(plugins,
2484 AC_HELP_STRING( [--enable-plugins],
2485 [support plugins (if available on your platform) @<:@default=yes@:>@]),
2486 [have_plugins=$enableval], [have_plugins=yes])
2488 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2489 if test x$have_plugins = xyes
2491 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2493 dnl we don't wish to expand ${libdir} yet
2494 plugindir="\${libdir}/wireshark/plugins/$VERSION_RELEASE"
2498 # The plugin dissectors reside in ./plugins/PROTO/
2501 AC_SUBST(PLUGIN_LIBS)
2504 dnl check whether extcap programs should be enabled and, if they should be,
2505 dnl check for extcap directory - stolen from Amanda's configure.ac
2507 dnl we don't wish to expand ${libdir} yet
2508 extcapdir="\${libdir}/wireshark/extcap"
2510 AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@],
2511 [use extcap for external capture sources (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2513 if test "x$withval" = "xno"; then
2515 elif test "x$withval" = "xyes"; then
2517 elif test "x$withval" != "xyes"; then
2519 extcapdir ="$withval"
2524 AM_CONDITIONAL(HAVE_EXTCAP, test "x$have_extcap" = "xyes")
2525 if test "x$have_extcap" = "xyes"
2527 AC_DEFINE(HAVE_EXTCAP, 1, [Define if external capture sources should be enabled])
2528 extcap_man="extcap.4"
2530 AC_SUBST(extcap_man)
2533 dnl androiddump check
2534 AC_MSG_CHECKING(whether to build androiddump)
2536 AC_ARG_ENABLE(androiddump,
2537 AC_HELP_STRING( [--enable-androiddump],
2538 [build androiddump @<:@default=yes@:>@]),
2539 androiddump=$enableval,enable_androiddump=yes)
2541 if test "x$have_extcap" != xyes; then
2542 AC_MSG_RESULT([no, extcap disabled])
2543 enable_androiddump=no
2544 elif test "x$enable_androiddump" = "xyes" ; then
2550 AC_ARG_ENABLE(androiddump_use_libpcap,
2551 AC_HELP_STRING( [--enable-androiddump-use-libpcap],
2552 [build androiddump using libpcap @<:@default=no@:>@]),
2553 androiddump_use_libpcap=$enableval,enable_androiddump_use_libpcap=no)
2555 if test "x$enable_androiddump" = "xyes" -a "x$enable_androiddump_use_libpcap" = "xyes" ; then
2556 AC_DEFINE(ANDROIDDUMP_USE_LIBPCAP, 1, [Androiddump will use Libpcap])
2559 if test "x$enable_androiddump" = "xyes" ; then
2560 androiddump_bin="androiddump\$(EXEEXT)"
2561 androiddump_man="androiddump.1"
2566 AC_SUBST(androiddump_bin)
2567 AC_SUBST(androiddump_man)
2570 AC_MSG_CHECKING(whether to build sshdump)
2572 AC_ARG_ENABLE(sshdump,
2573 AC_HELP_STRING( [--enable-sshdump],
2574 [build sshdump @<:@default=yes@:>@]),
2575 [],[enable_sshdump=yes])
2577 if test "x$have_extcap" != xyes; then
2578 AC_MSG_RESULT([no, extcap disabled])
2580 elif test "x$have_libssh_pointsix" != xyes; then
2581 AC_MSG_RESULT([no, libssh >= 0.6.0 not installed for development])
2583 elif test "x$enable_sshdump" = "xyes" ; then
2589 if test "x$enable_sshdump" = "xyes" ; then
2590 sshdump_bin="sshdump\$(EXEEXT)"
2591 sshdump_man="sshdump.1"
2596 AC_SUBST(sshdump_bin)
2597 AC_SUBST(sshdump_man)
2600 AC_MSG_CHECKING(whether to build ciscodump)
2602 AC_ARG_ENABLE(ciscodump,
2603 AC_HELP_STRING( [--enable-ciscodump],
2604 [build ciscodump @<:@default=yes@:>@]),
2605 [],[enable_ciscodump=yes])
2607 if test "x$have_extcap" != xyes; then
2608 AC_MSG_RESULT([no, extcap disabled])
2610 elif test "x$have_libssh_pointsix" != xyes; then
2611 AC_MSG_RESULT([no, libssh >= 0.6.0 not installed for development])
2613 elif test "x$enable_ciscodump" = "xyes" ; then
2619 if test "x$enable_ciscodump" = "xyes" ; then
2620 ciscodump_bin="ciscodump\$(EXEEXT)"
2621 ciscodump_man="ciscodump.1"
2626 AC_SUBST(ciscodump_bin)
2627 AC_SUBST(ciscodump_man)
2629 dnl randpktdump check
2630 AC_MSG_CHECKING(whether to build randpktdump)
2632 AC_ARG_ENABLE(randpktdump,
2633 AC_HELP_STRING( [--enable-randpktdump],
2634 [build randpktdump @<:@default=yes@:>@]),
2635 randpktdump=$enableval,enable_randpktdump=yes)
2637 if test "x$have_extcap" != xyes; then
2638 AC_MSG_RESULT([no, extcap disabled])
2639 enable_randpktdump=no
2640 elif test "x$enable_randpktdump" = "xyes" ; then
2646 if test "x$enable_randpktdump" = "xyes" ; then
2647 randpktdump_bin="randpktdump\$(EXEEXT)"
2648 randpktdump_man="randpktdump.1"
2653 AC_SUBST(randpktdump_bin)
2654 AC_SUBST(randpktdump_man)
2657 AC_MSG_CHECKING(whether to build udpdump)
2659 AC_ARG_ENABLE(udpdump,
2660 AC_HELP_STRING( [--enable-udpdump],
2661 [build udpdump @<:@default=yes@:>@]),
2662 [],[enable_udpdump=yes])
2664 if test "x$have_extcap" != xyes; then
2665 AC_MSG_RESULT([no, extcap disabled])
2667 elif test "x$enable_udpdump" = "xyes" ; then
2673 if test "x$enable_udpdump" = "xyes" ; then
2674 udpdump_bin="udpdump\$(EXEEXT)"
2675 udpdump_man="udpdump.1"
2680 AC_SUBST(udpdump_bin)
2681 AC_SUBST(udpdump_man)
2683 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2684 if test x$enable_static = xyes -a x$have_plugins = xyes
2686 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
2688 AC_SUBST(ENABLE_STATIC)
2690 # Gather which GUI we're building for rpmbuild
2691 if test "x$have_gtk" = "xyes"; then
2692 if test "x$gtk_major_version" = "x3"; then
2693 RPMBUILD_WITH_ARGS="--with gtk3 --without gtk2"
2695 RPMBUILD_WITH_ARGS="--without gtk3 --with gtk2"
2698 RPMBUILD_WITH_ARGS="--without gtk2 --without gtk3"
2700 if test "x$have_qt" = "xyes" ; then
2701 if test "$qt_version" -eq "5"; then
2702 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt5"
2704 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
2707 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt --without qt5"
2709 if test "x$have_lua" = "xyes" ; then
2710 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with lua"
2712 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without lua"
2714 AC_SUBST(RPMBUILD_WITH_ARGS)
2715 AC_SUBST(RPM_VERSION, version_major.version_minor.version_micro)
2717 AC_SUBST(WS_CPPFLAGS)
2719 AC_SUBST(WS_CXXFLAGS)
2720 AC_SUBST(WS_LDFLAGS)
2722 AC_SUBST(WS_CFLAGS_FOR_BUILD)
2724 AH_BOTTOM([#include <ws_diag_control.h>])
2726 dnl Save the cacheable configure results to config.cache before recursing
2729 sinclude(plugins/Custom.m4) dnl
2730 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
2732 sinclude(epan/dissectors/asn1/Custom.m4) dnl
2733 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2735 AC_CONFIG_HEADERS([config.h])
2740 epan/dissectors/asn1/Makefile
2742 _CUSTOM_ASN1_AC_OUTPUT_
2743 epan/dissectors/asn1/acp133/Makefile
2744 epan/dissectors/asn1/acse/Makefile
2745 epan/dissectors/asn1/ansi_map/Makefile
2746 epan/dissectors/asn1/ansi_tcap/Makefile
2747 epan/dissectors/asn1/atn-cm/Makefile
2748 epan/dissectors/asn1/atn-cpdlc/Makefile
2749 epan/dissectors/asn1/atn-ulcs/Makefile
2750 epan/dissectors/asn1/c1222/Makefile
2751 epan/dissectors/asn1/camel/Makefile
2752 epan/dissectors/asn1/cdt/Makefile
2753 epan/dissectors/asn1/charging_ase/Makefile
2754 epan/dissectors/asn1/cmip/Makefile
2755 epan/dissectors/asn1/cmp/Makefile
2756 epan/dissectors/asn1/crmf/Makefile
2757 epan/dissectors/asn1/cms/Makefile
2758 epan/dissectors/asn1/credssp/Makefile
2759 epan/dissectors/asn1/dap/Makefile
2760 epan/dissectors/asn1/disp/Makefile
2761 epan/dissectors/asn1/dop/Makefile
2762 epan/dissectors/asn1/dsp/Makefile
2763 epan/dissectors/asn1/ess/Makefile
2764 epan/dissectors/asn1/ftam/Makefile
2765 epan/dissectors/asn1/goose/Makefile
2766 epan/dissectors/asn1/gprscdr/Makefile
2767 epan/dissectors/asn1/gsm_map/Makefile
2768 epan/dissectors/asn1/h225/Makefile
2769 epan/dissectors/asn1/h235/Makefile
2770 epan/dissectors/asn1/h245/Makefile
2771 epan/dissectors/asn1/h248/Makefile
2772 epan/dissectors/asn1/h282/Makefile
2773 epan/dissectors/asn1/h283/Makefile
2774 epan/dissectors/asn1/h323/Makefile
2775 epan/dissectors/asn1/h450/Makefile
2776 epan/dissectors/asn1/h450-ros/Makefile
2777 epan/dissectors/asn1/h460/Makefile
2778 epan/dissectors/asn1/h501/Makefile
2779 epan/dissectors/asn1/HI2Operations/Makefile
2780 epan/dissectors/asn1/hnbap/Makefile
2781 epan/dissectors/asn1/idmp/Makefile
2782 epan/dissectors/asn1/ilp/Makefile
2783 epan/dissectors/asn1/inap/Makefile
2784 epan/dissectors/asn1/isdn-sup/Makefile
2785 epan/dissectors/asn1/kerberos/Makefile
2786 epan/dissectors/asn1/lcsap/Makefile
2787 epan/dissectors/asn1/ldap/Makefile
2788 epan/dissectors/asn1/logotypecertextn/Makefile
2789 epan/dissectors/asn1/lpp/Makefile
2790 epan/dissectors/asn1/lppa/Makefile
2791 epan/dissectors/asn1/lppe/Makefile
2792 epan/dissectors/asn1/lte-rrc/Makefile
2793 epan/dissectors/asn1/m2ap/Makefile
2794 epan/dissectors/asn1/m3ap/Makefile
2795 epan/dissectors/asn1/mms/Makefile
2796 epan/dissectors/asn1/mpeg-audio/Makefile
2797 epan/dissectors/asn1/mpeg-pes/Makefile
2798 epan/dissectors/asn1/mudurl/Makefile
2799 epan/dissectors/asn1/nbap/Makefile
2800 epan/dissectors/asn1/ns_cert_exts/Makefile
2801 epan/dissectors/asn1/novell_pkis/Makefile
2802 epan/dissectors/asn1/ocsp/Makefile
2803 epan/dissectors/asn1/p1/Makefile
2804 epan/dissectors/asn1/p22/Makefile
2805 epan/dissectors/asn1/p7/Makefile
2806 epan/dissectors/asn1/p772/Makefile
2807 epan/dissectors/asn1/pcap/Makefile
2808 epan/dissectors/asn1/pkcs1/Makefile
2809 epan/dissectors/asn1/pkcs12/Makefile
2810 epan/dissectors/asn1/pkinit/Makefile
2811 epan/dissectors/asn1/pkixac/Makefile
2812 epan/dissectors/asn1/pkix1explicit/Makefile
2813 epan/dissectors/asn1/pkix1implicit/Makefile
2814 epan/dissectors/asn1/pkixproxy/Makefile
2815 epan/dissectors/asn1/pkixqualified/Makefile
2816 epan/dissectors/asn1/pkixtsp/Makefile
2817 epan/dissectors/asn1/pres/Makefile
2818 epan/dissectors/asn1/q932/Makefile
2819 epan/dissectors/asn1/q932-ros/Makefile
2820 epan/dissectors/asn1/qsig/Makefile
2821 epan/dissectors/asn1/ranap/Makefile
2822 epan/dissectors/asn1/rnsap/Makefile
2823 epan/dissectors/asn1/ros/Makefile
2824 epan/dissectors/asn1/rrc/Makefile
2825 epan/dissectors/asn1/rrlp/Makefile
2826 epan/dissectors/asn1/rtse/Makefile
2827 epan/dissectors/asn1/rua/Makefile
2828 epan/dissectors/asn1/s1ap/Makefile
2829 epan/dissectors/asn1/sabp/Makefile
2830 epan/dissectors/asn1/sbc-ap/Makefile
2831 epan/dissectors/asn1/smrse/Makefile
2832 epan/dissectors/asn1/snmp/Makefile
2833 epan/dissectors/asn1/spnego/Makefile
2834 epan/dissectors/asn1/sv/Makefile
2835 epan/dissectors/asn1/t124/Makefile
2836 epan/dissectors/asn1/t125/Makefile
2837 epan/dissectors/asn1/t38/Makefile
2838 epan/dissectors/asn1/tcap/Makefile
2839 epan/dissectors/asn1/tetra/Makefile
2840 epan/dissectors/asn1/ulp/Makefile
2841 epan/dissectors/asn1/wlancertextn/Makefile
2842 epan/dissectors/asn1/x2ap/Makefile
2843 epan/dissectors/asn1/x509af/Makefile
2844 epan/dissectors/asn1/x509ce/Makefile
2845 epan/dissectors/asn1/x509if/Makefile
2846 epan/dissectors/asn1/x509sat/Makefile
2848 capchild/doxygen.cfg
2850 caputils/doxygen.cfg
2854 epan/compress/Makefile
2857 epan/dfilter/Makefile
2858 epan/dissectors/Makefile
2859 epan/dissectors/dcerpc/Makefile
2860 epan/ftypes/Makefile
2874 packaging/macosx/Info.plist
2875 packaging/macosx/Makefile
2876 packaging/macosx/Wireshark_package.pmdoc/index.xml
2877 packaging/nsis/Makefile
2878 packaging/rpm/Makefile
2879 packaging/rpm/SPECS/Makefile
2880 packaging/rpm/SPECS/wireshark.spec
2881 packaging/wix/Makefile
2883 plugins/docsis/Makefile
2884 plugins/ethercat/Makefile
2885 plugins/gryphon/Makefile
2886 plugins/irda/Makefile
2887 plugins/mate/Makefile
2888 plugins/opcua/Makefile
2889 plugins/profinet/Makefile
2890 plugins/stats_tree/Makefile
2891 plugins/transum/Makefile
2892 plugins/unistim/Makefile
2893 plugins/wimax/Makefile
2894 plugins/wimaxasncp/Makefile
2895 plugins/wimaxmacphy/Makefile
2896 randpkt_core/doxygen.cfg
2897 randpkt_core/Makefile
2899 tools/lemon/Makefile
2902 writecap/doxygen.cfg
2912 if test "x$have_gtk" = "xyes"; then
2913 gtk_lib_message=" (with GTK+ v$GTK_VERSION)"
2916 if test "x$have_qt" = "xyes" ; then
2917 enable_wireshark_qt="yes"
2918 qt_lib_message=" (with Qt$qt_version v$QT_VERSION)"
2920 enable_wireshark_qt="no"
2923 if test "x$enable_setcap_install" = "xyes" ; then
2924 setcap_message="yes"
2929 if test "x$enable_setuid_install" = "xyes" ; then
2930 setuid_message="yes"
2935 if test "x$DUMPCAP_GROUP" = "x" ; then
2936 dumpcap_group_message="(none)"
2938 dumpcap_group_message="$DUMPCAP_GROUP"
2941 if test "x$want_zlib" = "xno" ; then
2947 if test "x$have_lua" = "xyes" ; then
2953 if test "x$have_qt_multimedia_lib" = "xyes" ; then
2954 qt_multimedia_message="yes"
2956 qt_multimedia_message="no"
2959 if test "x$want_portaudio" = "xyes" ; then
2960 portaudio_message="yes"
2962 portaudio_message="no"
2965 if test "x$want_ssl" = "xno" ; then
2971 if test "x$want_krb5" = "xno" ; then
2974 krb5_message="yes ($ac_krb5_version)"
2977 if test "x$have_good_c_ares" = "xyes" ; then
2978 c_ares_message="yes"
2980 c_ares_message="no (name resolution will be disabled)"
2983 if test "x$have_good_libcap" = "xyes" ; then
2984 libcap_message="yes"
2989 if test "x$have_good_geoip" = "xyes" ; then
2995 if test "x$have_good_libssh" = "xyes" ; then
2996 libssh_message="yes"
3001 if test "x$have_ssh_userauth_agent" = "xyes" ; then
3002 ssh_userauth_agent_message="yes"
3004 ssh_userauth_agent_message="no"
3007 if test "x$have_good_nghttp2" = "xyes" ; then
3008 nghttp2_message="yes"
3010 nghttp2_message="no"
3013 if test "x$have_good_bcg729" = "xyes" ; then
3014 bcg729_message="yes"
3019 if test "x$have_wsug" = xyes -a "x$want_wsug" != xno; then
3026 echo " CPPFLAGS: $WS_CPPFLAGS $CPPFLAGS"
3028 echo " CFLAGS: $WS_CFLAGS $CFLAGS"
3030 echo " CXXFLAGS: $WS_CXXFLAGS $CXXFLAGS"
3032 echo " LDFLAGS: $WS_LDFLAGS $LDFLAGS"
3037 echo "The Wireshark package has been configured with the following options:"
3038 echo " GLib version : v$GLIB_VERSION"
3039 echo " Build wireshark : $enable_wireshark_qt$qt_lib_message"
3040 echo " Build wireshark-gtk : $have_gtk""$gtk_lib_message"
3041 echo " Build tshark : $enable_tshark"
3042 echo " Build tfshark : $enable_tfshark"
3043 echo " Build capinfos : $enable_capinfos"
3044 echo " Build captype : $enable_captype"
3045 echo " Build editcap : $enable_editcap"
3046 echo " Build dumpcap : $enable_dumpcap"
3047 echo " Build mergecap : $enable_mergecap"
3048 echo " Build reordercap : $enable_reordercap"
3049 echo " Build text2pcap : $enable_text2pcap"
3050 echo " Build randpkt : $enable_randpkt"
3051 echo " Build dftest : $enable_dftest"
3052 echo " Build rawshark : $enable_rawshark"
3053 echo " Build sharkd : $enable_sharkd"
3054 echo " Build androiddump : $enable_androiddump"
3055 echo " Build sshdump : $enable_sshdump"
3056 echo " Build ciscodump : $enable_ciscodump"
3057 echo " Build randpktdump : $enable_randpktdump"
3058 echo " Build udpdump : $enable_udpdump"
3059 echo " Build User's Guide : $wsug_message"
3061 echo " Save files as pcap-ng by default : $enable_pcap_ng_default"
3062 echo " Install dumpcap with capabilities : $setcap_message"
3063 echo " Install dumpcap setuid : $setuid_message"
3064 echo " Use dumpcap group : $dumpcap_group_message"
3065 echo " Use plugins : $have_plugins"
3066 echo " Use external capture sources : $have_extcap"
3067 echo " Use Lua library : $lua_message"
3068 echo " Build Qt RTP player : $qt_multimedia_message"
3069 echo " Build GTK+ RTP player : $portaudio_message"
3070 echo " Build profile binaries : $enable_profile_build"
3071 echo " Use pcap library : $want_pcap"
3072 echo " Use zlib library : $zlib_message"
3073 echo " Use kerberos library : $krb5_message"
3074 echo " Use c-ares library : $c_ares_message"
3075 echo " Use SMI MIB library : $libsmi_message"
3076 echo " Use GNU gcrypt library : yes"
3077 echo " Use SSL crypto library : $ssl_message"
3078 echo " Use GnuTLS library : $tls_message"
3079 echo " Use POSIX capabilities library : $libcap_message"
3080 echo " Use GeoIP library : $geoip_message"
3081 echo " Use libssh library : $libssh_message"
3082 echo " Have ssh_userauth_agent : $ssh_userauth_agent_message"
3083 echo " Use nl library : $libnl_message"
3084 echo " Use SBC codec library : $have_sbc"
3085 echo " Use SpanDSP library : $have_spandsp"
3086 echo " Use bcg729 library : $bcg729_message"
3087 echo " Use libxml2 library : $have_libxml2"
3088 echo " Use nghttp2 library : $nghttp2_message"
3089 echo " Use LZ4 library : $have_lz4"
3090 echo " Use Snappy library : $have_snappy"
3091 #echo " Use GDK-Pixbuf with GResource: $have_gresource_pixbuf"