2 # Autoconf script for Wireshark
6 # Define variables for the components of the Wireshark version number.
8 m4_define([version_major], [1])
9 m4_define([version_minor], [99])
10 m4_define([version_micro], [0])
11 m4_define([version_micro_extra], version_micro)
12 m4_append([version_micro_extra], [])
14 AC_INIT(wireshark, [version_major.version_minor.version_micro_extra], http://bugs.wireshark.org/, , http://www.wireshark.org/)
18 # Minimum autoconf version we require.
20 # Variable expansion doesn't work in AC_PREREQ()
22 AC_SUBST(AC_MIN_VERSION)
24 dnl Check for CPU / vendor / OS
25 dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
26 dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the
27 dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other
30 dnl As nothing in the Wireshark is itself a build tool (we are not,
31 dnl for example, a compiler that generates machine code), we probably
32 dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able
33 dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just
34 dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as
35 dnl lemon, that need to be built for the build machine, not for the
36 dnl host machine, so we might need both.
38 dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails.
40 dnl AC_CANONICAL_BUILD
44 AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip])
46 # Make Wireshark's version available in config.h
47 AC_DEFINE(VERSION_MAJOR, version_major, [Wireshark's major version])
48 AC_DEFINE(VERSION_MINOR, version_minor, [Wireshark's minor version])
49 AC_DEFINE(VERSION_MICRO, version_micro, [Wireshark's micro version])
54 # Checks for programs used in the main build process.
62 dnl Work around libtool bug (fixed in the version 1.5a?)
63 AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
66 if test ! -z "$CXX"; then
68 # OK, we found something AC_LANG_CXX thinks is a C++ compiler,
71 # Some UN*Xes have, by default, a case-insensitive file
72 # system, and AC_PROG_CXX looks for, among other things,
73 # "CC" as a C++ compiler, and, if you have a case-insensitive
74 # file system and a C compiler named "cc" (both true, by
75 # default, on OS X), AC_PROG_CXX may end up thinking it's
78 # So we check by feeding the purported C++ compiler a
79 # program using C++ features (iostream).
81 # We do this after AC_PROG_LIBTOOL; if we did so before, and
82 # cleared CXX if what we had isn't a C++ compiler, that'd
83 # get undone by AC_PROG_LIBTOOL for some reason.
85 AC_MSG_CHECKING(whether $CXX is a C++ compiler)
87 AC_LINK_IFELSE([AC_LANG_PROGRAM(
92 std::cout << "Hello World! ";
102 AC_PATH_PROG(PERL, perl)
105 AC_PATH_PROG(PYTHON, python)
106 if test ! -z "$PYTHON"; then
108 # OK, we found Python; is it Python 2.5 or later?
109 # Note: we don't use named components for sys.version_info to get
110 # the major version number, as named components for version_info
111 # were apparently introduced in Python 2.7.
113 AC_MSG_CHECKING([whether $PYTHON is Python 2.5 or later])
114 python_major_version=`$PYTHON -c 'import sys; print (sys.version_info[[0]])'`
115 python_minor_version=`$PYTHON -c 'import sys; print (sys.version_info[[1]])'`
116 if test "$python_major_version" -eq 2 -a "$python_minor_version" -lt 5 ; then
118 AC_MSG_WARN([Building with Python $python_major_version.$python_minor_version may not work])
123 AC_MSG_ERROR(I couldn't find python; make sure it's installed and in your path)
127 # XXX - should autogen.sh check for YACC/Bison and Flex? A user building
128 # from a distribution tarball shouldn't have to have YACC/Bison or Flex,
129 # as the tarball should contain the results of running YACC/Bison on .y
130 # files and running Flex on .l files, but a user building from SVN
131 # will have to run YACC/Bison and Flex to process those files.
133 # On the other hand, what about users who use a distribution tarball to
134 # do development? They *shouldn't* - that's what the SVN repository is
135 # for - but they might. They'd get errors if they modify a .y or .l
136 # file and try to do a build - but the error should tell them that they
137 # need to get YACC/Bison and/or Flex.
139 # Then again, getting them shouldn't be too big of a burden.
141 # XXX - is the same true of pod2man and pod2html, or are they needed
142 # even when building from a distribution tarball?
146 AC_PATH_PROG(YACCDUMMY, $YACC)
147 if test "x$YACCDUMMY" = x
149 AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
152 AC_PATH_PROG(LEX, flex)
155 AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path)
157 AC_PATH_PROG(POD2MAN, pod2man)
158 if test "x$POD2MAN" = x
161 # The alternative is not to build the man pages....
163 AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
165 AC_PATH_PROG(POD2HTML, pod2html)
166 if test "x$POD2HTML" = x
169 # The alternative is not to build the HTML man pages....
171 AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
175 # Checks for programs used by Wireshark/TShark/etc.
179 # XXX - this looks for various HTML viewers on the host, not the target;
180 # we really want to know what's available on the target, for cross-builds.
181 # That would probably require us to, at run time, look for xdg-open and,
182 # if we don't find it, look for mozilla, htmlview, etc.
184 AC_PATH_PROG(HTML_VIEWER, xdg-open)
185 if test "x$HTML_VIEWER" != x
188 # XXX - the HTML_VIEWER shell variable is the full path of xdg-open.
189 # Define some variable to be that, so we just run that?
191 AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
194 # XXX - we have to define HTML_VIEWER for the prefs.c code that
195 # sets the default value of the Web browser preference, even
196 # though that preference won't be offered.
198 AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
200 AC_PATH_PROG(HTML_VIEWER, htmlview)
201 if test "x$HTML_VIEWER" = x
203 AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
205 AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
210 # Set "ac_supports_gcc_flags" if the compiler is known to support GCC-style
211 # flags such as -pedantic, -W warning flags and -f feature flags. Currently,
212 # we assume GCC and clang do; other compilers should be added here.
214 # This is done to avoid getting tripped up by compilers that support
215 # those flags but give them a different meaning.
217 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
218 ac_supports_gcc_flags=yes
221 if test "x$CC_FOR_BUILD" = x
225 AC_SUBST(CC_FOR_BUILD)
226 AC_SUBST(CFLAGS_FOR_BUILD)
229 AC_PATH_PROG(DOXYGEN, doxygen)
230 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
231 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
234 # Check for pkg-config and set PKG_CONFIG accordingly.
236 # This is referenced via AC_REQUIRE([PKG_PROG_PKG_CONFIG] in some macros
237 # like PKG_CHECK_MODULES. If the first call to such a macro is under an
238 # "if" statement, it's safer to call PKG_PROG_PKG_CONFIG directly, see
239 # the comments in acolocal.m4
243 AC_ARG_ENABLE(osx-deploy-target,
244 AC_HELP_STRING( [--enable-osx-deploy-target],
245 [choose an OS X deployment target @<:@default=major release on which you're building@:>@]),
255 # Let the user specify an OS X release to use as a
256 # deplayment target; if they specify that we should
257 # have a deployment target but don't specify the
258 # deployment target, then, if we have SDKs available,
259 # pick the OS version on which the build is being done.
260 # This also causes the build to be done against an SDK
261 # rather than against the headers and libraries in
262 # /usr/include and /usr/lib.
264 # Check for an OS X deployment target early, so that
265 # as many tests using the compiler are done using the
266 # flags that we'll be using when building.
268 if test $enableval = no
271 # The user explicitly said
272 # --disable-osx-deploy-target, so don't build
276 elif test $enableval = yes
279 # The user said --enable-osx-deploy-target, but
280 # didn't say what version to target; target the
281 # major version number of the version of OS X on
282 # which we're running.
284 # (We quote the command so that we can use
285 # autoconf's M4 quoting characters, [ and ], in
286 # the sed expression.)
288 [deploy_target=`sw_vers -productVersion | sed 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.[0-9]*/\1.\2/'`]
290 deploy_target="$enableval"
296 # No. Fail, because whatever the user intended for us to
297 # do, we can't do it.
299 AC_MSG_ERROR([--enable-osx-deploy-target specified on an OS other than OS X])
311 # If we have SDKs available, default to targeting the major
312 # version number of the version of OS X on which we're
315 # (We quote the command so that we can use autoconf's
316 # M4 quoting characters, [ and ], in the sed expression.)
318 for i in /Developer/SDKs \
319 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \
320 /Library/Developer/CommandLineTools/SDKs
324 [deploy_target=`sw_vers -productVersion | sed 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.[0-9]*/\1.\2/'`]
332 # No. There's nothing to do.
338 if test ! -z "$deploy_target"
340 AC_MSG_CHECKING([whether we can build for OS X $deploy_target])
341 case $deploy_target in
345 # I'm not sure this would even work.
348 AC_ERROR([We don't support building for OS X $deploy_target])
353 # XXX - never tested.
356 SDKPATH="/Developer/SDKs/MacOSX10.3.9.sdk"
361 # XXX - for 10.4, do we need 10.4u? We're
362 # not currently doing fat builds (we'd need
363 # fat versions of the support libraries for
364 # that to be useful), but, if we do, we'd
367 for i in /Developer/SDKs \
368 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \
369 /Library/Developer/CommandLineTools/SDKs
371 if test -d "$i"/"MacOSX$deploy_target.sdk"
373 SDKPATH="$i"/"MacOSX$deploy_target.sdk"
377 if test -z "$SDKPATH"
380 AC_MSG_ERROR([We couldn't find the SDK for OS X $deploy_target])
387 # Add a -mmacosx-version-min flag to force tests that
388 # use the compiler, as well as the build itself, not to,
389 # for example, use compiler or linker features not supported
390 # by the minimum targeted version of the OS.
392 # Add an -isysroot flag to use the SDK.
394 CFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $CFLAGS"
395 CXXFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $CXXFLAGS"
396 LDFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $LDFLAGS"
399 # Add a -sdkroot flag to use with osx-app.sh.
401 OSX_APP_FLAGS="-sdkroot $SDKPATH"
404 # XXX - do we need this to build the Wireshark wrapper?
405 # XXX - is this still necessary with the -mmacosx-version-min
408 OSX_DEPLOY_TARGET="MACOSX_DEPLOYMENT_TARGET=$deploy_target"
411 # In the installer package XML file, give the deployment target
412 # as the minimum version.
414 OSX_MIN_VERSION="$deploy_target"
416 case $deploy_target in
420 # Only 32-bit builds are supported. 10.5
421 # (and 10.4?) had a bug that causes some BPF
422 # functions not to work with 64-bit userland
423 # code, so capturing won't work.
425 CFLAGS="-m32 $CFLAGS"
426 CXXFLAGS="-m32 $CXXFLAGS"
427 LDFLAGS="-m32 $LDFLAGS"
439 # In the installer package XML file, give the current OS
440 # version, minor version and all, as the minimum version.
441 # We can't guarantee that the resulting binary will work
442 # on older OS versions, not even older minor versions
443 # (original release or earlier software updates).
445 OSX_MIN_VERSION=`sw_vers -productVersion`
449 AC_SUBST(OSX_MIN_VERSION)
452 # Try to arrange for large file support.
457 # GUI toolkit options
460 AC_HELP_STRING( [--with-qt=@<:@yes/no@:>@],
461 [use Qt @<:@default=yes@:>@]),
462 with_qt="$withval", with_qt="unspecified")
465 AC_HELP_STRING( [--with-gtk2=@<:@yes/no@:>@],
466 [use GTK+ 2.0 @<:@default=no@:>@]),
467 with_gtk2="$withval", with_gtk2="unspecified")
470 AC_HELP_STRING( [--with-gtk3=@<:@yes/no@:>@],
471 [use GTK+ 3.0 instead of 2.0 @<:@default=yes@:>@]),
472 with_gtk3="$withval", with_gtk3="unspecified")
475 # Version 3.0 switched from LGPLv2.1+ to LGPLv3+, then switched back to
476 # LGPLv2.1+ in version 3.1.10.
477 # GnuTLS depends on GMP which switched from LGPLv2.1+ to LGPLv3+ in
478 # version 4.2.2, the switched to LGPLv3+ / GPLv2+ in version 6.0.0.
481 AC_ARG_WITH([gnutls],
482 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
483 [use GnuTLS library @<:@default=yes@:>@]),
484 with_gnutls="$withval", with_gnutls="yes")
485 if test "x$with_gnutls" = "xyes"; then
486 have_license_compatible_gnutls="no"
487 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.1.10 ],
488 [ have_license_compatible_gnutls="yes" ], [ echo "GnuTLS >= 3.1.10 not found " ]
491 if test "x$have_license_compatible_gnutls" != "xyes"; then
492 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0 gnutls < 3],
493 [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 1.2.0, < 3.0 not found " ]
497 if test "x$have_license_compatible_gnutls" = "xyes"; then
498 echo "GnuTLS found, enabling SSL decryption"
499 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use GnuTLS library])
502 echo "GnuTLS with compatible license not found, disabling SSL decryption"
509 AC_ARG_WITH([gcrypt],
510 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
511 [use gcrypt library @<:@default=yes@:>@]),
512 with_gcrypt="$withval", with_gcrypt="yes")
513 if test "x$with_gcrypt" = "xyes"; then
514 AM_PATH_LIBGCRYPT(1.1.92,
516 echo "libgcrypt found, enabling ipsec decryption"
517 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
521 if test x$libgcrypt_config_prefix != x ; then
522 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
524 echo "libgcrypt not found, disabling ipsec decryption"
532 AC_HELP_STRING([--with-libnl@<:@=VERSION@:>@],
533 [use libnl (force version VERSION, if supplied) @<:@default: yes, if available@:>@]),
535 if test "x$withval" = "xno"
538 elif test "x$withval" = "xyes"
542 elif test "x$withval" = "x1"
546 elif test "x$withval" = "x2"
550 elif test "x$withval" = "x3"
555 AC_MSG_ERROR(["$withval" is not a valid argument to --with-libnl])
559 # Use libnl if it's present, otherwise don't.
561 want_libnl=ifavailable
565 # Libnl is Linux-specific.
570 AC_MSG_CHECKING(whether to use libnl for various network interface purposes)
572 if test x$want_libnl = "xno"; then
577 # Test for specific libnl versions only if no version
578 # was specified by the user or if the version in question
579 # was requested by the user.
581 if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then
582 PKG_CHECK_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no])
584 if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then
585 PKG_CHECK_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no])
587 if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then
588 PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no])
590 if (test "${have_libnl3}" = "yes"); then
591 CFLAGS="$CFLAGS $LIBNL3_CFLAGS"
592 LIBS="$LIBS $LIBNL3_LIBS"
593 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
594 AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
595 libnl_message="yes (v3)"
597 elif (test "${have_libnl2}" = "yes"); then
598 CFLAGS="$CFLAGS $LIBNL2_CFLAGS"
599 LIBS="$LIBS $LIBNL2_LIBS"
600 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
601 AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
602 libnl_message="yes (v2)"
604 elif (test "${have_libnl1}" = "yes"); then
605 CFLAGS="$CFLAGS $LIBNL1_CFLAGS"
606 LIBS="$LIBS $LIBNL1_LIBS"
607 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
608 AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
609 libnl_message="yes (v1)"
612 if test x$want_libnl = "xyes"; then
613 case "$libnl_version" in
616 AC_MSG_ERROR("I couldn't find libnl even though you manually enabled it.")
620 AC_MSG_ERROR("I couldn't find libnl version $libnl_version even though you manually enabled it.")
627 AC_MSG_CHECKING([if nl80211.h is new enough])
628 AC_TRY_COMPILE([#include <linux/nl80211.h>],
629 [int x = NL80211_FREQUENCY_ATTR_MAX_TX_POWER;
630 x = NL80211_ATTR_SUPPORTED_IFTYPES;
631 x = NL80211_ATTR_SUPPORTED_COMMANDS;
632 x = NL80211_ATTR_WIPHY_FREQ;
633 x = NL80211_CHAN_NO_HT;],
634 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211, 1, [nl80211.h is new enough])],
637 AC_MSG_CHECKING([for NL80211_SET_CHANNEL])
638 AC_TRY_COMPILE([#include <linux/nl80211.h>],
639 [enum nl80211_commands x = NL80211_CMD_SET_CHANNEL;],
640 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_CMD_SET_CHANNEL, 1, [SET_CHANNEL is supported])],
645 if test x$want_libnl != "xno" -a x$want_libnl != "xifavailable"; then
646 AC_MSG_WARN([libnl is Linux-specific, ignoring --with-libnl])
651 # FIXME: currently the path argument to with-libsmi is being ignored
655 # Check for programs used when building DocBook documentation.
658 # Check for a2x (convert asciidoc to another format)
659 AC_PATH_PROG(A2X, a2x)
660 AC_CHECK_PROG(HAVE_A2X, a2x, "yes", "no")
661 AM_CONDITIONAL(HAVE_A2X, test x$HAVE_A2X = xyes)
663 # Want to control a tape drive? Use mt. Want to convert HTML to text?
664 # Uhhhhh... elinks? lynx? w3m? pandoc? html2text?
665 AC_PATH_PROG(ELINKS, elinks)
666 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
667 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
669 # Check for fop (translate .fo to e.g. pdf)
670 AC_PATH_PROG(FOP, fop)
671 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
672 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
674 # Check for lynx (html -> text)
675 AC_PATH_PROG(LYNX, lynx)
676 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
677 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
679 # Check for w3m (html -> text)
680 AC_PATH_PROG(W3M, w3m)
681 AC_CHECK_PROG(HAVE_W3M, w3m, "yes", "no")
682 AM_CONDITIONAL(HAVE_W3M, test x$HAVE_W3M = xyes)
685 AC_PATH_PROG(XMLLINT, xmllint)
686 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
687 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
690 AC_PATH_PROG(XSLTPROC, xsltproc)
691 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
692 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
695 # Check for packaging utilities
696 # For now, we check to see if the various packaging utilites are in our
697 # path. I'm too lazy to write code to go hunt for them. - Gerald
701 # (Lets you install the desktop files.)
703 AC_PATH_PROG(DESKTOP_FILE_INSTALL, desktop-file-install)
706 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
707 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
708 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
710 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
711 -a x$HAVE_PKGTRANS = xyes ; then
712 HAVE_SVR4_PACKAGING=yes
714 HAVE_SVR4_PACKAGING=no
716 AC_SUBST(HAVE_SVR4_PACKAGING)
719 AC_WIRESHARK_RPM_CHECK
723 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
726 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
727 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
728 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
730 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
731 -a x$HAVE_BLESS = xyes ; then
732 HAVE_OSX_PACKAGING=yes
734 HAVE_OSX_PACKAGING=no
736 AC_SUBST(HAVE_OSX_PACKAGING)
739 # Some compilers have to be told to fail when passed an unknown -W flag;
740 # make sure we do that.
742 AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
745 # Some C++ compilers have to be told to fail when passed a -W flag that
746 # they don't think should apply to C++; make sure we do that.
748 AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
751 # Try to add some additional checks to CFLAGS.
752 # These are not enabled by default, because the warnings they produce
753 # are very hard or impossible to eliminate.
755 AC_ARG_ENABLE(extra-compiler-warnings,
756 AC_HELP_STRING( [--enable-extra-compiler-warnings],
757 [do additional compiler warnings @<:@default=no@:>@]),
759 wireshark_extra_flags=$enableval
760 if test $enableval != no
763 # The following are for C and C++
765 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-pedantic)
767 # Various code blocks this one.
769 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Woverflow)
770 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
772 # Due to various places where APIs we don't control
773 # require us to cast away constness, we can probably
774 # never enable this one with -Werror.
776 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-qual)
778 # Some generated ASN.1 dissectors block this one;
779 # multiple function declarations for the same
780 # function are being generated.
782 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wredundant-decls)
784 # Some loops are safe, but it's hard to convince the
787 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunsafe-loop-optimizations)
789 # All the registration functions block these for now.
791 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-prototypes)
792 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-declarations)
794 # A bunch of "that might not work on SPARC" code blocks
797 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-align)
799 # Works only with Clang
801 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunreachable-code)
803 # Works only with Clang but generates a lot of warnings
804 # (about glib library not using Doxygen)
806 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdocumentation)
809 # The following are C only, not C++
811 # Due to various places where APIs we don't control
812 # require us to cast away constness, we can probably
813 # never enable this one with -Werror.
815 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wbad-function-cast, C)
820 # The following are for C and C++
822 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
823 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra) # -W is now known as -Wextra
824 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels)
825 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith)
826 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Warray-bounds)
827 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
828 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
829 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
830 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
831 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
832 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
833 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
834 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
835 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
836 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
837 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
838 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wwrite-strings)
839 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
840 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
843 # The following are C only, not C++
845 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
846 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdeclaration-after-statement, C)
851 # Make sure -Wshadow doesn't complain about variables in function and
852 # function pointer declarations shadowing other variables; if not, don't
853 # turn it on, as some versions of GCC (including the one in at least
854 # some Xcode versions that came with Mac OS X 10.5) complain about
857 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshadow, C,
859 extern int bar(int a);
865 int (*fptr)(int a) = bar;
870 [warns about variables in function declarations shadowing other variables])
872 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
873 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
874 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
876 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
877 # is given a constant string.
878 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
879 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wlogical-op, C,
883 int foo(const char *, int);
887 foo(const char *sep, int c)
889 if (strchr (sep, c) != NULL)
898 return foo("<", 'a');
901 [generates warnings from strchr()])
903 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
904 # The Qt headers generate a ton of shortening errors on 64-bit systems
905 # so only enable this for C for now.
906 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
909 # Use the faster pre gcc 4.5 floating point precision if available.
911 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
914 # Try to have the compiler default to hiding symbols, so that only
915 # symbols explicitly exported with WS_DLL_PUBLIC will be visible
916 # outside (shared) libraries; that way, more UN*X builds will catch
917 # failures to export symbols, rather than having that fail only on
920 CFLAGS_before_fvhidden="$CFLAGS"
922 # GCC and GCC-compatible compilers
924 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
925 if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
930 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
931 if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
933 # TODO add other ways of hiding symbols
934 AC_MSG_WARN(Compiler will export all symbols from shared libraries)
938 AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
939 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
940 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
941 # AC_WIRESHARK_LDFLAGS_CHECK([-flto])
942 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
943 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
946 # Put -fPIE in PIE_CFLAGS and -pie in PIE_LDFLAGS if we can use them,
947 # so that we can build dumpcap PIE - it may run with elevated
948 # privileges, and using PIE means the OS can run it at random locations
949 # in the address space to make attacks more difficult.
951 CFLAGS_before_pie="$CFLAGS"
952 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE)
953 if test "x$CFLAGS" != "x$CFLAGS_before_pie"
956 CFLAGS="$CFLAGS_before_pie"
958 LDFLAGS_before_pie="$LDFLAGS"
959 AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
960 if test "x$LDFLAGS" != "x$LDFLAGS_before_pie"
967 LDFLAGS="$LDFLAGS_before_pie"
972 AC_SUBST(PIE_LDFLAGS)
974 CFLAGS_before_simd="$CFLAGS"
975 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
976 if test "x$CFLAGS" != "x$CFLAGS_before_simd"
978 AC_MSG_CHECKING([whether there is nmmintrin.h header])
981 [#include <nmmintrin.h>],
985 AC_DEFINE(HAVE_SSE4_2, 1, [Support SSSE4.2 (Streaming SIMD Extensions 4.2) instructions])
986 CFLAGS_SSE42="-msse4.2"
996 CFLAGS="$CFLAGS_before_simd"
1000 dnl build libwsutil_sse42 only if there is SSE4.2
1001 AM_CONDITIONAL(SSE42_SUPPORTED, test "x$have_sse42" = "xyes")
1002 AC_SUBST(CFLAGS_SSE42)
1005 # If we're running GCC or clang define _U_ to be "__attribute__((unused))"
1006 # so we can use _U_ to flag unused function parameters and not get warnings
1007 # about them. Otherwise, define _U_ to be an empty string so that _U_ used
1008 # to flag an unused function parameters will compile with other compilers.
1010 # XXX - similar hints for other compilers?
1012 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
1013 AC_DEFINE(_U_, __attribute__((unused)), [Hint to the compiler that a function parameters is not used])
1015 AC_DEFINE(_U_, , [Hint to the compiler that a function parameters is not used])
1018 # If we're running GCC or CLang, use FORTIFY_SOURCE=2
1019 # (only if the GCC 'optimization level' > 0).
1021 # See: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
1022 # See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979
1024 # Note: FORTIFY_SOURCE is only effective for gcc optimization level > 0 (-O1, etc)
1025 AC_WIRESHARK_GCC_FORTIFY_SOURCE_CHECK
1028 # If the compiler supports GCC-style flags, enable a barrier "stop on
1030 # This barrier is set for a very large part of the code. However, it is
1031 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
1033 warnings_as_errors_default="yes"
1034 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
1035 AC_ARG_ENABLE(warnings-as-errors,
1036 AC_HELP_STRING( [--enable-warnings-as-errors],
1037 [treat warnings as errors (only for GCC or clang) @<:@default=yes, unless extra compiler warnings are enabled@:>@]),
1039 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes"; then
1040 with_warnings_as_errors="yes"
1043 with_warnings_as_errors="no"
1048 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
1049 with_warnings_as_errors="yes"
1052 with_warnings_as_errors="no"
1057 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
1060 # Add any platform-specific compiler flags needed.
1062 AC_MSG_CHECKING(for platform-specific compiler flags)
1063 if test "x$GCC" = "xyes" ; then
1065 # GCC - do any platform-specific tweaking necessary.
1069 # the X11 headers don't automatically include prototype info
1070 # and a lot don't include the return type
1071 CPPFLAGS="$CPPFLAGS -DFUNCPROTO=15"
1072 CFLAGS="$CFLAGS -Wno-return-type"
1073 CXXFLAGS="$CXXFLAGS -Wno-return-type"
1074 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
1077 AC_MSG_RESULT(none needed)
1082 # Not GCC - assume it's the vendor's compiler.
1087 # HP's ANSI C compiler; flags suggested by Jost Martin.
1088 # "-Ae" for ANSI C plus extensions such as "long long".
1089 # "+O2", for optimization. XXX - works with "-g"?
1091 # HP's ANSI C++ compiler doesn't support "-Ae", but
1092 # does support "+O2", at least according to the
1093 # documentation I can find online.
1095 CFLAGS="-Ae +O2 $CFLAGS"
1096 CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
1097 CXXFLAGS="+O2 $CFLAGS"
1098 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
1101 AC_MSG_RESULT(none needed)
1107 # Add any platform-specific linker flags needed.
1109 AC_MSG_CHECKING(for platform-specific linker flags)
1113 # Add -Wl,-single_module to the LDFLAGS used with shared
1114 # libraries, to fix some error that show up in some cases;
1115 # some Apple documentation recommends it for most shared
1118 LDFLAGS_SHAREDLIB="-Wl,-single_module"
1120 # Add -Wl,-headerpad_max_install_names to the LDFLAGS, as
1121 # code-signing issues is running out of padding space.
1123 # Add -Wl,-search_paths_first to make sure that if we search
1124 # directories A and B, in that order, for a given library, a
1125 # non-shared version in directory A, rather than a shared
1126 # version in directory B, is chosen (so we can use
1127 # --with-pcap=/usr/local to force all programs to be linked
1128 # with a static version installed in /usr/local/lib rather than
1129 # the system version in /usr/lib).
1131 # Also add -Wl,-rpath,@executable_path/../lib and
1132 # -Wl,-rpath,/usr/local/lib, so that, if we build an app
1133 # bundle, we can tweak all the executable images, shared
1134 # libraries, and plugins in the bundle to look for non-system
1135 # libraries in the rpath, rather than having a script tweak
1136 # DYLD_LIBRARY_PATH.
1138 LDFLAGS="-Wl,-headerpad_max_install_names -Wl,-search_paths_first -Wl,-rpath,@executable_path/../lib -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,/usr/local/lib $LDFLAGS"
1139 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 rpaths to all linker flags])
1143 # Shared libraries in cygwin/Win32 must never contain
1144 # undefined symbols.
1146 LDFLAGS="$LDFLAGS -no-undefined"
1147 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
1150 AC_MSG_RESULT(none needed)
1153 AC_SUBST(LDFLAGS_SHAREDLIB)
1155 # Enable silent builds by default
1156 # Verbose builds can be enabled with "./configure
1157 # --enable-silent-rules ..." or "make V=1 ..."
1158 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
1159 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
1162 # On "Darwin", which we assume to mean "OS X" rather than "iOS" or
1163 # "just Darwin" (as we don't currently support iOS, and as I don't
1164 # think you can build and run "just Darwin" as an OS for PCs), we
1165 # arrange to build some programs with Application Services so they
1166 # can launch Web browsers and Finder windows, arrange to build some
1167 # programs with System Configuration so they can get "friendly names"
1168 # and other information about interfaces, and build any programs that
1169 # use either of those frameworks or that report version information
1170 # with Core Foundation as the frameworks in question use it and as we
1171 # get version information from plists and thus need Core Foundation
1172 # to process those plists.
1177 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
1178 APPLICATIONSERVICES_FRAMEWORKS="-framework ApplicationServices"
1179 SYSTEMCONFIGURATION_FRAMEWORKS="-framework SystemConfiguration"
1180 COREFOUNDATION_FRAMEWORKS="-framework CoreFoundation"
1183 # OK, so we have the OS X frameworks; do they include
1184 # CFPropertyListCreateWithStream, or do we have
1185 # to fall back on CFPropertyListCreateFromStream?
1186 # (They only differ in the error return, which we
1187 # don't care about. And, no, we shouldn't just
1188 # use CFPropertyListCreateFromStream, because it's
1189 # deprecated in newer releases.)
1191 ac_save_LIBS="$LIBS"
1192 LIBS="$LIBS $COREFOUNDATION_FRAMEWORKS"
1193 AC_CHECK_FUNCS(CFPropertyListCreateWithStream)
1194 LIBS="$ac_save_LIBS"
1197 AC_SUBST(APPLICATIONSERVICES_FRAMEWORKS)
1198 AC_SUBST(SYSTEMCONFIGURATION_FRAMEWORKS)
1199 AC_SUBST(COREFOUNDATION_FRAMEWORKS)
1202 # On Solaris, check whether we have getexecname().
1206 AC_CHECK_FUNC(getexecname)
1210 dnl Look in /usr/local for header files and libraries ?
1211 dnl XXX FIXME don't include /usr/local if it is already in the system
1212 dnl search path as this causes gcc 3.2 on Linux to complain about a change
1213 dnl of the system search order for includes
1214 AC_ARG_ENABLE(usr-local,
1215 AC_HELP_STRING( [--enable-usr-local],
1216 [look for headers and libs in /usr/local tree @<:@default=yes@:>@]),
1217 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
1219 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
1220 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
1221 if test -d "/usr/local"; then
1224 # Arrange that we search for header files in the source directory
1225 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
1226 # as various packages we use ("libpcap", "zlib", "adns")
1227 # may have been installed under "/usr/local/include".
1229 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
1232 # Arrange that we search for libraries in "/usr/local/lib".
1234 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
1243 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
1248 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
1249 if test x$LD_LIBRARY_PATH != x ; then
1250 LIBS="$LIBS -R$LD_LIBRARY_PATH"
1251 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
1253 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
1259 # Check for versions of "sed" inadequate to handle, in libtool, a list
1260 # of object files as large as the list in Wireshark.
1262 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
1263 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
1264 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
1265 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
1266 # is the only "sed" that comes with Solaris that can handle Wireshark.
1268 # Add any checks here that are necessary for other OSes.
1270 AC_PATH_PROG(SED, sed)
1273 AC_MSG_ERROR(I couldn't find sed; make sure it's installed and in your path)
1275 AC_WIRESHARK_GNU_SED_CHECK
1276 if test "$HAVE_GNU_SED" = no ; then
1279 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
1281 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
1283 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
1298 # Enable/disable wireshark
1299 AC_ARG_ENABLE(wireshark,
1300 AC_HELP_STRING( [--enable-wireshark],
1301 [build the Wireshark GUI (with Gtk+, Qt, or both) @<:@default=yes@:>@]),
1302 enable_wireshark=$enableval,enable_wireshark=yes)
1304 AC_ARG_ENABLE(packet-editor,
1305 AC_HELP_STRING( [--enable-packet-editor],
1306 [add support for packet editor in Wireshark @<:@default=yes@:>@]),
1307 enable_packet_editor=$enableval,enable_packet_editor=yes)
1308 if test x$enable_packet_editor = xyes; then
1309 AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
1312 AC_ARG_ENABLE(profile-build,
1313 AC_HELP_STRING( [--enable-profile-build],
1314 [build profile-ready binaries @<:@default=no@:>@]),
1315 enable_profile_build=$enableval,enable_profile_build=no)
1316 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
1317 AC_MSG_CHECKING(if profile builds must be generated)
1318 if test "x$enable_profile_build" = "xyes" ; then
1319 if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
1321 CFLAGS=" -pg $CFLAGS"
1322 CXXFLAGS=" -pg $CXXFLAGS"
1325 echo "Building profile binaries currently only supported for GCC and clang."
1331 # Create DATAFILE_DIR #define for config.h
1332 datafiledir=$datadir/wireshark
1334 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1335 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1336 # Ugly hack, but I don't see how this problem can be solved
1337 # properly that DATAFILE_DIR had a value starting with
1338 # "${prefix}/" instead of e.g. "/usr/local/"
1339 eval eval echo "$datafiledir"
1341 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
1343 # Create DOC_DIR #define for config.h
1345 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1346 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1347 # Ugly hack, but I don't see how this problem can be solved
1348 # properly that DOC_DIR had a value starting with
1349 # "${prefix}/" instead of e.g. "/usr/local/"
1350 eval eval echo "$docdir"
1352 AC_DEFINE_UNQUOTED(DOC_DIR, "$docdir", [Directory for docs])
1354 GTK2_MIN_VERSION=2.12.0
1355 AC_SUBST(GTK2_MIN_VERSION)
1356 GTK3_MIN_VERSION=3.0.0
1357 AC_SUBST(GTK3_MIN_VERSION)
1358 QT_MIN_VERSION=4.6.0
1359 AC_SUBST(QT_MIN_VERSION)
1360 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
1361 # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
1363 # We only do those if we're going to be building Wireshark;
1364 # otherwise, we don't have any GUI to build, so we don't use
1367 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
1368 # force all programs to be built with GTK+ or Qt.
1370 # Release dates for GTK+ versions:
1371 # http://en.wikipedia.org/wiki/GTK+#Releases
1372 # 2.12.0: 14 Sep 2007
1373 # 2.14.0: 04 Sep 2008
1374 # 2.16.0: 13 Mar 2009
1375 # 2.18.0: 23 Sep 2009
1376 # 2.20.0: 23 Mar 2010
1377 # 2.22.0: 23 Sep 2010
1378 # 2.24.0: 30 Jan 2011
1379 # 3.0.0: 10 Feb 2011
1380 # 3.2.0: 25 Sep 2011
1381 # 3.4.0: 26 Mar 2012
1382 # 3.6.0: 24 Sep 2012
1383 # 3.8.0: 25 Mar 2013
1384 # 3.10.0: 23 Sep 2013
1385 # 3.12.0: 25 Mar 2014
1387 # Release dates for Qt versions:
1388 # http://en.wikipedia.org/wiki/List_of_Qt_releases
1389 # 4.6.0: 01 Dec 2009
1390 # 4.7.0: 21 Sep 2010
1391 # 4.8.0: 15 Dec 2011
1392 # 5.0.0: 19 Dec 2012
1393 # 5.1.0: 03 Jul 2013
1394 # 5.2.0: 12 Dec 2013
1398 if test "x$enable_wireshark" = "xyes"; then
1399 if test "x$with_gtk2" = "xunspecified" -a \
1400 "x$with_gtk3" = "xunspecified" -a \
1401 "x$with_qt" = "xunspecified"; then
1403 # No GUI toolkit was explicitly specified; pick Qt and GTK+ 3.
1408 if test "x$with_qt" = "xyes"; then
1410 # Qt was specified; Make sure we have a C++ compiler.
1412 if test -z "$CXX"; then
1413 AC_MSG_ERROR(Need a working C++ compiler to build Wireshark with Qt)
1417 # Now make sure we have Qt and, if so, add the flags
1418 # for it to CFLAGS and CXXFLAGS.
1420 AC_WIRESHARK_QT_CHECK($QT_MIN_VERSION,
1422 CFLAGS="$CFLAGS $Qt_CFLAGS"
1423 CXXFLAGS="$CXXFLAGS $Qt_CFLAGS"
1425 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
1426 OSX_APP_FLAGS="$OSX_APP_FLAGS -qt"
1429 [AC_MSG_ERROR([Qt is not available])])
1432 # XXX - greasy hack to make ui/gtk/recent.c
1435 CPPFLAGS="-DQT_GUI_LIB"
1438 if test "x$with_gtk3" = "xyes"; then
1440 # GTK+ 3 was specified; make sure they didn't also
1441 # specify GTK+ 2, as we don't support building both
1442 # GTK+ 2 and GTK+ 3 versions at the same time.
1444 if test "x$with_gtk2" = "xyes"; then
1445 AC_MSG_ERROR([Both GTK+ 2 and GTK+ 3 were specified; choose one but not both])
1449 # Make sure we have GTK+ 3.
1451 AM_PATH_GTK_3_0(3.0.0,
1453 CFLAGS="$CFLAGS $GTK_CFLAGS"
1454 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1456 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk3"
1458 [AC_MSG_ERROR([GTK+ 3 is not available])])
1459 elif test "x$with_gtk2" = "xyes"; then
1461 # GTK+ 3 wasn't specified, and GTK+ 2 was specified;
1462 # make sure we have GTK+ 2.
1464 AM_PATH_GTK_2_0($GTK2_MIN_VERSION,
1466 CFLAGS="$CFLAGS $GTK_CFLAGS"
1467 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1469 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk2"
1471 [AC_MSG_ERROR([GTK+ 2 is not available])])
1474 AC_SUBST(GUI_CONFIGURE_FLAGS)
1476 GLIB_MIN_VERSION=2.16.0
1477 AC_SUBST(GLIB_MIN_VERSION)
1478 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1479 # support, as we need that for dynamically loading plugins.
1480 # If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because
1481 # AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a
1482 # superset of GLIB_CFLAGS. If we didn't find GTK+, it does add
1483 # GLIB_CFLAGS to CFLAGS.
1484 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
1485 # set when generating the Makefile, so we can make programs that require
1486 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
1487 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
1488 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
1489 # programs to be built with GLib.
1491 # Release dates for GLib versions:
1492 # 2.14.0: 03 Aug 2007
1493 # 2.16.0: 10 Mar 2008
1494 # 2.18.0: 02 Sep 2008
1495 # 2.20.0: 13 Mar 2009
1496 # 2.22.0: 22 Sep 2009
1497 # 2.24.0: 28 Mar 2010
1498 # 2.26.0: 27 Sep 2010
1499 # 2.28.0: 08 Feb 2011
1500 # 2.30.0: 27 Sep 2011
1501 # 2.32.0: 24 Mar 2012
1502 # 2.34.0: 24 Sep 2012
1503 # 2.36.0: 25 Mar 2013
1504 # 2.38.0: 23 Sep 2013
1505 # 2.40.0: 24 Mar 2014
1507 use_glib_cflags="true"
1508 if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
1509 # We have both GTK and Qt and thus will be building both wireshark
1512 wireshark_bin="wireshark\$(EXEEXT) wireshark-qt\$(EXEEXT)"
1513 wireshark_man="wireshark.1"
1514 wireshark_SUBDIRS="codecs ui/qt ui/gtk"
1516 if test "$have_gtk" = "no" -a "$have_qt" = "yes" ; then
1517 # We don't have GTK+ but we have Qt.
1519 wireshark_bin="wireshark-qt\$(EXEEXT)"
1520 wireshark_man="wireshark.1"
1521 wireshark_SUBDIRS="codecs ui/qt"
1523 if test "$have_gtk" = "yes" -a "$have_qt" = "no" ; then
1524 # We have GTK+ but not Qt.
1526 wireshark_bin="wireshark\$(EXEEXT)"
1527 wireshark_man="wireshark.1"
1528 wireshark_SUBDIRS="codecs ui/gtk"
1529 use_glib_cflags="false"
1531 if test "$have_gtk" = "no" -a "$have_qt" = "no" ; then
1532 # We have neither GTK+ nor Qt.
1534 # If they didn't explicitly say "--disable-wireshark",
1535 # fail (so that, unless they explicitly indicated that
1536 # they don't want Wireshark, we stop so they know they
1537 # won't be getting Wireshark unless they fix the GTK+/Qt
1540 if test "x$enable_wireshark" = "xyes"; then
1541 if test "x$with_gtk3" = "xyes"; then
1542 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK3_MIN_VERSION or later are available, so Wireshark can't be compiled])
1544 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK2_MIN_VERSION or later are available, so Wireshark can't be compiled])
1551 if test "$have_gtk" = "yes" ; then
1552 # If we have GTK then add flags for it.
1554 CPPFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CPPFLAGS"
1555 CPPFLAGS="-DGDK_DISABLE_DEPRECATED $CPPFLAGS"
1556 if test \( $gtk_config_major_version -eq 3 -a $gtk_config_minor_version -ge 10 \) ; then
1557 ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
1558 ## The deprecations in Gtk 3.10 will not be fixed ...
1559 CPPFLAGS="-DGDK_DISABLE_DEPRECATION_WARNINGS $CPPFLAGS"
1561 CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
1563 CPPFLAGS="-DGTK_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1564 if test ! \( $gtk_config_major_version -eq 2 -a $gtk_config_minor_version -lt 20 \) ; then
1565 # Enable GSEAL when building with GTK > 2.20
1566 # (Versions prior to 2.22 lacked some necessary accessors.)
1567 CPPFLAGS="-DGSEAL_ENABLE $CPPFLAGS"
1571 # XXX - Is this really necessary? When we build with both Gtk+ and Qt it works...
1572 if test "$use_glib_cflags" = "true"; then
1574 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION,
1576 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1577 CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
1578 ], AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1580 # Don't use GLIB_CFLAGS
1581 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION, , AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1585 # "make dist" requires that we have the Qt build tools.
1587 # Annoyingly, at least on Fedora 16, uic and moc are named XXX-qt4
1588 # rather than just XXX, perhaps to allow Qt 3 and Qt 4 tools to be
1589 # installed; if they're still doing that in current Fedora releases,
1590 # perhaps there will also be XXX-qt5 when they pick up Qt 5.
1592 AC_PATH_PROG(UIC, uic)
1595 AC_PATH_PROG(UIC, uic-qt4)
1598 if test "x$with_qt" = "xyes"; then
1600 # If you want to build with Qt, you'd better
1603 AC_MSG_ERROR(I couldn't find uic or uic-qt4; make sure it's installed and in your path)
1606 # We shouldn't fail here, as the user's not
1607 # building with Qt, and we shouldn't force them
1608 # to have Qt installed if they're not doing so.
1609 # "make dist" will fail if they do that, but
1610 # we don't know whether they'll be doing that,
1611 # so this is the best we can do.
1618 AC_PATH_PROG(MOC, moc)
1621 AC_PATH_PROG(MOC, moc-qt4)
1624 if test "x$with_qt" = "xyes"; then
1626 # If you want to build with Qt, you'd better
1629 AC_MSG_ERROR(I couldn't find moc or moc-qt4; make sure it's installed and in your path)
1632 # We shouldn't fail here, as the user's not
1633 # building with Qt, and we shouldn't force them
1634 # to have Qt installed if they're not doing so.
1635 # "make dist" will fail if they do that, but
1636 # we don't know whether they'll be doing that,
1637 # so this is the best we can do.
1645 # Error out if a glib header other than a "top level" header
1646 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1648 CPPFLAGS="-DG_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1650 # Error out on the usage of deprecated glib functions
1651 CPPFLAGS="-DG_DISABLE_DEPRECATED $CPPFLAGS"
1654 # Check whether GLib modules are supported, to determine whether we
1655 # can support plugins.
1657 AC_MSG_CHECKING(whether GLib supports loadable modules)
1658 ac_save_CFLAGS="$CFLAGS"
1659 ac_save_LIBS="$LIBS"
1660 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1661 LIBS="$GLIB_LIBS $LIBS"
1664 #include <gmodule.h>
1671 if (g_module_supported())
1672 return 0; /* success */
1674 return 1; /* failure */
1676 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
1677 [echo $ac_n "cross compiling; assumed OK... $ac_c"
1678 ac_cv_glib_supports_modules=yes])
1679 CFLAGS="$ac_save_CFLAGS"
1680 LIBS="$ac_save_LIBS"
1681 if test "$ac_cv_glib_supports_modules" = yes ; then
1684 plugins_dir="plugins"
1690 AC_SUBST(plugins_dir)
1693 # If we have <dlfcn.h>, check whether we have dladdr.
1695 if test "$ac_cv_header_dlfcn_h" = "yes"
1698 # Use GLib compiler flags and linker flags; GLib's gmodule
1699 # stuff uses the dl APIs if available, so it might know
1700 # what flags are needed.
1702 ac_save_CFLAGS="$CFLAGS"
1703 ac_save_LIBS="$LIBS"
1704 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1705 LIBS="$GLIB_LIBS $LIBS"
1706 AC_CHECK_FUNCS(dladdr)
1707 if test x$ac_cv_func_dladdr = xno
1710 # OK, try it with -ldl, in case you need that to get
1711 # dladdr(). For some reason, on Linux, that's not
1712 # part of the GLib flags; perhaps GLib itself is
1713 # linked with libdl, so that you can link with
1714 # Glib and it'll pull libdl in itself.
1717 AC_CHECK_FUNCS(dladdr)
1719 CFLAGS="$ac_save_CFLAGS"
1720 LIBS="$ac_save_LIBS"
1724 # Check whether GLib's printf supports thousands grouping. (This might
1725 # be different from the system's printf since GLib can optionally use
1726 # its own printf implementation.)
1728 AC_MSG_CHECKING(whether GLib supports POSIX/XSI thousands grouping)
1729 ac_save_CFLAGS="$CFLAGS"
1730 ac_save_LIBS="$LIBS"
1731 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1732 LIBS="$GLIB_LIBS $LIBS"
1743 setlocale(LC_ALL, "en_US.UTF-8");
1744 str = g_strdup_printf("%'u", 123456);
1745 return (strcmp (str, "123,456") != 0);
1747 ], ac_cv_glib_supports_printf_grouping=yes, ac_cv_glib_supports_printf_grouping=no,
1748 [echo $ac_n "cross compiling; playing it safe... $ac_c"
1749 ac_cv_glib_supports_printf_grouping=no])
1750 CFLAGS="$ac_save_CFLAGS"
1751 LIBS="$ac_save_LIBS"
1752 if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
1754 AC_DEFINE(HAVE_GLIB_PRINTF_GROUPING, 1, [Define if your printf() function supports thousands grouping.])
1759 if test "x$have_gtk" = "xyes"
1762 # We have GTK+; do we want the OS X integration functions and,
1763 # if so, do we have them and, if so, which versions do we have,
1764 # the old Carbon-based ones or the new Cocoa-based ones?
1766 AC_MSG_CHECKING(whether to use OS X integration functions)
1768 AC_ARG_WITH(osx-integration,
1769 AC_HELP_STRING( [--with-osx-integration],
1770 [use OS X integration functions @<:@default=yes, if available@:>@]),
1772 if test $withval = no
1774 want_osx_integration=no
1776 want_osx_integration=yes
1779 want_osx_integration=yes
1781 if test "x$want_osx_integration" = "xno"; then
1785 AC_WIRESHARK_OSX_INTEGRATION_CHECK
1789 AC_SUBST(wireshark_bin)
1790 AC_SUBST(wireshark_man)
1791 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1792 AM_CONDITIONAL(HAVE_GTK, test "$have_gtk" = "yes")
1793 AC_SUBST(OSX_APP_FLAGS)
1794 AC_SUBST(OSX_DMG_FLAGS)
1796 # Enable/disable tshark
1797 AC_ARG_ENABLE(tshark,
1798 AC_HELP_STRING( [--enable-tshark],
1799 [build TShark @<:@default=yes@:>@]),
1800 tshark=$enableval,enable_tshark=yes)
1802 if test "x$enable_tshark" = "xyes" ; then
1803 tshark_bin="tshark\$(EXEEXT)"
1804 tshark_man="tshark.1"
1805 wiresharkfilter_man="wireshark-filter.4"
1810 AC_SUBST(tshark_bin)
1811 AC_SUBST(tshark_man)
1813 # Enable/disable tfshark
1814 AC_ARG_ENABLE(tfshark,
1815 AC_HELP_STRING( [--enable-tfshark],
1816 [build TFShark @<:@default=no@:>@]),
1817 tfshark=$enableval,enable_tfshark=no)
1819 if test "x$enable_tfshark" = "xyes" ; then
1820 tfshark_bin="tfshark\$(EXEEXT)"
1821 tfshark_man="tfshark.1"
1822 wiresharkfilter_man="wireshark-filter.4"
1827 AC_SUBST(tfshark_bin)
1828 AC_SUBST(tfshark_man)
1830 # Enable/disable editcap
1832 AC_ARG_ENABLE(editcap,
1833 AC_HELP_STRING( [--enable-editcap],
1834 [build editcap @<:@default=yes@:>@]),
1835 enable_editcap=$enableval,enable_editcap=yes)
1837 if test "x$enable_editcap" = "xyes" ; then
1838 editcap_bin="editcap\$(EXEEXT)"
1839 editcap_man="editcap.1"
1844 AC_SUBST(editcap_bin)
1845 AC_SUBST(editcap_man)
1847 # Enable/disable echld
1849 AC_ARG_ENABLE(echld,
1850 AC_HELP_STRING( [--enable-echld],
1852 have_echld=$enableval,have_echld=no)
1854 AM_CONDITIONAL(HAVE_ECHLD, test "x$have_echld" = "xyes")
1855 if test "x$have_echld" = "xyes"
1857 AC_DEFINE(HAVE_ECHLD, 1, [Define if echld is enabled])
1858 echld_test_bin="echld_test\$(EXEEXT)"
1865 AC_SUBST(echld_test_bin)
1868 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1871 # Enable/disable capinfos
1873 AC_ARG_ENABLE(capinfos,
1874 AC_HELP_STRING( [--enable-capinfos],
1875 [build capinfos @<:@default=yes@:>@]),
1876 enable_capinfos=$enableval,enable_capinfos=yes)
1878 if test "x$enable_capinfos" = "xyes" ; then
1879 capinfos_bin="capinfos\$(EXEEXT)"
1880 capinfos_man="capinfos.1"
1885 AC_SUBST(capinfos_bin)
1886 AC_SUBST(capinfos_man)
1888 # Enable/disable captype
1890 AC_ARG_ENABLE(captype,
1891 AC_HELP_STRING( [--enable-captype],
1892 [build captype @<:@default=yes@:>@]),
1893 enable_captype=$enableval,enable_captype=yes)
1895 if test "x$enable_captype" = "xyes" ; then
1896 captype_bin="captype\$(EXEEXT)"
1897 captype_man="captype.1"
1902 AC_SUBST(captype_bin)
1903 AC_SUBST(captype_man)
1905 # Enable/disable mergecap
1907 AC_ARG_ENABLE(mergecap,
1908 AC_HELP_STRING( [--enable-mergecap],
1909 [build mergecap @<:@default=yes@:>@]),
1910 enable_mergecap=$enableval,enable_mergecap=yes)
1912 if test "x$enable_mergecap" = "xyes" ; then
1913 mergecap_bin="mergecap\$(EXEEXT)"
1914 mergecap_man="mergecap.1"
1919 AC_SUBST(mergecap_bin)
1920 AC_SUBST(mergecap_man)
1922 # Enable/disable reordercap
1924 AC_ARG_ENABLE(reordercap,
1925 AC_HELP_STRING( [--enable-reordercap],
1926 [build reordercap @<:@default=yes@:>@]),
1927 enable_reordercap=$enableval,enable_reordercap=yes)
1929 if test "x$enable_reordercap" = "xyes" ; then
1930 reordercap_bin="reordercap\$(EXEEXT)"
1931 reordercap_man="reordercap.1"
1936 AC_SUBST(reordercap_bin)
1937 AC_SUBST(reordercap_man)
1939 # Enable/disable text2pcap
1941 AC_ARG_ENABLE(text2pcap,
1942 AC_HELP_STRING( [--enable-text2pcap],
1943 [build text2pcap @<:@default=yes@:>@]),
1944 text2pcap=$enableval,enable_text2pcap=yes)
1946 if test "x$enable_text2pcap" = "xyes" ; then
1947 text2pcap_bin="text2pcap\$(EXEEXT)"
1948 text2pcap_man="text2pcap.1"
1953 AC_SUBST(text2pcap_bin)
1954 AC_SUBST(text2pcap_man)
1956 # Enable/disable dftest
1958 AC_ARG_ENABLE(dftest,
1959 AC_HELP_STRING( [--enable-dftest],
1960 [build dftest @<:@default=yes@:>@]),
1961 enable_dftest=$enableval,enable_dftest=yes)
1963 if test "x$enable_dftest" = "xyes" ; then
1964 dftest_bin="dftest\$(EXEEXT)"
1965 dftest_man="dftest.1"
1970 AC_SUBST(dftest_bin)
1971 AC_SUBST(dftest_man)
1973 # Enable/disable randpkt
1975 AC_ARG_ENABLE(randpkt,
1976 AC_HELP_STRING( [--enable-randpkt],
1977 [build randpkt @<:@default=yes@:>@]),
1978 enable_randpkt=$enableval,enable_randpkt=yes)
1980 if test "x$enable_randpkt" = "xyes" ; then
1981 randpkt_bin="randpkt\$(EXEEXT)"
1982 randpkt_man="randpkt.1"
1987 AC_SUBST(randpkt_bin)
1988 AC_SUBST(randpkt_man)
1990 AC_SUBST(wiresharkfilter_man)
1992 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
1993 dnl "gethostbyname()".
1994 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
1996 dnl Checks for "connect()", used as a proxy for "socket()" - and
1997 dnl "-lsocket", if we need it to get "connect()".
1998 AC_WIRESHARK_SOCKET_LIB_CHECK
2001 AC_MSG_CHECKING(whether to use libpcap for packet capture)
2004 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
2005 [use libpcap for packet capturing @<:@default=yes@:>@]),
2007 if test $withval = no
2010 elif test $withval = yes
2021 if test "x$want_pcap" = "xno" ; then
2025 AC_WIRESHARK_PCAP_CHECK
2029 dnl Check for airpcap
2030 AC_MSG_CHECKING(whether to include airpcap support)
2031 AC_ARG_ENABLE(airpcap,
2032 AC_HELP_STRING( [--enable-airpcap],
2033 [use AirPcap in Wireshark @<:@default=yes@:>@]),
2034 enable_airpcap=$enableval, enable_airpcap=yes)
2036 if test x$enable_airpcap = xyes; then
2037 if test "x$want_pcap" = "xno" ; then
2039 AC_MSG_RESULT(pcap not available - disabling airpcap)
2042 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
2050 AC_MSG_CHECKING(whether to build dumpcap)
2052 AC_ARG_ENABLE(dumpcap,
2053 AC_HELP_STRING( [--enable-dumpcap],
2054 [build dumpcap @<:@default=yes@:>@]),
2055 enable_dumpcap=$enableval,enable_dumpcap=yes)
2057 if test "x$enable_dumpcap" = "xyes" ; then
2058 if test "x$want_pcap" = "xno" ; then
2060 AC_MSG_RESULT(pcap not available - disabling dumpcap)
2068 if test "x$enable_dumpcap" = "xyes" ; then
2069 dumpcap_bin="dumpcap\$(EXEEXT)"
2070 dumpcap_man="dumpcap.1"
2075 AC_SUBST(dumpcap_bin)
2076 AC_SUBST(dumpcap_man)
2078 # Enable/disable rawshark
2081 AC_MSG_CHECKING(whether to build rawshark)
2083 AC_ARG_ENABLE(rawshark,
2084 AC_HELP_STRING( [--enable-rawshark],
2085 [build rawshark @<:@default=yes@:>@]),
2086 rawshark=$enableval,enable_rawshark=yes)
2088 if test "x$enable_rawshark" = "xyes" ; then
2089 if test "x$want_pcap" = "xno" ; then
2091 AC_MSG_RESULT(pcap not available - disabling rawshark)
2099 if test "x$enable_rawshark" = "xyes" ; then
2100 rawshark_bin="rawshark\$(EXEEXT)"
2101 rawshark_man="rawshark.1"
2106 AC_SUBST(rawshark_bin)
2107 AC_SUBST(rawshark_man)
2109 dnl Use pcap-ng by default
2110 AC_ARG_ENABLE(pcap-ng-default,
2111 AC_HELP_STRING( [--enable-pcap-ng-default],
2112 [use the pcap-ng file format by default instead of pcap @<:@default=yes@:>@]),
2113 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
2114 if test x$enable_pcap_ng_default = xyes; then
2115 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcap-ng])
2118 dnl pcap remote check
2119 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
2121 AC_ARG_WITH(pcap-remote,
2122 AC_HELP_STRING([--with-pcap-remote],
2123 [use libpcap remote capturing (requires libpcap)]),
2125 if test $withval = no
2129 want_pcap_remote=yes
2134 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
2138 AC_WIRESHARK_PCAP_REMOTE_CHECK
2142 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
2145 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
2146 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
2148 if test "x$withval" = "xno"
2151 elif test "x$withval" = "xyes"
2160 # Use zlib if it's present, otherwise don't.
2162 want_zlib=ifavailable
2165 if test "x$want_zlib" = "xno" ; then
2169 AC_WIRESHARK_ZLIB_CHECK
2170 if test "x$want_zlib" = "xno" ; then
2171 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
2173 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
2174 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
2180 AC_MSG_CHECKING(whether to use liblua for the Lua scripting plugin)
2183 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
2184 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
2186 if test $withval = no
2189 elif test $withval = yes
2198 # Use liblua by default
2200 want_lua=ifavailable
2203 if test "x$want_lua" = "xno" ; then
2207 AC_WIRESHARK_LIBLUA_CHECK
2208 if test "x$want_lua" = "xno" ; then
2209 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
2212 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
2216 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
2218 AC_ARG_WITH(portaudio,
2219 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
2220 [use libportaudio (located in directory DIR, if supplied) for the rtp_player @<:@default=yes, if available@:>@]),
2222 if test $withval = no
2225 elif test $withval = yes
2230 portaudio_dir=$withval
2234 # Use libportaudio by default
2236 want_portaudio=ifavailable
2239 if test "x$want_portaudio" = "xno" ; then
2243 AC_WIRESHARK_LIBPORTAUDIO_CHECK
2244 if test "x$want_portaudio" = "xno" ; then
2245 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
2248 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
2253 AC_HELP_STRING( [--enable-ipv6],
2254 [use IPv6 name resolution, if available @<:@default=yes@:>@]),
2255 enable_ipv6=$enableval,enable_ipv6=yes)
2257 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
2258 if test "x$enable_ipv6" = "xno" ; then
2262 AC_WIRESHARK_IPV6_STACK
2266 dnl Check if dumpcap should be installed with filesystem capabilities
2267 AC_PATH_PROG(SETCAP, setcap)
2268 AC_ARG_ENABLE(setcap-install,
2269 AC_HELP_STRING( [--enable-setcap-install],
2270 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
2271 enable_setcap_install=$enableval,enable_setcap_install=no)
2273 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
2274 if test "x$enable_setcap_install" = "xno" ; then
2277 if test "x$SETCAP" = "x" ; then
2278 AC_MSG_RESULT(setcap not found)
2279 AC_MSG_ERROR([Setcap install was requested, but setcap was not found])
2280 elif test "x$enable_dumpcap" = "xno" ; then
2281 AC_MSG_RESULT(dumpcap disabled)
2282 AC_MSG_ERROR([Setcap install works only with dumpcap, but dumpcap is disabled])
2288 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
2290 dnl Check if dumpcap should be installed setuid
2291 AC_ARG_ENABLE(setuid-install,
2292 AC_HELP_STRING( [--enable-setuid-install],
2293 [install dumpcap as setuid @<:@default=no@:>@]),
2294 enable_setuid_install=$enableval,enable_setuid_install=no)
2296 AC_MSG_CHECKING(whether to install dumpcap setuid)
2297 if test "x$enable_setuid_install" = "xno" ; then
2300 if test "x$enable_setcap_install" = "xyes" ; then
2301 enable_setuid_install=no
2302 AC_MSG_RESULT(setcap and setuid both selected)
2303 AC_MSG_ERROR(You must choose one of setcap install and setuid install)
2304 elif test "x$enable_dumpcap" = "xno" ; then
2305 AC_MSG_RESULT(dumpcap disabled)
2306 AC_MSG_ERROR([Setuid install works only with dumpcap, but dumpcap is disabled])
2312 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
2313 AC_CHECK_FUNCS(setresuid setresgid)
2315 dnl ...but our Network Operations group is named "no"!
2317 AC_ARG_WITH(dumpcap-group,
2318 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
2319 [restrict dumpcap to GROUP]),
2321 if test "x$withval" = "xyes"; then
2322 AC_MSG_ERROR([No dumpcap group specified.])
2323 elif test "x$withval" != "xno"; then
2324 if test "x$enable_dumpcap" = "xno" ; then
2325 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
2327 AC_MSG_RESULT($withval)
2328 DUMPCAP_GROUP="$withval"
2331 AC_SUBST(DUMPCAP_GROUP)
2332 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
2334 dnl libcap (not libpcap) check
2336 AC_MSG_CHECKING(whether to use the libcap capabilities library)
2339 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
2340 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
2342 if test "x$withval" = "xno"; then
2344 elif test "x$withval" = "xyes"; then
2346 elif test -d "$withval"; then
2348 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2351 if test "x$with_libcap" = "xno" ; then
2355 AC_WIRESHARK_LIBCAP_CHECK
2357 AC_SUBST(LIBCAP_LIBS)
2359 dnl Checks for header files.
2360 dnl Some of these may not be needed: http://hacks.owlfolio.org/header-survey/
2361 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h getopt.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
2362 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)
2363 AC_CHECK_HEADERS(netinet/in.h)
2364 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
2368 AC_MSG_CHECKING(whether to use SSL library)
2371 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
2372 [use SSL crypto library (located in directory DIR, if supplied) @<:@default=no@:>@]),
2374 if test "x$withval" = "xno"; then
2376 elif test "x$withval" = "xyes"; then
2378 elif test -d "$withval"; then
2380 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2385 if test "x$want_ssl" = "xyes"; then
2387 AC_CHECK_LIB(crypto,EVP_md5,
2392 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
2400 AC_MSG_CHECKING(whether to use Kerberos library)
2403 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
2404 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
2406 if test $withval = no
2409 elif test $withval = yes
2418 # Use Kerberos library if available, otherwise don't.
2420 want_krb5=ifavailable
2423 if test "x$want_krb5" = "xno" ; then
2427 AC_WIRESHARK_KRB5_CHECK
2433 AC_MSG_CHECKING(whether to use the c-ares library if available)
2436 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
2437 [use c-ares (located in directory DIR, if supplied) - supersedes --with-adns @<:@default=yes, if present@:>@]),
2439 if test "x$withval" = "xno"; then
2441 elif test "x$withval" = "xyes"; then
2443 elif test -d "$withval"; then
2445 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2448 if test "x$want_c_ares" = "xno" ; then
2452 AC_WIRESHARK_C_ARES_CHECK
2454 AC_SUBST(C_ARES_LIBS)
2458 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
2461 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
2462 [use GNU ADNS (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2464 if test "x$withval" = "xno"; then
2466 elif test "x$withval" = "xyes"; then
2468 elif test -d "$withval"; then
2470 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2473 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
2477 AC_WIRESHARK_ADNS_CHECK
2483 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
2486 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
2487 [use GeoIP (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2489 if test "x$withval" = "xno"; then
2491 elif test "x$withval" = "xyes"; then
2493 elif test -d "$withval"; then
2495 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2498 if test "x$want_geoip" = "xno"; then
2502 AC_WIRESHARK_GEOIP_CHECK
2504 AC_SUBST(GEOIP_LIBS)
2507 # Define WS_MSVC_NORETURN appropriately for declarations of routines that
2508 # never return (just like Charlie on the MTA).
2510 # Note that MSVC++ expects __declspec(noreturn) to precede the function
2511 # name and GCC, as far as I know, expects __attribute__((noreturn)) to
2512 # follow the function name, so we need two different flavors of
2515 AC_DEFINE(WS_MSVC_NORETURN,, [Define as the string to precede declarations of routines that never return])
2517 dnl Checks for typedefs, structures, and compiler characteristics.
2520 # Check how we can get the time zone abbreviation
2521 AC_WIRESHARK_TIMEZONE_ABBREV
2523 # We need to know whether "struct stat" has an "st_flags" member
2524 # for file_user_immutable().
2526 AC_WIRESHARK_STRUCT_ST_FLAGS
2528 # We need to know whether "struct sockaddr" has an "sa_len" member
2529 # for get_interface_list().
2531 AC_WIRESHARK_STRUCT_SA_LEN
2533 # We must know our byte order
2536 # Checks whether "-traditional" is needed when using "ioctl".
2537 # XXX - do we need this?
2538 AC_PROG_GCC_TRADITIONAL
2540 AC_CHECK_FUNC(getopt,
2543 AC_DEFINE(HAVE_GETOPT, 1, [Define to 1 if you have the getopt function.])
2545 GETOPT_LO="wsgetopt.lo")
2548 AC_CHECK_FUNC(strncasecmp,
2550 STRNCASECMP_INCLUDES=""
2552 AC_DEFINE(HAVE_STRNCASECMP, 1, [Define to 1 if you have the strncasecmp function.])
2555 STRNCASECMP_INCLUDES="strncasecmp.h"
2556 STRNCASECMP_LO="strncasecmp.lo"
2558 AC_SUBST(STRNCASECMP_INCLUDES)
2559 AC_SUBST(STRNCASECMP_LO)
2561 AC_CHECK_FUNCS(mkstemp mkdtemp)
2563 AC_SEARCH_LIBS(inet_aton, [socket nsl],
2566 AC_DEFINE(HAVE_INET_ATON, 0, [Define to 1 if you have the inet_aton function.])
2568 INET_ATON_LO="inet_aton.lo")
2569 AC_SUBST(INET_ATON_LO)
2571 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
2572 dnl check for pre-BIND82 inet_pton() bug.
2573 AC_MSG_CHECKING(for broken inet_pton)
2574 AC_TRY_RUN([#include <sys/types.h>
2575 #include <sys/socket.h>
2576 #include <netinet/in.h>
2577 #include <arpa/inet.h>
2582 /* this should return 0 (error) */
2583 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
2587 }], [AC_MSG_RESULT(ok);
2588 have_inet_pton=yes], [AC_MSG_RESULT(broken);
2589 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
2590 have_inet_pton=no])],
2592 if test "$have_inet_pton" = no; then
2593 INET_PTON_LO="inet_pton.lo"
2597 AM_CONDITIONAL(NEED_INET_PTON_LO, test "x$have_inet_pton" = "xno")
2598 AC_SUBST(INET_PTON_LO)
2600 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
2601 AC_MSG_CHECKING([for inet_ntop prototype])
2602 AC_TRY_COMPILE([#include <stdio.h>
2603 #include <sys/types.h>
2604 #include <sys/socket.h>
2605 #include <netinet/in.h>
2606 #include <arpa/inet.h>
2608 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
2610 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2611 [Define if inet_ntop() prototype exists])], [
2612 AC_TRY_COMPILE([#include <stdio.h>
2613 #include <sys/types.h>
2614 #include <sys/socket.h>
2615 #include <netinet/in.h>
2616 #include <arpa/inet.h>
2618 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
2620 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2621 [Define if inet_ntop() prototype exists])], [
2622 AC_MSG_RESULT(no)])])
2624 INET_NTOP_LO="inet_ntop.lo"
2625 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
2626 [Define if inet/v6defs.h needs to be included])])
2627 AM_CONDITIONAL(NEED_INET_NTOP_LO, test "x$INET_NTOP_LO" != "x")
2628 AC_SUBST(INET_NTOP_LO)
2630 AC_CHECK_FUNC(strptime,
2633 AC_DEFINE(HAVE_STRPTIME, 1, [Define if you have the strptime function.])
2635 STRPTIME_LO="strptime.lo")
2636 AC_SUBST(STRPTIME_LO)
2638 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
2639 AC_CHECK_FUNCS(issetugid)
2640 AC_CHECK_FUNCS(mmap mprotect sysconf)
2642 dnl blank for now, but will be used in future
2643 AC_SUBST(wireshark_SUBDIRS)
2645 # Check Bluetooth SBC codec for RTP Player
2646 # git://git.kernel.org/pub/scm/bluetooth/sbc.git
2647 PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
2648 if (test "${have_sbc}" = "yes"); then
2649 AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
2650 CFLAGS="$CFLAGS $(pkg-config sbc --cflags)"
2651 LIBS="$LIBS $(pkg-config sbc --libs)"
2655 dnl check whether plugins should be enabled and, if they should be,
2656 dnl check for plugins directory - stolen from Amanda's configure.ac
2658 dnl we don't wish to expand ${libdir} yet
2659 plugindir='${libdir}/wireshark/plugins/${VERSION}'
2660 AC_ARG_WITH(plugins,
2661 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
2662 [support plugins (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2664 if test "x$withval" = "xno"; then
2666 elif test "x$have_plugins" = "xno"; then
2667 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
2668 elif test "x$withval" != "xyes"; then
2669 plugindir="$withval"
2672 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2673 if test x$have_plugins = xyes
2675 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2678 CPPFLAGS="$CPPFLAGS '-DPLUGIN_INSTALL_DIR=\"\$(plugindir)\"'"
2681 # The plugin dissectors reside in ./plugins/PROTO/
2684 AC_SUBST(PLUGIN_LIBS)
2687 # Check if (emem) memory allocations must be 8-byte aligned.
2688 # I haven't been able to write C code that reliably makes that determination
2689 # (different versions of GCC with or without optimization give different
2690 # results) so just assume everything except (32-bit) x86 needs 8-byte
2691 # alignment (64-bit platforms either require 8-byte alignment for pointers
2692 # and 64-bit integral data types or may get better performance from that;
2693 # 64-bit x86 will get 8-byte alignment from G_MEM_ALIGN anyway. 32-bit
2694 # platforms would only require it, or get better performance from it,
2695 # for 64-bit floating-point values.).
2697 AC_MSG_CHECKING(whether we need memory allocations to be 8-byte aligned)
2699 i386|i486|i586|i686)
2704 AC_DEFINE(NEED_8_BYTE_ALIGNMENT, 1, [Define if we need memory allocations to be 8-byte aligned])
2708 # Gather only the "--with*" arguments and also a list of --with arguments for rpmbuild
2709 for f in $CONFIG_ARGS
2713 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2714 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with gtk2"
2717 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2718 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without gtk2"
2721 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2722 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with gtk3"
2725 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2726 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without gtk3"
2729 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2730 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
2733 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2734 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt"
2737 CONFIG_WITH_ARGS="$CONFIG_WITH_ARGS $f"
2742 AC_SUBST(CONFIG_WITH_ARGS)
2743 AC_SUBST(RPMBUILD_WITH_ARGS)
2747 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
2748 # (autoconf? automake? libtool?) - with the newer version(s), it's
2749 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
2751 # With older version(s) of those tool(s), however, it's not just an
2752 # alias, and the configure scripts don't work without it.
2755 AC_SUBST(LIBTOOL_DEPS)
2757 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2758 if test x$enable_static = xyes -a x$have_plugins = xyes
2760 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
2762 AC_SUBST(ENABLE_STATIC)
2764 dnl Save the cacheable configure results to config.cache before recursing
2767 sinclude(plugins/Custom.m4) dnl
2768 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
2770 sinclude(asn1/Custom.m4) dnl
2771 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2773 AC_CONFIG_HEADERS(config.h)
2778 _CUSTOM_ASN1_AC_OUTPUT_
2779 asn1/acp133/Makefile
2781 asn1/ansi_map/Makefile
2782 asn1/ansi_tcap/Makefile
2783 asn1/atn-cm/Makefile
2784 asn1/atn-cpdlc/Makefile
2785 asn1/atn-ulcs/Makefile
2789 asn1/charging_ase/Makefile
2794 asn1/credssp/Makefile
2803 asn1/gprscdr/Makefile
2804 asn1/gsm_map/Makefile
2813 asn1/h450-ros/Makefile
2816 asn1/HI2Operations/Makefile
2821 asn1/isdn-sup/Makefile
2822 asn1/kerberos/Makefile
2825 asn1/logotypecertextn/Makefile
2829 asn1/lte-rrc/Makefile
2832 asn1/mpeg-audio/Makefile
2833 asn1/mpeg-pes/Makefile
2835 asn1/ns_cert_exts/Makefile
2836 asn1/novell_pkis/Makefile
2844 asn1/pkcs12/Makefile
2845 asn1/pkinit/Makefile
2846 asn1/pkixac/Makefile
2847 asn1/pkix1explicit/Makefile
2848 asn1/pkix1implicit/Makefile
2849 asn1/pkixproxy/Makefile
2850 asn1/pkixqualified/Makefile
2851 asn1/pkixtsp/Makefile
2854 asn1/q932-ros/Makefile
2865 asn1/sbc-ap/Makefile
2868 asn1/spnego/Makefile
2876 asn1/wlancertextn/Makefile
2878 asn1/x509af/Makefile
2879 asn1/x509ce/Makefile
2880 asn1/x509if/Makefile
2881 asn1/x509sat/Makefile
2884 capchild/doxygen.cfg
2886 caputils/doxygen.cfg
2892 epan/dfilter/Makefile
2893 epan/dissectors/Makefile
2894 epan/dissectors/dcerpc/Makefile
2895 epan/dissectors/pidl/Makefile
2896 epan/ftypes/Makefile
2897 epan/nghttp2/Makefile
2910 packaging/macosx/Info.plist
2911 packaging/macosx/Makefile
2912 packaging/macosx/osx-dmg.sh
2913 packaging/macosx/Wireshark_package.pmdoc/index.xml
2914 packaging/nsis/Makefile
2915 packaging/rpm/Makefile
2916 packaging/rpm/SPECS/Makefile
2917 packaging/rpm/SPECS/wireshark.spec
2918 packaging/svr4/Makefile
2919 packaging/svr4/checkinstall
2920 packaging/svr4/pkginfo
2922 plugins/docsis/Makefile
2923 plugins/easy_codec/Makefile
2924 plugins/ethercat/Makefile
2925 plugins/gryphon/Makefile
2926 plugins/irda/Makefile
2927 plugins/m2m/Makefile
2928 plugins/mate/Makefile
2929 plugins/opcua/Makefile
2930 plugins/profinet/Makefile
2931 plugins/stats_tree/Makefile
2932 plugins/unistim/Makefile
2933 plugins/wimax/Makefile
2934 plugins/wimaxasncp/Makefile
2935 plugins/wimaxmacphy/Makefile
2937 tools/lemon/Makefile
2943 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
2948 if test "x$have_gtk" = "xyes"; then
2949 if test "x$with_gtk3" = "xyes"; then
2950 gtk_lib_message=" (with GTK+ 3"
2952 gtk_lib_message=" (with GTK+ 2"
2954 if test "x$have_ige_mac" = "xyes"; then
2955 gtk_lib_message="$gtk_lib_message and Mac OS X integration)"
2957 gtk_lib_message="$gtk_lib_message)"
2961 if test "x$have_qt" = "xyes" ; then
2962 enable_qtshark="yes"
2967 if test "x$enable_setcap_install" = "xyes" ; then
2968 setcap_message="yes"
2973 if test "x$enable_setuid_install" = "xyes" ; then
2974 setuid_message="yes"
2979 if test "x$DUMPCAP_GROUP" = "x" ; then
2980 dumpcap_group_message="(none)"
2982 dumpcap_group_message="$DUMPCAP_GROUP"
2985 if test "x$want_zlib" = "xno" ; then
2991 if test "x$want_lua" = "xyes" ; then
2997 if test "x$want_portaudio" = "xyes" ; then
2998 portaudio_message="yes"
3000 portaudio_message="no"
3003 if test "x$want_ssl" = "xno" ; then
3009 if test "x$want_krb5" = "xno" ; then
3012 krb5_message="yes ($ac_krb5_version)"
3015 if test "x$have_good_c_ares" = "xyes" ; then
3016 c_ares_message="yes"
3021 if test "x$have_good_adns" = "xyes" ; then
3024 if test "x$have_good_c_ares" = "xyes" ; then
3025 adns_message="no (using c-ares instead)"
3031 if test "x$have_good_libcap" = "xyes" ; then
3032 libcap_message="yes"
3037 if test "x$have_good_geoip" = "xyes" ; then
3044 echo "The Wireshark package has been configured with the following options."
3045 echo " Build wireshark (Gtk+) : $have_gtk""$gtk_lib_message"
3046 echo " Build wireshark-qt : $enable_qtshark"
3047 echo " Build tshark : $enable_tshark"
3048 echo " Build tfshark : $enable_tfshark"
3049 echo " Build capinfos : $enable_capinfos"
3050 echo " Build captype : $enable_captype"
3051 echo " Build editcap : $enable_editcap"
3052 echo " Build dumpcap : $enable_dumpcap"
3053 echo " Build mergecap : $enable_mergecap"
3054 echo " Build reordercap : $enable_reordercap"
3055 echo " Build text2pcap : $enable_text2pcap"
3056 echo " Build randpkt : $enable_randpkt"
3057 echo " Build dftest : $enable_dftest"
3058 echo " Build rawshark : $enable_rawshark"
3059 echo " Build echld : $have_echld"
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 Lua library : $lua_message"
3067 echo " Build rtp_player : $portaudio_message"
3068 echo " Build profile binaries : $enable_profile_build"
3069 echo " Use pcap library : $want_pcap"
3070 echo " Use zlib library : $zlib_message"
3071 echo " Use kerberos library : $krb5_message"
3072 echo " Use c-ares library : $c_ares_message"
3073 echo " Use GNU ADNS library : $adns_message"
3074 echo " Use SMI MIB library : $libsmi_message"
3075 echo " Use GNU crypto library : $gcrypt_message"
3076 echo " Use SSL crypto library : $ssl_message"
3077 echo " Use IPv6 name resolution : $enable_ipv6"
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 nl library : $libnl_message"
3082 echo " Use SBC codec library : $have_sbc"