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], [2])
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])
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 # Check if we should build the Wireshark User's Guide
438 AC_ARG_ENABLE(guides,
439 AC_HELP_STRING( [--disable-guides],
440 [Don't build the Wireshark User's Guide]),
441 [want_wsug=$enableval], [want_wsug=if_available])
444 # Check for programs used when building DocBook documentation.
447 AC_PATH_PROGS(ASCIIDOCTOR, [asciidoctorj asciidoctor])
448 AC_CHECK_PROGS(HAVE_ASCIIDOCTOR, [asciidoctorj asciidoctor], "yes", "no")
449 AM_CONDITIONAL(HAVE_ASCIIDOCTOR, test x$HAVE_ASCIIDOCTOR = xyes)
450 AS_IF([test ! -x "$ASCIIDOCTOR"],
452 AS_IF([test "x$want_wsug" = xyes],
453 [AC_MSG_ERROR([Asciidoctor not found. This is required to build the release notes and guides])])
456 AC_PATH_PROG(XSLTPROC, xsltproc, xsltproc)
457 AS_IF([test ! -x "$XSLTPROC"],
459 AS_IF([test "x$want_wsug" = xyes],
460 [AC_MSG_ERROR([xlstproc not found but required to build the Wireshark User's Guide])])
464 AM_CONDITIONAL(BUILD_USER_GUIDE, [test "x$have_wsug" = xyes -a "x$want_wsug" != xno])
467 AC_CHECK_PROGS(RPMBUILD, [rpmbuild], [rpmbuild])
470 AC_CHECK_PROG(SHELLCHECK, shellcheck)
473 # Check compiler vendor. For GCC this will be 'gnu' and for Clang 'clang'.
476 if test "x$CXX" != "x" ; then
483 # Some compilers have to be told to fail when passed an unknown -W flag;
484 # make sure we do that.
486 AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
489 # Some C++ compilers have to be told to fail when passed a -W flag that
490 # they don't think should apply to C++; make sure we do that.
492 AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
495 # The following are for C and C++
497 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall)
498 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra)
499 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels)
500 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith)
501 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
502 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
503 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
504 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
505 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
506 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
507 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
508 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
509 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
510 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
511 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
512 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
513 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
514 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcomma)
517 # The following are C only, not C++
519 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
520 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunused-const-variable, C)
525 # Make sure -Wshadow doesn't complain about variables in function and
526 # function pointer declarations shadowing other variables; if not, don't
527 # turn it on, as some versions of GCC (including the one in at least
528 # some Xcode versions that came with Mac OS X 10.5) complain about
531 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshadow, C,
533 extern int bar(int a);
539 int (*fptr)(int a) = bar;
544 [warns about variables in function declarations shadowing other variables])
546 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
547 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
548 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
550 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
551 # is given a constant string.
552 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
553 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wlogical-op, C,
557 int foo(const char *, int);
561 foo(const char *sep, int c)
563 if (strchr (sep, c) != NULL)
572 return foo("<", 'a');
575 [generates warnings from strchr()])
577 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
578 # The Qt headers generate a ton of shortening errors on 64-bit systems
579 # so only enable this for C for now.
580 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
583 # Implicit function declarations are an error in C++ and most
584 # likely a programming error in C. Turn -Wimplicit-int and
585 # -Wimplicit-function-declaration into an error by default.
587 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Werror=implicit, C)
589 # Clang only. Avoid "argument unused during compilation" warnings
590 # (for example, when getting the -gsplit-dwarf option or
591 # when combining -fwrapv with -fno-strict-overflow)
592 if test x"$ax_cv_c_compiler_vendor" = xclang; then
593 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Qunused-arguments, C)
595 if test x"$ax_cv_cxx_compiler_vendor" = xclang; then
596 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Qunused-arguments, CXX)
600 # Use the faster pre gcc 4.5 floating point precision if available.
602 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
605 # Try to have the compiler default to hiding symbols, so that only
606 # symbols explicitly exported with WS_DLL_PUBLIC will be visible
607 # outside (shared) libraries; that way, more UN*X builds will catch
608 # failures to export symbols, rather than having that fail only on
611 # GCC and GCC-compatible compilers
613 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
614 if test "x$can_add_to_cflags" = "xno"
619 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
620 if test "x$can_add_to_cflags" = "xno"
622 # TODO add other ways of hiding symbols
623 AC_MSG_WARN(Compiler will export all symbols from shared libraries)
628 # Try to add some additional checks to CFLAGS.
629 # These are not enabled by default, because the warnings they produce
630 # are very hard or impossible to eliminate.
632 AC_ARG_ENABLE(extra-compiler-warnings,
633 AC_HELP_STRING( [--enable-extra-compiler-warnings],
634 [do additional compiler warnings @<:@default=no@:>@]),
636 wireshark_extra_flags=$enableval
637 if test $enableval != no
640 # The following are for C and C++
642 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpedantic)
644 # As we use variadic macros, we don't want warnings
645 # about them, even with -Wpedantic.
647 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-variadic-macros)
649 # Various code blocks this one.
651 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Woverflow)
652 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
654 # Due to various places where APIs we don't control
655 # require us to cast away constness, we can probably
656 # never enable this one with -Werror.
658 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-qual)
660 # Some generated ASN.1 dissectors block this one;
661 # multiple function declarations for the same
662 # function are being generated.
664 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wredundant-decls)
666 # Some loops are safe, but it's hard to convince the
669 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunsafe-loop-optimizations)
671 # All the registration functions block these for now.
673 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-prototypes)
674 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-declarations)
676 # A bunch of "that might not work on SPARC" code blocks
677 # this one for now; some of it is code that *will* work
678 # on SPARC, such as casts of "struct sockaddr *" to
679 # "struct sockaddr_in *", which are required by some
680 # APIs such as getifaddrs().
682 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-align)
684 # Works only with Clang
686 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunreachable-code)
688 # Works only with Clang but generates a lot of warnings
689 # (about glib library not using Doxygen)
691 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdocumentation)
693 # Works only with GCC 7
695 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wduplicated-branches)
698 # The following are C only, not C++
700 # Due to various places where APIs we don't control
701 # require us to cast away constness, we can probably
702 # never enable this one with -Werror.
704 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wbad-function-cast, C)
708 # Try to add ASAN address analyze.
709 # Only needed for analyse
712 AC_HELP_STRING( [--enable-asan],
713 [Enable AddressSanitizer (ASAN) for debugging (degrades performance)@<:@default=no@:>@]),
716 # With Clang >= 3.5 Leak detection is enable by default
717 # and no yet all leak is fixed...
718 # use ASAN_OPTIONS=detect_leaks=0 to disable detect_leaks
720 # XXX shouldn't this also be added to LDFLAGS?
721 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=address)
723 # Disable ASAN for build-time tools, e.g. lemon
724 WS_CFLAGS_saved="$WS_CFLAGS"
725 WS_LDFLAGS_saved="$WS_LDFLAGS"
726 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-sanitize=all, C)
727 if test "x$can_add_to_cflags" = "xyes"
729 NO_SANITIZE_CFLAGS="-fno-sanitize=all"
730 NO_SANITIZE_LDFLAGS="-fno-sanitize=all"
732 WS_CFLAGS="$WS_CFLAGS_saved"
733 WS_LDFLAGS="$WS_LDFLAGS_saved"
736 AC_SUBST(NO_SANITIZE_CFLAGS)
737 AC_SUBST(NO_SANITIZE_LDFLAGS)
739 # Try to enable ThreadSanitizer.
742 AC_HELP_STRING( [--enable-tsan],
743 [Enable ThreadSanitizer (TSan) for debugging@<:@default=no@:>@]),
746 # Available since Clang >= 3.2 and GCC >= 4.8
748 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=thread)
749 AC_WIRESHARK_LDFLAGS_CHECK(-fsanitize=thread)
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 GLIB_MIN_VERSION=2.22.0
1092 AC_SUBST(GLIB_MIN_VERSION)
1093 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1094 # support, as we need that for dynamically loading plugins.
1096 # Release dates for GLib versions:
1097 # 2.14.0: 03 Aug 2007
1098 # 2.16.0: 10 Mar 2008
1099 # 2.18.0: 02 Sep 2008
1100 # 2.20.0: 13 Mar 2009
1101 # 2.22.0: 22 Sep 2009
1102 # 2.24.0: 28 Mar 2010
1103 # 2.26.0: 27 Sep 2010
1104 # 2.28.0: 08 Feb 2011
1105 # 2.30.0: 27 Sep 2011
1106 # 2.32.0: 24 Mar 2012
1107 # 2.34.0: 24 Sep 2012
1108 # 2.36.0: 25 Mar 2013
1109 # 2.38.0: 23 Sep 2013
1110 # 2.40.0: 24 Mar 2014
1111 # 2.42.0: 22 Sep 2014
1112 # 2.44.0: 23 Mar 2014
1113 # 2.46.0: 25 Sep 2015
1115 PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GLIB],
1116 [glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1117 [GLIB_VERSION=`$PKG_CONFIG --modversion glib-2.0`],
1118 [AC_MSG_ERROR([GLib $GLIB_MIN_VERSION or later not found.])])
1120 # Error out if a glib header other than a "top level" header
1121 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1123 AX_APPEND_FLAG([-DG_DISABLE_SINGLE_INCLUDES], [GLIB_CONFIG])
1125 # Error out on the usage of deprecated glib functions
1126 AX_APPEND_FLAG([-DG_DISABLE_DEPRECATED], [GLIB_CONFIG])
1128 GLIB_CFLAGS="$GLIB_CONFIG $GLIB_CFLAGS"
1129 AC_SUBST(GLIB_CFLAGS)
1132 GTK2_MIN_VERSION=2.12.0
1133 AC_SUBST(GTK2_MIN_VERSION)
1134 GTK3_MIN_VERSION=3.0.0
1135 AC_SUBST(GTK3_MIN_VERSION)
1136 QT_MIN_VERSION=4.8.0
1137 AC_SUBST(QT_MIN_VERSION)
1138 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
1139 # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
1141 # We only do those if we're going to be building Wireshark;
1142 # otherwise, we don't have any GUI to build, so we don't use
1145 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
1146 # force all programs to be built with GTK+ or Qt.
1148 # For a list of library versions and their support across different platforms,
1149 # see https://wiki.wireshark.org/Development/Support_library_version_tracking
1153 if test "x$enable_wireshark" = "xyes"; then
1154 if test "x$with_qt" != "xno"; then
1156 # Qt was specified; make sure we have a C++ compiler.
1158 if test -z "$CXX"; then
1159 AC_MSG_ERROR(Need a working C++ compiler to build Wireshark with Qt)
1163 # Now make sure we have Qt and, if so, add the flags
1164 # for it to CFLAGS and CXXFLAGS.
1166 AC_WIRESHARK_QT_CHECK($QT_MIN_VERSION, "$with_qt",
1171 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
1174 # We're building with Qt, so we need the Qt build
1175 # tools in order to build the Wireshark GUI.
1176 # We've found a particular major version of Qt,
1177 # and we want that version's build tools; for
1178 # example, the Qt 4 version of uic produces files
1179 # that include Qt headers with paths that work
1180 # with Qt 4 but not Qt 5, so we can't use the
1181 # Qt 4 version of uic if we're building with Qt 5.
1182 AC_WIRESHARK_QT_TOOL_CHECK(UIC, uic, "$qt_version")
1184 AC_WIRESHARK_QT_TOOL_CHECK(MOC, moc, "$qt_version")
1186 AC_WIRESHARK_QT_TOOL_CHECK(RCC, rcc, "$qt_version")
1188 AC_WIRESHARK_QT_TOOL_CHECK_LRELEASE("$qt_version")
1192 # On Darwin, make sure we're using Qt5 or later.
1193 # If so, find where the Qt frameworks are located
1194 # and add that to the rpath, just in case this is
1195 # Qt 5.5 or later and the frameworks have an
1196 # install name that begins with @rpath and aren't
1197 # installed in a frameworks directory that's
1198 # searched by default.
1202 if test $qt_version -le 4
1204 AC_MSG_ERROR([macOS builds should use Qt5])
1206 Qt_LDFLAGS="-Wl,-rpath,"`$PKG_CONFIG --libs Qt${qt_version}Core | sed -e 's/-F//' -e 's/ -framework.*//'`
1210 AC_SUBST(Qt_LDFLAGS)
1212 if test -z "${MOC_OPTIONS+1}"
1214 # Squelch moc verbose "nothing to do" output
1215 if test $QT_VERSION_MAJOR -eq 5
1218 elif test $QT_VERSION_MAJOR -eq 4 -a $QT_VERSION_MINOR -ge 8
1223 AC_SUBST(MOC_OPTIONS)
1230 # They didn't explicitly ask for Qt,
1231 # so just don't build with it.
1239 # This is probably macOS, and the
1240 # problem could be that this is a
1241 # later version of Qt that doesn't
1242 # install .pc files on macOS, so
1243 # pkg-config can't find it.
1245 AC_MSG_ERROR([Qt is not installed or may not work with the configure script; try using CMake, instead])
1250 # Qt might be installed, but only
1251 # for use by applications, not
1254 AC_MSG_ERROR([Qt is not installed for development])
1265 AC_MSG_ERROR([Qt 4 is not installed or may not work with the configure script; try using CMake, instead])
1272 AC_MSG_ERROR([Qt 4 is not installed for development])
1283 AC_MSG_ERROR([Qt 5 is not installed or may not work with the configure script; try using CMake, instead])
1290 AC_MSG_ERROR([Qt 5 is not installed for development])
1298 for want_gtk_version in $with_gtk; do
1299 AS_CASE([$want_gtk_version],
1300 [3], [PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GTK],
1301 [gtk+-3.0 >= $GTK3_MIN_VERSION glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1304 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-3.0`
1305 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk=3"
1310 [2], [PKG_WIRESHARK_CHECK_SYSTEM_MODULES([GTK],
1311 [gtk+-2.0 >= $GTK2_MIN_VERSION glib-2.0 >= $GLIB_MIN_VERSION gthread-2.0 >= $GLIB_MIN_VERSION gmodule-2.0 >= $GLIB_MIN_VERSION],
1314 GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0`
1315 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk=2"
1320 [fail3], [AC_MSG_ERROR([GTK+ 3 was requested but is not installed for development])],
1321 [fail2], [AC_MSG_ERROR([GTK+ 2 was requested but is not installed for development])],
1322 [fail], [AC_MSG_ERROR([GTK+ was requested but is not installed for development])])
1324 AS_IF([test "x$have_gtk" = xyes], [break])
1327 if test "$have_gtk" = "yes" ; then
1328 # If we're building with GTK, complain and then add flags for it
1330 AC_MSG_WARN([The GTK+ UI is deprecated and will be removed in a future release.])
1334 GTK_CONFIG="$GLIB_CONFIG"
1336 gtk_major_version=`echo $GTK_VERSION | cut -d. -f1`
1337 gtk_minor_version=`echo $GTK_VERSION | cut -d. -f2`
1339 AX_APPEND_FLAG([-DGDK_DISABLE_DEPRECATED], [GTK_CONFIG])
1340 if test \( $gtk_major_version -eq 3 -a $gtk_minor_version -ge 10 \) ; then
1341 ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
1342 ## The deprecations in Gtk 3.10 will not be fixed ...
1343 AX_APPEND_FLAG([-DGDK_DISABLE_DEPRECATION_WARNINGS], [GTK_CONFIG])
1345 AX_APPEND_FLAG([-DGTK_DISABLE_DEPRECATED], [GTK_CONFIG])
1347 AX_APPEND_FLAG([-DGTK_DISABLE_SINGLE_INCLUDES], [GTK_CONFIG])
1348 if test ! \( $gtk_major_version -eq 2 -a $gtk_minor_version -lt 20 \) ; then
1349 # Enable GSEAL when building with GTK > 2.20
1350 # (Versions prior to 2.22 lacked some necessary accessors.)
1351 AX_APPEND_FLAG([-DGSEAL_ENABLE], [GTK_CONFIG])
1354 GTK_CFLAGS="$GTK_CONFIG $GTK_CFLAGS"
1358 AC_SUBST(GTK_CFLAGS)
1360 AC_SUBST(GUI_CONFIGURE_FLAGS)
1362 # Check for GTK GUI support for GResource pixbufs
1363 have_gresource_pixbuf=no
1364 if test "x$have_gtk" = "xyes"; then
1365 AC_MSG_CHECKING(whether GDK-Pixbuf can load data using GResource)
1366 PKG_CHECK_EXISTS([gio-2.0 >= 2.32 gdk-pixbuf-2.0 >= 2.26],
1369 AC_DEFINE(HAVE_GDK_GRESOURCE, 1, [Defined if GResource is supported])
1370 have_gresource_pixbuf=yes
1372 [AC_MSG_RESULT(no)])
1374 AM_CONDITIONAL(HAVE_GRESOURCE_PIXBUF, test "x$have_gresource_pixbuf" = "xyes")
1376 if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
1377 # We have both GTK and Qt and thus will be building both wireshark
1378 # and wireshark-gtk.
1380 wireshark_bin="wireshark\$(EXEEXT) wireshark-gtk\$(EXEEXT)"
1381 wireshark_man="wireshark.1"
1382 wireshark_SUBDIRS="ui/qt ui/gtk"
1383 elif test "$have_gtk" = "no" -a "$have_qt" = "yes" ; then
1384 # We don't have GTK+ but we have Qt.
1386 wireshark_bin="wireshark\$(EXEEXT)"
1387 wireshark_man="wireshark.1"
1388 wireshark_SUBDIRS="ui/qt"
1389 elif test "$have_gtk" = "yes" -a "$have_qt" = "no" ; then
1390 # We have GTK+ but not Qt.
1392 wireshark_bin="wireshark-gtk\$(EXEEXT)"
1393 wireshark_man="wireshark.1"
1394 wireshark_SUBDIRS="ui/gtk"
1395 elif test "$have_gtk" = "no" -a "$have_qt" = "no" ; then
1396 # We have neither GTK+ nor Qt.
1398 # If they didn't explicitly say "--disable-wireshark",
1399 # fail (so that, unless they explicitly indicated that
1400 # they don't want Wireshark, we stop so they know they
1401 # won't be getting Wireshark unless they fix the GTK+/Qt
1404 if test "x$enable_wireshark" = "xyes"; then
1405 if test "$with_qt" != "no" -a "$with_gtk" != "no" ; then
1409 # This is probably macOS, and the
1410 # problem could be that this is a
1411 # later version of Qt that doesn't
1412 # install .pc files on macOS, so
1413 # pkg-config can't find it.
1415 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])
1420 # Qt might be installed, but only
1421 # for use by applications, not
1424 AC_MSG_ERROR([Neither Qt nor GTK+ are installed for development, so Wireshark can't be compiled])
1427 elif test "$with_qt" != "no" -a "$with_gtk" = "no" ; then
1431 # This is probably macOS, and the
1432 # problem could be that this is a
1433 # later version of Qt that doesn't
1434 # install .pc files on macOS, so
1435 # pkg-config can't find it.
1437 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])
1442 # Qt might be installed, but only
1443 # for use by applications, not
1446 AC_MSG_ERROR([Qt is not installed for development and GTK+ was not requested, so Wireshark can't be compiled])
1449 elif test "$with_qt" = "no" -a "$with_gtk" != "no" ; then
1450 AC_MSG_ERROR([Qt was not requested and GTK+ is not installed for development, so Wireshark can't be compiled])
1451 elif test "$with_qt" = "no" -a "$with_gtk" = "no" ; then
1452 AC_MSG_ERROR([Neither Qt nor GTK+ were requested, so Wireshark can't be compiled])
1457 wireshark_SUBDIRS=""
1461 # If we have <dlfcn.h>, check whether we have dladdr.
1463 if test "$ac_cv_header_dlfcn_h" = "yes"
1466 # Use GLib compiler flags and linker flags; GLib's gmodule
1467 # stuff uses the dl APIs if available, so it might know
1468 # what flags are needed.
1470 ac_save_CFLAGS="$CFLAGS"
1471 ac_save_LIBS="$LIBS"
1472 CFLAGS="$WS_CFLAGS $GLIB_CFLAGS $CFLAGS"
1473 LIBS="$LIBS $GLIB_LIBS"
1474 AC_CHECK_FUNCS(dladdr)
1475 if test x$ac_cv_func_dladdr = xno
1478 # OK, try it with -ldl, in case you need that to get
1479 # dladdr(). For some reason, on Linux, that's not
1480 # part of the GLib flags; perhaps GLib itself is
1481 # linked with libdl, so that you can link with
1482 # Glib and it'll pull libdl in itself.
1485 AC_CHECK_FUNCS(dladdr)
1487 CFLAGS="$ac_save_CFLAGS"
1488 LIBS="$ac_save_LIBS"
1491 AC_SUBST(wireshark_bin)
1492 AC_SUBST(wireshark_man)
1493 AC_SUBST(wireshark_SUBDIRS)
1494 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1495 AM_CONDITIONAL(HAVE_QT_VERSION_4, [test $qt_version -eq 4])
1496 AM_CONDITIONAL(HAVE_GTK, test "$have_gtk" = "yes")
1498 # Enable/disable tshark
1499 AC_ARG_ENABLE(tshark,
1500 AC_HELP_STRING( [--enable-tshark],
1501 [build tshark @<:@default=yes@:>@]),
1502 tshark=$enableval,enable_tshark=yes)
1504 if test "x$enable_tshark" = "xyes" ; then
1505 tshark_bin="tshark\$(EXEEXT)"
1506 tshark_man="tshark.1"
1507 wiresharkfilter_man="wireshark-filter.4"
1512 AC_SUBST(tshark_bin)
1513 AC_SUBST(tshark_man)
1515 # Enable/disable editcap
1517 AC_ARG_ENABLE(editcap,
1518 AC_HELP_STRING( [--enable-editcap],
1519 [build editcap @<:@default=yes@:>@]),
1520 enable_editcap=$enableval,enable_editcap=yes)
1522 if test "x$enable_editcap" = "xyes" ; then
1523 editcap_bin="editcap\$(EXEEXT)"
1524 editcap_man="editcap.1"
1529 AC_SUBST(editcap_bin)
1530 AC_SUBST(editcap_man)
1533 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1536 # Enable/disable capinfos
1538 AC_ARG_ENABLE(capinfos,
1539 AC_HELP_STRING( [--enable-capinfos],
1540 [build capinfos @<:@default=yes@:>@]),
1541 enable_capinfos=$enableval,enable_capinfos=yes)
1543 if test "x$enable_capinfos" = "xyes" ; then
1544 capinfos_bin="capinfos\$(EXEEXT)"
1545 capinfos_man="capinfos.1"
1550 AC_SUBST(capinfos_bin)
1551 AC_SUBST(capinfos_man)
1553 # Enable/disable captype
1555 AC_ARG_ENABLE(captype,
1556 AC_HELP_STRING( [--enable-captype],
1557 [build captype @<:@default=yes@:>@]),
1558 enable_captype=$enableval,enable_captype=yes)
1560 if test "x$enable_captype" = "xyes" ; then
1561 captype_bin="captype\$(EXEEXT)"
1562 captype_man="captype.1"
1567 AC_SUBST(captype_bin)
1568 AC_SUBST(captype_man)
1570 # Enable/disable mergecap
1572 AC_ARG_ENABLE(mergecap,
1573 AC_HELP_STRING( [--enable-mergecap],
1574 [build mergecap @<:@default=yes@:>@]),
1575 enable_mergecap=$enableval,enable_mergecap=yes)
1577 if test "x$enable_mergecap" = "xyes" ; then
1578 mergecap_bin="mergecap\$(EXEEXT)"
1579 mergecap_man="mergecap.1"
1584 AC_SUBST(mergecap_bin)
1585 AC_SUBST(mergecap_man)
1587 # Enable/disable reordercap
1589 AC_ARG_ENABLE(reordercap,
1590 AC_HELP_STRING( [--enable-reordercap],
1591 [build reordercap @<:@default=yes@:>@]),
1592 enable_reordercap=$enableval,enable_reordercap=yes)
1594 if test "x$enable_reordercap" = "xyes" ; then
1595 reordercap_bin="reordercap\$(EXEEXT)"
1596 reordercap_man="reordercap.1"
1601 AC_SUBST(reordercap_bin)
1602 AC_SUBST(reordercap_man)
1604 # Enable/disable text2pcap
1606 AC_ARG_ENABLE(text2pcap,
1607 AC_HELP_STRING( [--enable-text2pcap],
1608 [build text2pcap @<:@default=yes@:>@]),
1609 text2pcap=$enableval,enable_text2pcap=yes)
1611 if test "x$enable_text2pcap" = "xyes" ; then
1612 text2pcap_bin="text2pcap\$(EXEEXT)"
1613 text2pcap_man="text2pcap.1"
1618 AC_SUBST(text2pcap_bin)
1619 AC_SUBST(text2pcap_man)
1621 # Enable/disable dftest
1623 AC_ARG_ENABLE(dftest,
1624 AC_HELP_STRING( [--enable-dftest],
1625 [build dftest @<:@default=yes@:>@]),
1626 enable_dftest=$enableval,enable_dftest=yes)
1628 if test "x$enable_dftest" = "xyes" ; then
1629 dftest_bin="dftest\$(EXEEXT)"
1630 dftest_man="dftest.1"
1635 AC_SUBST(dftest_bin)
1636 AC_SUBST(dftest_man)
1638 # Enable/disable randpkt
1640 AC_ARG_ENABLE(randpkt,
1641 AC_HELP_STRING( [--enable-randpkt],
1642 [build randpkt @<:@default=yes@:>@]),
1643 enable_randpkt=$enableval,enable_randpkt=yes)
1645 if test "x$enable_randpkt" = "xyes" ; then
1646 randpkt_bin="randpkt\$(EXEEXT)"
1647 randpkt_man="randpkt.1"
1652 AC_SUBST(randpkt_bin)
1653 AC_SUBST(randpkt_man)
1655 AC_SUBST(wiresharkfilter_man)
1658 AC_MSG_CHECKING(whether to use libpcap for packet capture)
1661 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
1662 [use libpcap for packet capturing @<:@default=yes@:>@]),
1664 if test $withval = no
1667 elif test $withval = yes
1678 if test "x$want_pcap" = "xno" ; then
1682 AC_WIRESHARK_PCAP_CHECK
1686 AC_MSG_CHECKING(whether to build dumpcap)
1688 AC_ARG_ENABLE(dumpcap,
1689 AC_HELP_STRING( [--enable-dumpcap],
1690 [build dumpcap @<:@default=yes@:>@]),
1691 enable_dumpcap=$enableval,enable_dumpcap=yes)
1693 if test "x$enable_dumpcap" = "xyes" ; then
1694 if test "x$want_pcap" = "xno" ; then
1696 AC_MSG_RESULT(pcap not installed for development - disabling dumpcap)
1704 if test "x$enable_dumpcap" = "xyes" ; then
1705 dumpcap_bin="dumpcap\$(EXEEXT)"
1706 dumpcap_man="dumpcap.1"
1711 AC_SUBST(dumpcap_bin)
1712 AC_SUBST(dumpcap_man)
1714 # Enable/disable rawshark
1717 AC_MSG_CHECKING(whether to build rawshark)
1719 AC_ARG_ENABLE(rawshark,
1720 AC_HELP_STRING( [--enable-rawshark],
1721 [build rawshark @<:@default=yes@:>@]),
1722 rawshark=$enableval,enable_rawshark=yes)
1724 if test "x$enable_rawshark" = "xyes" ; then
1725 if test "x$want_pcap" = "xno" ; then
1727 AC_MSG_RESULT(pcap not installed for development - disabling rawshark)
1735 if test "x$enable_rawshark" = "xyes" ; then
1736 rawshark_bin="rawshark\$(EXEEXT)"
1737 rawshark_man="rawshark.1"
1742 AC_SUBST(rawshark_bin)
1743 AC_SUBST(rawshark_man)
1745 # Enable/disable sharkd
1746 AC_ARG_ENABLE(sharkd,
1747 AC_HELP_STRING( [--enable-sharkd],
1748 [build sharkd @<:@default=yes@:>@]),
1749 sharkd=$enableval,enable_sharkd=yes)
1751 if test "x$enable_sharkd" = "xyes" ; then
1752 sharkd_bin="sharkd\$(EXEEXT)"
1756 AC_SUBST(sharkd_bin)
1758 # Enable/disable tfshark
1759 AC_ARG_ENABLE(tfshark,
1760 AC_HELP_STRING( [--enable-tfshark],
1761 [build tfshark (Experimental) @<:@default=no@:>@]),
1762 tfshark=$enableval,enable_tfshark=no)
1764 if test "x$enable_tfshark" = "xyes" ; then
1765 tfshark_bin="tfshark\$(EXEEXT)"
1766 tfshark_man="tfshark.1"
1767 wiresharkfilter_man="wireshark-filter.4"
1772 AC_SUBST(tfshark_bin)
1773 AC_SUBST(tfshark_man)
1775 # Enable/disable fuzzshark
1776 AC_ARG_ENABLE(fuzzshark,
1777 AC_HELP_STRING( [--enable-fuzzshark],
1778 [build fuzzshark @<:@default=yes@:>@]),
1779 fuzzshark=$enableval,enable_fuzzshark=yes)
1781 if test "x$enable_fuzzshark" = "xyes" ; then
1782 fuzzshark_bin="fuzzshark\$(EXEEXT)"
1786 AC_SUBST(fuzzshark_bin)
1789 dnl Use pcapng by default
1790 AC_ARG_ENABLE(pcap-ng-default,
1791 AC_HELP_STRING( [--enable-pcap-ng-default],
1792 [use the pcapng file format by default instead of pcap @<:@default=yes@:>@]),
1793 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
1794 if test x$enable_pcap_ng_default = xyes; then
1795 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcapng])
1799 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
1802 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
1803 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
1805 if test "x$withval" = "xno"
1808 elif test "x$withval" = "xyes"
1817 # Use zlib if it's present, otherwise don't.
1819 want_zlib=ifavailable
1822 if test "x$want_zlib" = "xno" ; then
1826 AC_WIRESHARK_ZLIB_CHECK
1827 if test "x$want_zlib" = "xno" ; then
1828 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
1830 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
1831 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
1838 AC_MSG_CHECKING(whether to use lz4 compression and decompression)
1841 AC_HELP_STRING([--with-lz4@<:@=DIR@:>@],
1842 [use lz4 (located in directory DIR, if supplied) for lz4 compression and decompression @<:@default=yes, if available@:>@]),
1844 if test "x$withval" = "xno"
1847 elif test "x$withval" = "xyes"
1856 # Use lz4 if it's present, otherwise don't.
1858 want_lz4=ifavailable
1862 if test "x$want_lz4" = "xno" ; then
1866 AC_WIRESHARK_LZ4_CHECK
1867 if test "x$want_lz4" = "xno" ; then
1868 AC_MSG_RESULT(lz4 not found - disabling lz4 compression and decompression)
1870 if test "x$ac_cv_func_LZ4_decompress_safe" = "xno" ; then
1871 AC_MSG_RESULT(LZ4_decompress_safe not found in lz4 - disabling cql lz4 decompression)
1881 AC_MSG_CHECKING(whether to use snappy compression and decompression)
1884 AC_HELP_STRING([--with-snappy@<:@=DIR@:>@],
1885 [use snappy (located in directory DIR, if supplied) for snappy compression and decompression @<:@default=yes, if available@:>@]),
1887 if test "x$withval" = "xno"
1890 elif test "x$withval" = "xyes"
1895 snappy_dir="$withval"
1899 # Use snappy if it's present, otherwise don't.
1901 want_snappy=ifavailable
1905 if test "x$want_snappy" = "xno" ; then
1909 AC_WIRESHARK_SNAPPY_CHECK
1910 if test "x$want_snappy" = "xno" ; then
1911 AC_MSG_RESULT(snappy not found - disabling snappy compression and decompression)
1913 if test "x$ac_cv_func_snappy_uncompress" = "xno" ; then
1914 AC_MSG_RESULT(snappy_uncompress not found in snappy - disabling cql snappy decompression)
1920 AC_SUBST(SNAPPY_LIBS)
1924 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1925 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
1927 if test $withval = no
1930 elif test $withval = yes
1935 want_lua_dir=$withval
1938 # By default use Lua if we can find it
1939 want_lua=ifavailable
1942 if test "x$want_lua" != "xno" ; then
1943 AC_WIRESHARK_LIBLUA_CHECK
1945 if test "x$want_lua" = "xyes" -a "x$have_lua" = "xno"
1947 AC_MSG_ERROR([Lua support was requested, but is not installed for development])
1950 if test "x$have_lua" = "xyes"
1952 AC_DEFINE(HAVE_LUA, 1, [Define to use Lua])
1954 AM_CONDITIONAL(HAVE_LIBLUA, test x$have_lua = xyes)
1956 AC_SUBST(LUA_CFLAGS)
1960 AC_MSG_CHECKING(whether to use libportaudio for the GTK+ RTP player)
1962 AC_ARG_WITH(portaudio,
1963 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1964 [use libportaudio (located in directory DIR, if supplied) for the GTK+ RTP player @<:@default=yes, if available@:>@]),
1966 if test $withval = no
1969 elif test $withval = yes
1974 portaudio_dir=$withval
1978 # Use libportaudio by default
1980 want_portaudio=ifavailable
1983 if test "x$want_portaudio" = "xno" ; then
1987 AC_WIRESHARK_LIBPORTAUDIO_CHECK
1988 if test "x$want_portaudio" = "xno" ; then
1989 AC_MSG_RESULT(libportaudio not found - disabling support for the GTK+ RTP player)
1992 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1995 dnl Check if dumpcap should be installed with filesystem capabilities
1996 AC_PATH_PROG(SETCAP, setcap)
1997 AC_ARG_ENABLE(setcap-install,
1998 AC_HELP_STRING( [--enable-setcap-install],
1999 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
2000 enable_setcap_install=$enableval,enable_setcap_install=no)
2002 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
2003 if test "x$enable_setcap_install" = "xno" ; then
2006 if test "x$SETCAP" = "x" ; then
2007 AC_MSG_RESULT(setcap not found)
2008 AC_MSG_ERROR([Setcap install was requested, but setcap was not found])
2009 elif test "x$enable_dumpcap" = "xno" ; then
2010 AC_MSG_RESULT(dumpcap disabled)
2011 AC_MSG_ERROR([Setcap install works only with dumpcap, but dumpcap is disabled])
2017 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
2019 dnl Check if dumpcap should be installed setuid
2020 AC_ARG_ENABLE(setuid-install,
2021 AC_HELP_STRING( [--enable-setuid-install],
2022 [install dumpcap as setuid @<:@default=no@:>@]),
2023 enable_setuid_install=$enableval,enable_setuid_install=no)
2025 AC_MSG_CHECKING(whether to install dumpcap setuid)
2026 if test "x$enable_setuid_install" = "xno" ; then
2029 if test "x$enable_setcap_install" = "xyes" ; then
2030 enable_setuid_install=no
2031 AC_MSG_RESULT(setcap and setuid both selected)
2032 AC_MSG_ERROR(You must choose one of setcap install and setuid install)
2033 elif test "x$enable_dumpcap" = "xno" ; then
2034 AC_MSG_RESULT(dumpcap disabled)
2035 AC_MSG_ERROR([Setuid install works only with dumpcap, but dumpcap is disabled])
2041 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
2042 AC_CHECK_FUNCS(setresuid setresgid)
2044 dnl ...but our Network Operations group is named "no"!
2046 AC_ARG_WITH(dumpcap-group,
2047 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
2048 [restrict dumpcap to GROUP]),
2050 if test "x$withval" = "xyes"; then
2051 AC_MSG_ERROR([No dumpcap group specified.])
2052 elif test "x$withval" != "xno"; then
2053 if test "x$enable_dumpcap" = "xno" ; then
2054 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
2056 AC_MSG_RESULT($withval)
2057 DUMPCAP_GROUP="$withval"
2060 AC_SUBST(DUMPCAP_GROUP)
2061 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
2063 dnl libcap (not libpcap) check
2065 AC_MSG_CHECKING(whether to use the libcap capabilities library)
2068 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
2069 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
2071 if test "x$withval" = "xno"; then
2073 elif test "x$withval" = "xyes"; then
2075 elif test -d "$withval"; then
2077 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2080 if test "x$with_libcap" = "xno" ; then
2084 AC_WIRESHARK_LIBCAP_CHECK
2086 AC_SUBST(LIBCAP_LIBS)
2088 dnl Checks for header files.
2089 dnl Some of these may not be needed: http://hacks.owlfolio.org/header-survey/
2090 dnl Note, however, that, whilst this script is generally run only on UN*Xes:
2092 dnl 1) we also support building on and for Windows and not all of those
2093 dnl headers are present on Windows, so the code has to check a
2094 dnl #define *anyway* to determine whether to include the header
2099 dnl 2) this might also be run on Windows with a sufficiently UNIXy
2100 dnl environment such as Cygwin (although Wireshark should be built
2101 dnl natively rather than using Cygwin).
2103 AC_CHECK_HEADERS(fcntl.h getopt.h grp.h inttypes.h netdb.h pwd.h unistd.h)
2104 AC_CHECK_HEADERS(sys/ioctl.h sys/param.h sys/select.h sys/socket.h sys/sockio.h sys/stat.h sys/time.h sys/types.h sys/utsname.h sys/wait.h)
2105 AC_CHECK_HEADERS(netinet/in.h)
2106 AC_CHECK_HEADERS(arpa/inet.h)
2107 AC_CHECK_HEADERS(ifaddrs.h)
2110 # On Linux, check for some additional headers, which we need as a
2111 # workaround for a bonding driver bug and for libpcap's current lack
2112 # of its own workaround for that bug.
2116 AC_CHECK_HEADERS(linux/sockios.h linux/if_bonding.h,,,[#include <sys/socket.h>])
2121 AC_MSG_CHECKING(whether to use Kerberos library)
2124 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
2125 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
2127 if test $withval = no
2130 elif test $withval = yes
2139 # Use Kerberos library if available, otherwise don't.
2141 want_krb5=ifavailable
2144 if test "x$want_krb5" = "xno" ; then
2148 AC_WIRESHARK_KRB5_CHECK
2152 dnl We use GnuTLS for SSL decryption but some builds of Kerberos require
2153 dnl linking with OpenSSL. We don't want to build with it by default due to
2154 dnl annoying license incompatibilities between the OpenSSL license and the GPL,
2155 dnl so we require an explicit option to configure.
2157 AC_ARG_WITH(krb5-crypto-openssl,
2158 AC_HELP_STRING( [--with-krb5-crypto-openssl],
2159 [Allow linking with OpenSSL for Kerberos crypto backend @<:@default=no@:>@]))
2163 AC_MSG_CHECKING(whether to use the c-ares library if available)
2166 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
2167 [use c-ares (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2169 if test "x$withval" = "xno"; then
2171 elif test "x$withval" = "xyes"; then
2173 elif test -d "$withval"; then
2175 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2178 if test "x$want_c_ares" = "xno" ; then
2182 AC_WIRESHARK_C_ARES_CHECK
2184 AC_SUBST(C_ARES_LIBS)
2186 dnl MaxMind DB Check
2188 AC_MSG_CHECKING(whether to use the MaxMind DB IP address mapping library if available)
2190 AC_ARG_WITH(maxminddb,
2191 AC_HELP_STRING( [--with-maxminddb@<:@=DIR@:>@],
2192 [use MaxMind DB (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2194 if test "x$withval" = "xno"; then
2196 elif test "x$withval" = "xyes"; then
2198 elif test -d "$withval"; then
2200 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2203 if test "x$want_maxminddb" = "xno"; then
2207 AC_WIRESHARK_MAXMINDDB_CHECK
2209 AC_SUBST(MAXMINDDB_LIBS)
2211 if test "x$have_good_maxminddb" = "xyes" ; then
2212 mmdbresolve_bin="mmdbresolve\$(EXEEXT)"
2213 mmdbresolve_man="mmdbresolve.1"
2218 AC_SUBST(mmdbresolve_bin)
2219 AC_SUBST(mmdbresolve_man)
2223 AC_MSG_CHECKING(whether to use the libssh library if available)
2226 AC_HELP_STRING( [--with-libssh@<:@=DIR@:>@],
2227 [use libssh (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_libssh" = "xno"; then
2242 AC_WIRESHARK_LIBSSH_CHECK
2244 AC_SUBST(LIBSSH_LIBS)
2248 AC_MSG_CHECKING(whether to use the nghttp2 HPACK library if available)
2250 AC_ARG_WITH(nghttp2,
2251 AC_HELP_STRING( [--with-nghttp2@<:@=DIR@:>@],
2252 [use nghttp2 (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_nghttp2" = "xno"; then
2267 AC_WIRESHARK_NGHTTP2_CHECK
2269 AC_SUBST(NGHTTP2_LIBS)
2271 dnl Checks for typedefs, structures, and compiler characteristics.
2274 # Check how we can get the time zone abbreviation
2277 # We need to know whether "struct stat" has an "st_flags" member
2278 # for file_user_immutable().
2280 AC_CHECK_MEMBERS([struct stat.st_flags])
2282 # We need to know whether "struct stat" has an "st_birthtime" member
2283 # or an "__st_birthtime" member for the file set dialog.
2285 AC_CHECK_MEMBERS([struct stat.st_birthtime])
2286 AC_CHECK_MEMBERS([struct stat.__st_birthtime])
2288 # We need to know whether "struct sockaddr" has an "sa_len" member
2289 # for get_interface_list().
2291 AC_CHECK_MEMBERS([struct sockaddr.sa_len],,,
2292 [#ifdef HAVE_SYS_TYPES_H
2293 #include <sys/types.h>
2295 #ifdef HAVE_SYS_SOCKET_H
2296 #include <sys/socket.h>
2299 AC_REPLACE_FUNCS(getopt_long)
2301 dnl Do we have optreset?
2303 if test "x$ac_cv_func_getopt_long" = xyes; then
2304 AC_CACHE_CHECK([whether optreset is defined], ac_cv_have_optreset,
2305 AC_LINK_IFELSE([AC_LANG_SOURCE([[extern int optreset;return optreset;]])],
2306 ac_cv_have_optreset=yes, ac_cv_have_optreset=no))
2307 if test "$ac_cv_have_optreset" = yes ; then
2308 AC_DEFINE(HAVE_OPTRESET, 1, [Define to 1 if you have the optreset variable])
2312 AC_REPLACE_FUNCS(strptime)
2314 AC_CHECK_FUNCS(mkstemps)
2315 AC_CHECK_FUNCS(issetugid)
2316 AC_CHECK_FUNCS(sysconf)
2317 AC_CHECK_FUNCS(getifaddrs)
2318 AC_CHECK_FUNC(getexecname)
2321 # Check for SpeexDSP (http://www.speex.org)
2323 AS_IF([test "x$have_qt_multimedia_lib" = xyes],
2324 [PKG_CHECK_MODULES(SPEEXDSP, speexdsp, [have_speexdsp=yes], [have_speexdsp=no])])
2325 AS_IF([test "x$have_speexdsp" = xyes],
2326 [AC_DEFINE(HAVE_SPEEXDSP, 1, [Define to 1 if you have SpeexDSP])])
2327 AM_CONDITIONAL(HAVE_SPEEXDSP, [test "x$have_speexdsp" = "xyes"])
2329 # Check Bluetooth SBC codec for RTP Player
2330 # git://git.kernel.org/pub/scm/bluetooth/sbc.git
2332 AC_HELP_STRING( [--with-sbc=@<:@yes/no@:>@],
2333 [use SBC codec to play Bluetooth A2DP stream @<:@default=yes, if available@:>@]),
2334 with_sbc="$withval"; want_sbc="yes", with_sbc="yes")
2336 PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
2337 if test "x$with_sbc" != "xno"; then
2338 if (test "${have_sbc}" = "yes"); then
2339 AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
2340 elif test "x$want_sbc" = "xyes"; then
2341 # Error out if the user explicitly requested the sbc library
2342 AC_MSG_ERROR([SBC codec library was requested, but is not installed for development])
2347 AM_CONDITIONAL(HAVE_SBC, test "x$have_sbc" = "xyes")
2350 # Check SpanDSP library for RTP Player
2351 # http://www.soft-switch.org/
2352 AC_ARG_WITH([spandsp],
2353 AC_HELP_STRING( [--with-spandsp=@<:@yes/no@:>@],
2354 [use SpanDSP to play G.722/G.726 codecs @<:@default=yes, if available@:>@]),
2355 with_spandsp="$withval"; want_spandsp="yes", with_spandsp="yes")
2357 PKG_CHECK_MODULES(SPANDSP, spandsp, [have_spandsp=yes], [have_spandsp=no])
2358 if test "x$with_spandsp" != "xno"; then
2359 if (test "${have_spandsp}" = "yes"); then
2360 AC_DEFINE(HAVE_SPANDSP, 1, [Define if you have the SpanDSP library])
2361 elif test "x$want_spandsp" = "xyes"; then
2362 # Error out if the user explicitly requested the SpanDSP library
2363 AC_MSG_ERROR([SpanDSP library was requested, but is not installed for development])
2368 AM_CONDITIONAL(HAVE_SPANDSP, test "x$have_spandsp" = "xyes")
2371 # Check bcg729 library for RTP Player
2372 # https://www.linphone.org/technical-corner/bcg729/overview
2375 AC_MSG_CHECKING(whether to use the bcg729 library if available)
2377 AC_ARG_WITH([bcg729],
2378 AC_HELP_STRING( [--with-bcg729=@<:@=DIR@:>@],
2379 [use bcg729 to play G.729 codec(located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2381 if test "x$withval" = "xno"; then
2383 elif test "x$withval" = "xyes"; then
2385 elif test -d "$withval"; then
2387 AC_WIRESHARK_ADD_DASH_L(WS_LDFLAGS, ${withval}/lib)
2390 if test "x$want_bcg729" = "xno"; then
2394 AC_WIRESHARK_BCG729_CHECK
2396 AC_SUBST(BCG729_LIBS)
2397 AM_CONDITIONAL(HAVE_BCG729, test "x$have_good_bcg729" = "xyes")
2401 AC_ARG_WITH(libxml2,
2402 AC_HELP_STRING([--with-libxml2=@<:@yes/no@:>@],
2403 [Libxml2 is a XML C parser, which can be used for handling XML configuration in dissectors @<:@default=yes, if available@:>@]),
2404 with_libxml2="$withval"; want_libxml2="yes", with_libxml2="yes")
2406 PKG_CHECK_MODULES(LIBXML2, libxml-2.0, [have_libxml2=yes], [have_libxml2=no])
2407 if test "x$with_libxml2" != "xno"; then
2408 if (test "${have_libxml2}" = "yes"); then
2409 AC_DEFINE(HAVE_LIBXML2, 1, [Define if you have libxml2])
2410 elif test "x$want_libxml2" = "xyes"; then
2411 # Error out if the user explicitly requested libxml2
2412 AC_MSG_ERROR([Libxml2 was requested, but is not installed for development])
2417 AM_CONDITIONAL(HAVE_LIBXML2, test "x$have_libxml2" = "xyes")
2423 AC_HELP_STRING([--with-libsmi=@<:@yes/no@:>@],
2424 [use libsmi MIB/PIB library @<:@default=yes, if available@:>@]),
2425 [], [with_libsmi="if_available"])
2428 if test "x$with_libsmi" != "xno"; then
2429 PKG_CHECK_MODULES(LIBSMI, libsmi,
2431 AC_DEFINE(HAVE_LIBSMI, 1, [Define if you have libsmi])
2433 [if test "x$with_libsmi" = "xyes"; then
2434 # Error out if the user explicitly requested libsmi
2435 AC_MSG_ERROR([Libsmi was requested, but is not installed for development])
2442 dnl check whether plugins should be enabled
2444 AC_ARG_ENABLE(plugins,
2445 AC_HELP_STRING( [--enable-plugins],
2446 [support plugins (if available on your platform) @<:@default=yes@:>@]),
2447 [have_plugins=$enableval], [have_plugins=yes])
2449 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2450 if test x$have_plugins = xyes
2452 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2454 dnl we don't wish to expand ${libdir} yet
2455 plugindir="\${libdir}/wireshark/plugins/$VERSION_RELEASE"
2459 # The plugin dissectors reside in ./plugins/PROTO/
2462 AC_SUBST(PLUGIN_LIBS)
2465 dnl check whether extcap programs should be enabled and, if they should be,
2466 dnl check for extcap directory - stolen from Amanda's configure.ac
2468 dnl we don't wish to expand ${libdir} yet
2469 extcapdir="\${libdir}/wireshark/extcap"
2470 extcap_man="extcap.4"
2472 AC_SUBST(extcap_man)
2475 dnl androiddump check
2476 AC_MSG_CHECKING(whether to build androiddump)
2478 AC_ARG_ENABLE(androiddump,
2479 AC_HELP_STRING( [--enable-androiddump],
2480 [build androiddump @<:@default=yes@:>@]),
2481 androiddump=$enableval,enable_androiddump=yes)
2483 if test "x$enable_androiddump" = "xyes" ; then
2489 AC_ARG_ENABLE(androiddump_use_libpcap,
2490 AC_HELP_STRING( [--enable-androiddump-use-libpcap],
2491 [build androiddump using libpcap @<:@default=no@:>@]),
2492 androiddump_use_libpcap=$enableval,enable_androiddump_use_libpcap=no)
2494 if test "x$enable_androiddump" = "xyes" -a "x$enable_androiddump_use_libpcap" = "xyes" ; then
2495 AC_DEFINE(ANDROIDDUMP_USE_LIBPCAP, 1, [Androiddump will use Libpcap])
2498 if test "x$enable_androiddump" = "xyes" ; then
2499 androiddump_bin="androiddump\$(EXEEXT)"
2500 androiddump_man="androiddump.1"
2505 AC_SUBST(androiddump_bin)
2506 AC_SUBST(androiddump_man)
2509 AC_MSG_CHECKING(whether to build sshdump)
2511 AC_ARG_ENABLE(sshdump,
2512 AC_HELP_STRING( [--enable-sshdump],
2513 [build sshdump @<:@default=yes@:>@]),
2514 [],[enable_sshdump=yes])
2516 if test "x$have_libssh_pointsix" != xyes; then
2517 AC_MSG_RESULT([no, libssh >= 0.6.0 not installed for development])
2519 elif test "x$enable_sshdump" = "xyes" ; then
2525 if test "x$enable_sshdump" = "xyes" ; then
2526 sshdump_bin="sshdump\$(EXEEXT)"
2527 sshdump_man="sshdump.1"
2532 AC_SUBST(sshdump_bin)
2533 AC_SUBST(sshdump_man)
2536 AC_MSG_CHECKING(whether to build ciscodump)
2538 AC_ARG_ENABLE(ciscodump,
2539 AC_HELP_STRING( [--enable-ciscodump],
2540 [build ciscodump @<:@default=yes@:>@]),
2541 [],[enable_ciscodump=yes])
2543 if test "x$have_libssh_pointsix" != xyes; then
2544 AC_MSG_RESULT([no, libssh >= 0.6.0 not installed for development])
2546 elif test "x$enable_ciscodump" = "xyes" ; then
2552 if test "x$enable_ciscodump" = "xyes" ; then
2553 ciscodump_bin="ciscodump\$(EXEEXT)"
2554 ciscodump_man="ciscodump.1"
2559 AC_SUBST(ciscodump_bin)
2560 AC_SUBST(ciscodump_man)
2562 dnl randpktdump check
2563 AC_MSG_CHECKING(whether to build randpktdump)
2565 AC_ARG_ENABLE(randpktdump,
2566 AC_HELP_STRING( [--enable-randpktdump],
2567 [build randpktdump @<:@default=yes@:>@]),
2568 randpktdump=$enableval,enable_randpktdump=yes)
2570 if test "x$enable_randpktdump" = "xyes" ; then
2576 if test "x$enable_randpktdump" = "xyes" ; then
2577 randpktdump_bin="randpktdump\$(EXEEXT)"
2578 randpktdump_man="randpktdump.1"
2583 AC_SUBST(randpktdump_bin)
2584 AC_SUBST(randpktdump_man)
2587 AC_MSG_CHECKING(whether to build udpdump)
2589 AC_ARG_ENABLE(udpdump,
2590 AC_HELP_STRING( [--enable-udpdump],
2591 [build udpdump @<:@default=yes@:>@]),
2592 [],[enable_udpdump=yes])
2594 if test "x$enable_udpdump" = "xyes" ; then
2600 if test "x$enable_udpdump" = "xyes" ; then
2601 udpdump_bin="udpdump\$(EXEEXT)"
2602 udpdump_man="udpdump.1"
2607 AC_SUBST(udpdump_bin)
2608 AC_SUBST(udpdump_man)
2610 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2611 if test x$enable_static = xyes
2613 AC_DEFINE(ENABLE_STATIC, 1, [Link Wireshark libraries statically])
2616 # Gather which GUI we're building for rpmbuild
2617 if test "x$have_gtk" = "xyes"; then
2618 if test "x$gtk_major_version" = "x3"; then
2619 RPMBUILD_WITH_ARGS="--with gtk3 --without gtk2"
2621 RPMBUILD_WITH_ARGS="--without gtk3 --with gtk2"
2624 RPMBUILD_WITH_ARGS="--without gtk2 --without gtk3"
2626 if test "x$have_qt" = "xyes" ; then
2627 if test "$qt_version" -eq "5"; then
2628 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt5"
2630 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
2633 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt --without qt5"
2635 if test "x$have_lua" = "xyes" ; then
2636 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with lua"
2638 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without lua"
2640 AC_SUBST(RPMBUILD_WITH_ARGS)
2641 AC_SUBST(RPM_VERSION, version_major.version_minor.version_micro)
2643 AC_SUBST(WS_CPPFLAGS)
2645 AC_SUBST(WS_CXXFLAGS)
2646 AC_SUBST(WS_LDFLAGS)
2648 AC_SUBST(WS_CFLAGS_FOR_BUILD)
2650 AH_BOTTOM([#include <ws_diag_control.h>])
2652 dnl Save the cacheable configure results to config.cache before recursing
2655 m4_sinclude(plugins/Custom.m4) dnl
2656 m4_ifndef(_CUSTOM_PLUGIN_CONFIG_FILES_, m4_define(_CUSTOM_PLUGIN_CONFIG_FILES_)) dnl
2658 sinclude(epan/dissectors/asn1/Custom.m4) dnl
2659 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2661 AC_CONFIG_HEADERS([config.h])
2666 epan/dissectors/asn1/Makefile
2668 _CUSTOM_ASN1_AC_OUTPUT_
2669 epan/dissectors/asn1/acp133/Makefile
2670 epan/dissectors/asn1/acse/Makefile
2671 epan/dissectors/asn1/ansi_map/Makefile
2672 epan/dissectors/asn1/ansi_tcap/Makefile
2673 epan/dissectors/asn1/atn-cm/Makefile
2674 epan/dissectors/asn1/atn-cpdlc/Makefile
2675 epan/dissectors/asn1/atn-ulcs/Makefile
2676 epan/dissectors/asn1/c1222/Makefile
2677 epan/dissectors/asn1/camel/Makefile
2678 epan/dissectors/asn1/cdt/Makefile
2679 epan/dissectors/asn1/charging_ase/Makefile
2680 epan/dissectors/asn1/cmip/Makefile
2681 epan/dissectors/asn1/cmp/Makefile
2682 epan/dissectors/asn1/crmf/Makefile
2683 epan/dissectors/asn1/cms/Makefile
2684 epan/dissectors/asn1/credssp/Makefile
2685 epan/dissectors/asn1/dap/Makefile
2686 epan/dissectors/asn1/disp/Makefile
2687 epan/dissectors/asn1/dop/Makefile
2688 epan/dissectors/asn1/dsp/Makefile
2689 epan/dissectors/asn1/ess/Makefile
2690 epan/dissectors/asn1/f1ap/Makefile
2691 epan/dissectors/asn1/ftam/Makefile
2692 epan/dissectors/asn1/goose/Makefile
2693 epan/dissectors/asn1/gprscdr/Makefile
2694 epan/dissectors/asn1/gsm_map/Makefile
2695 epan/dissectors/asn1/h225/Makefile
2696 epan/dissectors/asn1/h235/Makefile
2697 epan/dissectors/asn1/h245/Makefile
2698 epan/dissectors/asn1/h248/Makefile
2699 epan/dissectors/asn1/h282/Makefile
2700 epan/dissectors/asn1/h283/Makefile
2701 epan/dissectors/asn1/h323/Makefile
2702 epan/dissectors/asn1/h450/Makefile
2703 epan/dissectors/asn1/h450-ros/Makefile
2704 epan/dissectors/asn1/h460/Makefile
2705 epan/dissectors/asn1/h501/Makefile
2706 epan/dissectors/asn1/HI2Operations/Makefile
2707 epan/dissectors/asn1/hnbap/Makefile
2708 epan/dissectors/asn1/idmp/Makefile
2709 epan/dissectors/asn1/ilp/Makefile
2710 epan/dissectors/asn1/inap/Makefile
2711 epan/dissectors/asn1/isdn-sup/Makefile
2712 epan/dissectors/asn1/kerberos/Makefile
2713 epan/dissectors/asn1/lcsap/Makefile
2714 epan/dissectors/asn1/ldap/Makefile
2715 epan/dissectors/asn1/logotypecertextn/Makefile
2716 epan/dissectors/asn1/lpp/Makefile
2717 epan/dissectors/asn1/lppa/Makefile
2718 epan/dissectors/asn1/lppe/Makefile
2719 epan/dissectors/asn1/lte-rrc/Makefile
2720 epan/dissectors/asn1/m2ap/Makefile
2721 epan/dissectors/asn1/m3ap/Makefile
2722 epan/dissectors/asn1/mms/Makefile
2723 epan/dissectors/asn1/mpeg-audio/Makefile
2724 epan/dissectors/asn1/mpeg-pes/Makefile
2725 epan/dissectors/asn1/mudurl/Makefile
2726 epan/dissectors/asn1/nbap/Makefile
2727 epan/dissectors/asn1/nr-rrc/Makefile
2728 epan/dissectors/asn1/ns_cert_exts/Makefile
2729 epan/dissectors/asn1/novell_pkis/Makefile
2730 epan/dissectors/asn1/ocsp/Makefile
2731 epan/dissectors/asn1/p1/Makefile
2732 epan/dissectors/asn1/p22/Makefile
2733 epan/dissectors/asn1/p7/Makefile
2734 epan/dissectors/asn1/p772/Makefile
2735 epan/dissectors/asn1/pcap/Makefile
2736 epan/dissectors/asn1/pkcs1/Makefile
2737 epan/dissectors/asn1/pkcs12/Makefile
2738 epan/dissectors/asn1/pkinit/Makefile
2739 epan/dissectors/asn1/pkixac/Makefile
2740 epan/dissectors/asn1/pkix1explicit/Makefile
2741 epan/dissectors/asn1/pkix1implicit/Makefile
2742 epan/dissectors/asn1/pkixproxy/Makefile
2743 epan/dissectors/asn1/pkixqualified/Makefile
2744 epan/dissectors/asn1/pkixtsp/Makefile
2745 epan/dissectors/asn1/pres/Makefile
2746 epan/dissectors/asn1/q932/Makefile
2747 epan/dissectors/asn1/q932-ros/Makefile
2748 epan/dissectors/asn1/qsig/Makefile
2749 epan/dissectors/asn1/ranap/Makefile
2750 epan/dissectors/asn1/rnsap/Makefile
2751 epan/dissectors/asn1/ros/Makefile
2752 epan/dissectors/asn1/rrc/Makefile
2753 epan/dissectors/asn1/rrlp/Makefile
2754 epan/dissectors/asn1/rtse/Makefile
2755 epan/dissectors/asn1/rua/Makefile
2756 epan/dissectors/asn1/s1ap/Makefile
2757 epan/dissectors/asn1/sabp/Makefile
2758 epan/dissectors/asn1/sbc-ap/Makefile
2759 epan/dissectors/asn1/smrse/Makefile
2760 epan/dissectors/asn1/snmp/Makefile
2761 epan/dissectors/asn1/spnego/Makefile
2762 epan/dissectors/asn1/sv/Makefile
2763 epan/dissectors/asn1/t124/Makefile
2764 epan/dissectors/asn1/t125/Makefile
2765 epan/dissectors/asn1/t38/Makefile
2766 epan/dissectors/asn1/tcap/Makefile
2767 epan/dissectors/asn1/tetra/Makefile
2768 epan/dissectors/asn1/ulp/Makefile
2769 epan/dissectors/asn1/wlancertextn/Makefile
2770 epan/dissectors/asn1/x2ap/Makefile
2771 epan/dissectors/asn1/x509af/Makefile
2772 epan/dissectors/asn1/x509ce/Makefile
2773 epan/dissectors/asn1/x509if/Makefile
2774 epan/dissectors/asn1/x509sat/Makefile
2776 capchild/doxygen.cfg
2778 caputils/doxygen.cfg
2784 epan/dfilter/Makefile
2785 epan/dissectors/Makefile
2786 epan/dissectors/dcerpc/Makefile
2787 epan/ftypes/Makefile
2801 packaging/macosx/Info.plist
2802 packaging/macosx/Makefile
2803 packaging/macosx/Wireshark_package.pmdoc/index.xml
2804 packaging/nsis/Makefile
2805 packaging/rpm/Makefile
2806 packaging/rpm/SPECS/Makefile
2807 packaging/rpm/SPECS/wireshark.spec
2808 packaging/wix/Makefile
2810 plugins/epan/ethercat/Makefile
2811 plugins/epan/gryphon/Makefile
2812 plugins/epan/irda/Makefile
2813 plugins/epan/mate/Makefile
2814 plugins/epan/opcua/Makefile
2815 plugins/epan/profinet/Makefile
2816 plugins/epan/stats_tree/Makefile
2817 plugins/epan/transum/Makefile
2818 plugins/epan/unistim/Makefile
2819 plugins/epan/wimax/Makefile
2820 plugins/epan/wimaxasncp/Makefile
2821 plugins/epan/wimaxmacphy/Makefile
2822 plugins/wiretap/usbdump/Makefile
2823 plugins/codecs/l16_mono/Makefile
2824 _CUSTOM_PLUGIN_CONFIG_FILES_
2825 randpkt_core/doxygen.cfg
2826 randpkt_core/Makefile
2828 tools/lemon/Makefile
2831 writecap/doxygen.cfg
2840 if test "x$have_gtk" = "xyes"; then
2841 gtk_lib_message=" (with GTK+ v$GTK_VERSION)"
2844 if test "x$have_qt" = "xyes" ; then
2845 enable_wireshark_qt="yes"
2846 qt_lib_message=" (with Qt$qt_version v$QT_VERSION)"
2848 enable_wireshark_qt="no"
2851 if test "x$enable_setcap_install" = "xyes" ; then
2852 setcap_message="yes"
2857 if test "x$enable_setuid_install" = "xyes" ; then
2858 setuid_message="yes"
2863 if test "x$DUMPCAP_GROUP" = "x" ; then
2864 dumpcap_group_message="(none)"
2866 dumpcap_group_message="$DUMPCAP_GROUP"
2869 if test "x$want_zlib" = "xno" ; then
2875 if test "x$have_lua" = "xyes" ; then
2881 if test "x$have_qt_multimedia_lib" = "xyes" ; then
2882 qt_multimedia_message="yes"
2884 qt_multimedia_message="no"
2887 if test "x$want_portaudio" = "xyes" ; then
2888 portaudio_message="yes"
2890 portaudio_message="no"
2893 if test "x$want_krb5" = "xno" ; then
2896 krb5_message="yes ($ac_krb5_version)"
2899 if test "x$have_good_c_ares" = "xyes" ; then
2900 c_ares_message="yes"
2902 c_ares_message="no (name resolution will be disabled)"
2905 if test "x$have_good_libcap" = "xyes" ; then
2906 libcap_message="yes"
2911 if test "x$have_good_maxminddb" = "xyes" ; then
2912 maxminddb_message="yes"
2914 maxminddb_message="no"
2917 if test "x$have_good_libssh" = "xyes" ; then
2918 libssh_message="yes"
2919 if test "x$have_ssh_userauth_agent" = "xno" ; then
2920 ssh_userauth_agent_message=" (without ssh_userauth_agent)"
2926 if test "x$have_good_nghttp2" = "xyes" ; then
2927 nghttp2_message="yes"
2929 nghttp2_message="no"
2932 if test "x$have_good_bcg729" = "xyes" ; then
2933 bcg729_message="yes"
2938 if test "x$have_wsug" = xyes -a "x$want_wsug" != xno; then
2945 echo " CPPFLAGS: $WS_CPPFLAGS $CPPFLAGS"
2947 echo " CFLAGS: $WS_CFLAGS $CFLAGS"
2949 echo " CXXFLAGS: $WS_CXXFLAGS $CXXFLAGS"
2951 echo " LDFLAGS: $WS_LDFLAGS $LDFLAGS"
2956 echo "The Wireshark package has been configured with the following options:"
2957 echo " GLib version : v$GLIB_VERSION"
2958 echo " Build wireshark : $enable_wireshark_qt$qt_lib_message"
2959 echo " Build wireshark-gtk : $have_gtk""$gtk_lib_message"
2960 echo " Build tshark : $enable_tshark"
2961 echo " Build tfshark : $enable_tfshark"
2962 echo " Build capinfos : $enable_capinfos"
2963 echo " Build captype : $enable_captype"
2964 echo " Build editcap : $enable_editcap"
2965 echo " Build dumpcap : $enable_dumpcap"
2966 echo " Build mergecap : $enable_mergecap"
2967 echo " Build reordercap : $enable_reordercap"
2968 echo " Build text2pcap : $enable_text2pcap"
2969 echo " Build randpkt : $enable_randpkt"
2970 echo " Build dftest : $enable_dftest"
2971 echo " Build rawshark : $enable_rawshark"
2972 echo " Build sharkd : $enable_sharkd"
2973 echo " Build fuzzshark : $enable_fuzzshark"
2974 echo " Build androiddump : $enable_androiddump"
2975 echo " Build sshdump : $enable_sshdump"
2976 echo " Build ciscodump : $enable_ciscodump"
2977 echo " Build randpktdump : $enable_randpktdump"
2978 echo " Build udpdump : $enable_udpdump"
2979 echo " Build MaxMind DB resolver : $maxminddb_message"
2980 echo " Build User's Guide : $wsug_message"
2982 echo " Save files as pcapng by default : $enable_pcap_ng_default"
2983 echo " Install dumpcap with capabilities : $setcap_message"
2984 echo " Install dumpcap setuid : $setuid_message"
2985 echo " Use dumpcap group : $dumpcap_group_message"
2986 echo " Use plugins : $have_plugins"
2987 echo " Use Lua library : $lua_message"
2988 echo " Build Qt RTP player : $qt_multimedia_message"
2989 echo " Build GTK+ RTP player : $portaudio_message"
2990 echo " Use pcap library : $want_pcap"
2991 echo " Use zlib library : $zlib_message"
2992 echo " Use kerberos library : $krb5_message"
2993 echo " Use c-ares library : $c_ares_message"
2994 echo " Use SMI MIB library : $have_libsmi"
2995 echo " Use GNU gcrypt library : yes"
2996 echo " Use GnuTLS library : $tls_message"
2997 echo " Use POSIX capabilities library : $libcap_message"
2998 echo " Use libssh library : ${libssh_message}${ssh_userauth_agent_message}"
2999 echo " Use nl library : $libnl_message"
3000 echo " Use SBC codec library : $have_sbc"
3001 echo " Use SpanDSP library : $have_spandsp"
3002 echo " Use bcg729 library : $bcg729_message"
3003 echo " Use libxml2 library : $have_libxml2"
3004 echo " Use nghttp2 library : $nghttp2_message"
3005 echo " Use LZ4 library : $have_lz4"
3006 echo " Use Snappy library : $have_snappy"
3007 #echo " Use GDK-Pixbuf with GResource: $have_gresource_pixbuf"
3009 # We're slowly migrating to CMake. The following still use or refer
3012 # - INSTALL and INSTALL.configure
3015 # - doc/README.packaging
3016 # - doc/README.idl2wrs
3017 # - doc/README.plugins
3018 # - docbook/wsdg_src/WSDG_chapter_dissection.asciidoc
3019 # - docbook/wsdg_src/WSDG_chapter_sources.asciidoc
3020 # - docbook/wsug_src/WSUG_chapter_build_install.asciidoc
3021 # - packaging/rpm/SPECS/wireshark.spec.in
3022 # - tools/git-compare-abis.sh
3024 AC_MSG_NOTICE([Builds using Autotools might be removed in the future.])