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], [1])
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 want_gnutls="if_available"
482 AC_ARG_WITH([gnutls],
483 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
484 [use GnuTLS library @<:@default=yes, if available@:>@]),
485 [ with_gnutls="$withval"; want_gnutls="yes" ], with_gnutls="yes")
487 if test "x$with_gnutls" = "xyes"; then
488 have_license_compatible_gnutls="no"
489 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.1.10 ],
490 [ have_license_compatible_gnutls="yes" ], [ echo "GnuTLS >= 3.1.10 not found " ]
493 if test "x$have_license_compatible_gnutls" != "xyes"; then
494 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0 gnutls < 3],
495 [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 1.2.0, < 3.0 not found " ]
499 if test "x$have_license_compatible_gnutls" = "xyes"; then
500 echo "GnuTLS found, enabling SSL decryption"
501 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use GnuTLS library])
504 echo "GnuTLS with compatible license not found, disabling SSL decryption"
507 # Error out if the user explicitly requested gnutls
508 if test "x$want_gnutls" = "xyes"; then
509 AC_MSG_ERROR([GnuTLS crypto library was requested, but is not available])
516 want_gcrypt="if_available"
517 AC_ARG_WITH([gcrypt],
518 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
519 [use gcrypt library @<:@default=yes, if available@:>@]),
520 [ with_gcrypt="$withval"; want_gcrypt="yes" ], with_gcrypt="yes")
522 if test "x$with_gcrypt" = "xyes"; then
523 AM_PATH_LIBGCRYPT(1.1.92,
525 echo "libgcrypt found, enabling ipsec decryption"
526 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
530 if test x$libgcrypt_config_prefix != x ; then
531 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
533 echo "libgcrypt not found, disabling ipsec decryption"
537 # Error out if the user explicitly requested gcrypt
538 if test "x$want_gcrypt" = "xyes"; then
539 AC_MSG_ERROR([libgcrypt library was requested, but is not available])
546 AC_HELP_STRING([--with-libnl@<:@=VERSION@:>@],
547 [use libnl (force version VERSION, if supplied) @<:@default: yes, if available@:>@]),
549 if test "x$withval" = "xno"
552 elif test "x$withval" = "xyes"
556 elif test "x$withval" = "x1"
560 elif test "x$withval" = "x2"
564 elif test "x$withval" = "x3"
569 AC_MSG_ERROR(["$withval" is not a valid argument to --with-libnl])
573 # Use libnl if it's present, otherwise don't.
575 want_libnl=ifavailable
579 # Libnl is Linux-specific.
584 AC_MSG_CHECKING(whether to use libnl for various network interface purposes)
586 if test x$want_libnl = "xno"; then
591 # Test for specific libnl versions only if no version
592 # was specified by the user or if the version in question
593 # was requested by the user.
595 if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then
596 PKG_CHECK_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no])
598 if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then
599 PKG_CHECK_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no])
601 if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then
602 PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no])
604 if (test "${have_libnl3}" = "yes"); then
605 CFLAGS="$CFLAGS $LIBNL3_CFLAGS"
606 LIBS="$LIBS $LIBNL3_LIBS"
607 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
608 AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
609 libnl_message="yes (v3)"
611 elif (test "${have_libnl2}" = "yes"); then
612 CFLAGS="$CFLAGS $LIBNL2_CFLAGS"
613 LIBS="$LIBS $LIBNL2_LIBS"
614 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
615 AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
616 libnl_message="yes (v2)"
618 elif (test "${have_libnl1}" = "yes"); then
619 CFLAGS="$CFLAGS $LIBNL1_CFLAGS"
620 LIBS="$LIBS $LIBNL1_LIBS"
621 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
622 AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
623 libnl_message="yes (v1)"
626 if test x$want_libnl = "xyes"; then
627 case "$libnl_version" in
630 AC_MSG_ERROR("I couldn't find libnl even though you manually enabled it.")
634 AC_MSG_ERROR("I couldn't find libnl version $libnl_version even though you manually enabled it.")
641 AC_MSG_CHECKING([if nl80211.h is new enough])
642 AC_TRY_COMPILE([#include <linux/nl80211.h>],
643 [int x = NL80211_FREQUENCY_ATTR_MAX_TX_POWER;
644 x = NL80211_ATTR_SUPPORTED_IFTYPES;
645 x = NL80211_ATTR_SUPPORTED_COMMANDS;
646 x = NL80211_ATTR_WIPHY_FREQ;
647 x = NL80211_CHAN_NO_HT;],
648 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211, 1, [nl80211.h is new enough])],
651 AC_MSG_CHECKING([for NL80211_SET_CHANNEL])
652 AC_TRY_COMPILE([#include <linux/nl80211.h>],
653 [enum nl80211_commands x = NL80211_CMD_SET_CHANNEL;],
654 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_CMD_SET_CHANNEL, 1, [SET_CHANNEL is supported])],
657 AC_MSG_CHECKING([for NL80211_SPLIT_WIPHY_DUMP])
658 AC_TRY_COMPILE([#include <linux/nl80211.h>],
659 [enum nl80211_protocol_features x = NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP;],
660 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_SPLIT_WIPHY_DUMP, 1, [SPLIT_WIPHY_DUMP is supported])],
665 if test x$want_libnl != "xno" -a x$want_libnl != "xifavailable"; then
666 AC_MSG_WARN([libnl is Linux-specific, ignoring --with-libnl])
671 # FIXME: currently the path argument to with-libsmi is being ignored
675 # Check for programs used when building DocBook documentation.
678 # Check for a2x (convert asciidoc to another format)
679 AC_PATH_PROG(A2X, a2x)
680 AC_CHECK_PROG(HAVE_A2X, a2x, "yes", "no")
681 AM_CONDITIONAL(HAVE_A2X, test x$HAVE_A2X = xyes)
683 # Want to control a tape drive? Use mt. Want to convert HTML to text?
684 # Uhhhhh... elinks? lynx? w3m? pandoc? html2text?
685 AC_PATH_PROG(ELINKS, elinks)
686 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
687 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
689 # Check for fop (translate .fo to e.g. pdf)
690 AC_PATH_PROG(FOP, fop)
691 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
692 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
694 # Check for lynx (html -> text)
695 AC_PATH_PROG(LYNX, lynx)
696 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
697 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
699 # Check for w3m (html -> text)
700 AC_PATH_PROG(W3M, w3m)
701 AC_CHECK_PROG(HAVE_W3M, w3m, "yes", "no")
702 AM_CONDITIONAL(HAVE_W3M, test x$HAVE_W3M = xyes)
705 AC_PATH_PROG(XMLLINT, xmllint)
706 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
707 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
710 AC_PATH_PROG(XSLTPROC, xsltproc)
711 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
712 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
715 # Check for packaging utilities
716 # For now, we check to see if the various packaging utilites are in our
717 # path. I'm too lazy to write code to go hunt for them. - Gerald
721 # (Lets you install the desktop files.)
723 AC_PATH_PROG(DESKTOP_FILE_INSTALL, desktop-file-install)
726 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
727 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
728 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
730 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
731 -a x$HAVE_PKGTRANS = xyes ; then
732 HAVE_SVR4_PACKAGING=yes
734 HAVE_SVR4_PACKAGING=no
736 AC_SUBST(HAVE_SVR4_PACKAGING)
739 AC_WIRESHARK_RPM_CHECK
743 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
746 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
747 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
748 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
750 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
751 -a x$HAVE_BLESS = xyes ; then
752 HAVE_OSX_PACKAGING=yes
754 HAVE_OSX_PACKAGING=no
756 AC_SUBST(HAVE_OSX_PACKAGING)
759 # Some compilers have to be told to fail when passed an unknown -W flag;
760 # make sure we do that.
762 AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
765 # Some C++ compilers have to be told to fail when passed a -W flag that
766 # they don't think should apply to C++; make sure we do that.
768 AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
771 # Try to add some additional checks to CFLAGS.
772 # These are not enabled by default, because the warnings they produce
773 # are very hard or impossible to eliminate.
775 AC_ARG_ENABLE(extra-compiler-warnings,
776 AC_HELP_STRING( [--enable-extra-compiler-warnings],
777 [do additional compiler warnings @<:@default=no@:>@]),
779 wireshark_extra_flags=$enableval
780 if test $enableval != no
783 # The following are for C and C++
785 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-pedantic)
787 # Various code blocks this one.
789 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Woverflow)
790 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
792 # Due to various places where APIs we don't control
793 # require us to cast away constness, we can probably
794 # never enable this one with -Werror.
796 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-qual)
798 # Some generated ASN.1 dissectors block this one;
799 # multiple function declarations for the same
800 # function are being generated.
802 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wredundant-decls)
804 # Some loops are safe, but it's hard to convince the
807 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunsafe-loop-optimizations)
809 # All the registration functions block these for now.
811 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-prototypes)
812 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-declarations)
814 # A bunch of "that might not work on SPARC" code blocks
817 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-align)
819 # Works only with Clang
821 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunreachable-code)
823 # Works only with Clang but generates a lot of warnings
824 # (about glib library not using Doxygen)
826 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdocumentation)
829 # The following are C only, not C++
831 # Due to various places where APIs we don't control
832 # require us to cast away constness, we can probably
833 # never enable this one with -Werror.
835 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wbad-function-cast, C)
840 # The following are for C and C++
842 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
843 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra) # -W is now known as -Wextra
844 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels)
845 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith)
846 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Warray-bounds)
847 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
848 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
849 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
850 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
851 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
852 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
853 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
854 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
855 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
856 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
857 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
858 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wwrite-strings)
859 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
860 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
863 # The following are C only, not C++
865 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
866 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdeclaration-after-statement, C)
871 # Make sure -Wshadow doesn't complain about variables in function and
872 # function pointer declarations shadowing other variables; if not, don't
873 # turn it on, as some versions of GCC (including the one in at least
874 # some Xcode versions that came with Mac OS X 10.5) complain about
877 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshadow, C,
879 extern int bar(int a);
885 int (*fptr)(int a) = bar;
890 [warns about variables in function declarations shadowing other variables])
892 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
893 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
894 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
896 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
897 # is given a constant string.
898 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
899 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wlogical-op, C,
903 int foo(const char *, int);
907 foo(const char *sep, int c)
909 if (strchr (sep, c) != NULL)
918 return foo("<", 'a');
921 [generates warnings from strchr()])
923 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
924 # The Qt headers generate a ton of shortening errors on 64-bit systems
925 # so only enable this for C for now.
926 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
929 # Use the faster pre gcc 4.5 floating point precision if available.
931 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
934 # Try to have the compiler default to hiding symbols, so that only
935 # symbols explicitly exported with WS_DLL_PUBLIC will be visible
936 # outside (shared) libraries; that way, more UN*X builds will catch
937 # failures to export symbols, rather than having that fail only on
940 CFLAGS_before_fvhidden="$CFLAGS"
942 # GCC and GCC-compatible compilers
944 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
945 if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
950 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
951 if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
953 # TODO add other ways of hiding symbols
954 AC_MSG_WARN(Compiler will export all symbols from shared libraries)
958 AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
959 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
960 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
961 # AC_WIRESHARK_LDFLAGS_CHECK([-flto])
962 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
963 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
966 # Put -fPIE in PIE_CFLAGS and -pie in PIE_LDFLAGS if we can use them,
967 # so that we can build dumpcap PIE - it may run with elevated
968 # privileges, and using PIE means the OS can run it at random locations
969 # in the address space to make attacks more difficult.
971 CFLAGS_before_pie="$CFLAGS"
972 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE)
973 if test "x$CFLAGS" != "x$CFLAGS_before_pie"
976 CFLAGS="$CFLAGS_before_pie"
978 LDFLAGS_before_pie="$LDFLAGS"
979 AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
980 if test "x$LDFLAGS" != "x$LDFLAGS_before_pie"
987 LDFLAGS="$LDFLAGS_before_pie"
992 AC_SUBST(PIE_LDFLAGS)
994 CFLAGS_before_simd="$CFLAGS"
995 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
996 if test "x$CFLAGS" != "x$CFLAGS_before_simd"
998 AC_MSG_CHECKING([whether there is nmmintrin.h header])
1001 [#include <nmmintrin.h>],
1005 AC_DEFINE(HAVE_SSE4_2, 1, [Support SSSE4.2 (Streaming SIMD Extensions 4.2) instructions])
1006 CFLAGS_SSE42="-msse4.2"
1007 AC_MSG_RESULT([yes])
1016 CFLAGS="$CFLAGS_before_simd"
1020 dnl build libwsutil_sse42 only if there is SSE4.2
1021 AM_CONDITIONAL(SSE42_SUPPORTED, test "x$have_sse42" = "xyes")
1022 AC_SUBST(CFLAGS_SSE42)
1025 # If we're running GCC or clang define _U_ to be "__attribute__((unused))"
1026 # so we can use _U_ to flag unused function parameters and not get warnings
1027 # about them. Otherwise, define _U_ to be an empty string so that _U_ used
1028 # to flag an unused function parameters will compile with other compilers.
1030 # XXX - similar hints for other compilers?
1032 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
1033 AC_DEFINE(_U_, __attribute__((unused)), [Hint to the compiler that a function parameters is not used])
1035 AC_DEFINE(_U_, , [Hint to the compiler that a function parameters is not used])
1038 # If we're running GCC or CLang, use FORTIFY_SOURCE=2
1039 # (only if the GCC 'optimization level' > 0).
1041 # See: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
1042 # See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979
1044 # Note: FORTIFY_SOURCE is only effective for gcc optimization level > 0 (-O1, etc)
1045 AC_WIRESHARK_GCC_FORTIFY_SOURCE_CHECK
1048 # If the compiler supports GCC-style flags, enable a barrier "stop on
1050 # This barrier is set for a very large part of the code. However, it is
1051 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
1053 warnings_as_errors_default="yes"
1054 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
1055 AC_ARG_ENABLE(warnings-as-errors,
1056 AC_HELP_STRING( [--enable-warnings-as-errors],
1057 [treat warnings as errors (only for GCC or clang) @<:@default=yes, unless extra compiler warnings are enabled@:>@]),
1059 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes"; then
1060 with_warnings_as_errors="yes"
1063 with_warnings_as_errors="no"
1068 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
1069 with_warnings_as_errors="yes"
1072 with_warnings_as_errors="no"
1077 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
1080 # Add any platform-specific compiler flags needed.
1082 AC_MSG_CHECKING(for platform-specific compiler flags)
1083 if test "x$GCC" = "xyes" ; then
1085 # GCC - do any platform-specific tweaking necessary.
1089 # the X11 headers don't automatically include prototype info
1090 # and a lot don't include the return type
1091 CPPFLAGS="$CPPFLAGS -DFUNCPROTO=15"
1092 CFLAGS="$CFLAGS -Wno-return-type"
1093 CXXFLAGS="$CXXFLAGS -Wno-return-type"
1094 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
1097 AC_MSG_RESULT(none needed)
1102 # Not GCC - assume it's the vendor's compiler.
1107 # HP's ANSI C compiler; flags suggested by Jost Martin.
1108 # "-Ae" for ANSI C plus extensions such as "long long".
1109 # "+O2", for optimization. XXX - works with "-g"?
1111 # HP's ANSI C++ compiler doesn't support "-Ae", but
1112 # does support "+O2", at least according to the
1113 # documentation I can find online.
1115 CFLAGS="-Ae +O2 $CFLAGS"
1116 CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
1117 CXXFLAGS="+O2 $CFLAGS"
1118 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
1121 AC_MSG_RESULT(none needed)
1127 # Add any platform-specific linker flags needed.
1129 AC_MSG_CHECKING(for platform-specific linker flags)
1133 # Add -Wl,-single_module to the LDFLAGS used with shared
1134 # libraries, to fix some error that show up in some cases;
1135 # some Apple documentation recommends it for most shared
1138 LDFLAGS_SHAREDLIB="-Wl,-single_module"
1140 # Add -Wl,-headerpad_max_install_names to the LDFLAGS, as
1141 # code-signing issues is running out of padding space.
1143 # Add -Wl,-search_paths_first to make sure that if we search
1144 # directories A and B, in that order, for a given library, a
1145 # non-shared version in directory A, rather than a shared
1146 # version in directory B, is chosen (so we can use
1147 # --with-pcap=/usr/local to force all programs to be linked
1148 # with a static version installed in /usr/local/lib rather than
1149 # the system version in /usr/lib).
1151 # Also add -Wl,-rpath,@executable_path/../lib and
1152 # -Wl,-rpath,/usr/local/lib, so that, if we build an app
1153 # bundle, we can tweak all the executable images, shared
1154 # libraries, and plugins in the bundle to look for non-system
1155 # libraries in the rpath, rather than having a script tweak
1156 # DYLD_LIBRARY_PATH.
1158 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"
1159 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])
1163 # Shared libraries in cygwin/Win32 must never contain
1164 # undefined symbols.
1166 LDFLAGS="$LDFLAGS -no-undefined"
1167 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
1170 AC_MSG_RESULT(none needed)
1173 AC_SUBST(LDFLAGS_SHAREDLIB)
1175 # Enable silent builds by default
1176 # Verbose builds can be enabled with "./configure
1177 # --enable-silent-rules ..." or "make V=1 ..."
1178 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
1179 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
1182 # On "Darwin", which we assume to mean "OS X" rather than "iOS" or
1183 # "just Darwin" (as we don't currently support iOS, and as I don't
1184 # think you can build and run "just Darwin" as an OS for PCs), we
1185 # arrange to build some programs with Application Services so they
1186 # can launch Web browsers and Finder windows, arrange to build some
1187 # programs with System Configuration so they can get "friendly names"
1188 # and other information about interfaces, and build any programs that
1189 # use either of those frameworks or that report version information
1190 # with Core Foundation as the frameworks in question use it and as we
1191 # get version information from plists and thus need Core Foundation
1192 # to process those plists.
1197 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
1198 APPLICATIONSERVICES_FRAMEWORKS="-framework ApplicationServices"
1199 SYSTEMCONFIGURATION_FRAMEWORKS="-framework SystemConfiguration"
1200 COREFOUNDATION_FRAMEWORKS="-framework CoreFoundation"
1203 # OK, so we have the OS X frameworks; do they include
1204 # CFPropertyListCreateWithStream, or do we have
1205 # to fall back on CFPropertyListCreateFromStream?
1206 # (They only differ in the error return, which we
1207 # don't care about. And, no, we shouldn't just
1208 # use CFPropertyListCreateFromStream, because it's
1209 # deprecated in newer releases.)
1211 ac_save_LIBS="$LIBS"
1212 LIBS="$LIBS $COREFOUNDATION_FRAMEWORKS"
1213 AC_CHECK_FUNCS(CFPropertyListCreateWithStream)
1214 LIBS="$ac_save_LIBS"
1217 AC_SUBST(APPLICATIONSERVICES_FRAMEWORKS)
1218 AC_SUBST(SYSTEMCONFIGURATION_FRAMEWORKS)
1219 AC_SUBST(COREFOUNDATION_FRAMEWORKS)
1222 # On Solaris, check whether we have getexecname().
1226 AC_CHECK_FUNC(getexecname)
1230 dnl Look in /usr/local for header files and libraries ?
1231 dnl XXX FIXME don't include /usr/local if it is already in the system
1232 dnl search path as this causes gcc 3.2 on Linux to complain about a change
1233 dnl of the system search order for includes
1234 AC_ARG_ENABLE(usr-local,
1235 AC_HELP_STRING( [--enable-usr-local],
1236 [look for headers and libs in /usr/local tree @<:@default=yes@:>@]),
1237 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
1239 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
1240 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
1241 if test -d "/usr/local"; then
1244 # Arrange that we search for header files in the source directory
1245 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
1246 # as various packages we use ("libpcap", "zlib", "adns")
1247 # may have been installed under "/usr/local/include".
1249 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
1252 # Arrange that we search for libraries in "/usr/local/lib".
1254 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
1263 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
1268 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
1269 if test x$LD_LIBRARY_PATH != x ; then
1270 LIBS="$LIBS -R$LD_LIBRARY_PATH"
1271 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
1273 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
1279 # Check for versions of "sed" inadequate to handle, in libtool, a list
1280 # of object files as large as the list in Wireshark.
1282 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
1283 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
1284 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
1285 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
1286 # is the only "sed" that comes with Solaris that can handle Wireshark.
1288 # Add any checks here that are necessary for other OSes.
1290 AC_PATH_PROG(SED, sed)
1293 AC_MSG_ERROR(I couldn't find sed; make sure it's installed and in your path)
1295 AC_WIRESHARK_GNU_SED_CHECK
1296 if test "$HAVE_GNU_SED" = no ; then
1299 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
1301 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
1303 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
1318 # Enable/disable wireshark
1319 AC_ARG_ENABLE(wireshark,
1320 AC_HELP_STRING( [--enable-wireshark],
1321 [build the Wireshark GUI (with Gtk+, Qt, or both) @<:@default=yes@:>@]),
1322 enable_wireshark=$enableval,enable_wireshark=yes)
1324 AC_ARG_ENABLE(packet-editor,
1325 AC_HELP_STRING( [--enable-packet-editor],
1326 [add support for packet editor in Wireshark @<:@default=yes@:>@]),
1327 enable_packet_editor=$enableval,enable_packet_editor=yes)
1328 if test x$enable_packet_editor = xyes; then
1329 AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
1332 AC_ARG_ENABLE(profile-build,
1333 AC_HELP_STRING( [--enable-profile-build],
1334 [build profile-ready binaries @<:@default=no@:>@]),
1335 enable_profile_build=$enableval,enable_profile_build=no)
1336 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
1337 AC_MSG_CHECKING(if profile builds must be generated)
1338 if test "x$enable_profile_build" = "xyes" ; then
1339 if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
1341 CFLAGS=" -pg $CFLAGS"
1342 CXXFLAGS=" -pg $CXXFLAGS"
1345 echo "Building profile binaries currently only supported for GCC and clang."
1351 # Create DATAFILE_DIR #define for config.h
1352 datafiledir=$datadir/wireshark
1354 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1355 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1356 # Ugly hack, but I don't see how this problem can be solved
1357 # properly that DATAFILE_DIR had a value starting with
1358 # "${prefix}/" instead of e.g. "/usr/local/"
1359 eval eval echo "$datafiledir"
1361 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
1363 # Create DOC_DIR #define for config.h
1365 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1366 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1367 # Ugly hack, but I don't see how this problem can be solved
1368 # properly that DOC_DIR had a value starting with
1369 # "${prefix}/" instead of e.g. "/usr/local/"
1370 eval eval echo "$docdir"
1372 AC_DEFINE_UNQUOTED(DOC_DIR, "$docdir", [Directory for docs])
1374 GTK2_MIN_VERSION=2.12.0
1375 AC_SUBST(GTK2_MIN_VERSION)
1376 GTK3_MIN_VERSION=3.0.0
1377 AC_SUBST(GTK3_MIN_VERSION)
1378 QT_MIN_VERSION=4.6.0
1379 AC_SUBST(QT_MIN_VERSION)
1380 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
1381 # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
1383 # We only do those if we're going to be building Wireshark;
1384 # otherwise, we don't have any GUI to build, so we don't use
1387 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
1388 # force all programs to be built with GTK+ or Qt.
1390 # Release dates for GTK+ versions:
1391 # http://en.wikipedia.org/wiki/GTK+#Releases
1392 # 2.12.0: 14 Sep 2007
1393 # 2.14.0: 04 Sep 2008
1394 # 2.16.0: 13 Mar 2009
1395 # 2.18.0: 23 Sep 2009
1396 # 2.20.0: 23 Mar 2010
1397 # 2.22.0: 23 Sep 2010
1398 # 2.24.0: 30 Jan 2011
1399 # 3.0.0: 10 Feb 2011
1400 # 3.2.0: 25 Sep 2011
1401 # 3.4.0: 26 Mar 2012
1402 # 3.6.0: 24 Sep 2012
1403 # 3.8.0: 25 Mar 2013
1404 # 3.10.0: 23 Sep 2013
1405 # 3.12.0: 25 Mar 2014
1407 # Release dates for Qt versions:
1408 # http://en.wikipedia.org/wiki/List_of_Qt_releases
1409 # 4.6.0: 01 Dec 2009
1410 # 4.7.0: 21 Sep 2010
1411 # 4.8.0: 15 Dec 2011
1412 # 5.0.0: 19 Dec 2012
1413 # 5.1.0: 03 Jul 2013
1414 # 5.2.0: 12 Dec 2013
1415 # 5.3.0: 20 May 2014
1419 if test "x$enable_wireshark" = "xyes"; then
1420 if test "x$with_gtk2" = "xunspecified" -a \
1421 "x$with_gtk3" = "xunspecified" -a \
1422 "x$with_qt" = "xunspecified"; then
1424 # No GUI toolkit was explicitly specified; pick Qt and GTK+ 3.
1429 if test "x$with_qt" = "xyes"; then
1431 # Qt was specified; Make sure we have a C++ compiler.
1433 if test -z "$CXX"; then
1434 AC_MSG_ERROR(Need a working C++ compiler to build Wireshark with Qt)
1438 # Now make sure we have Qt and, if so, add the flags
1439 # for it to CFLAGS and CXXFLAGS.
1441 AC_WIRESHARK_QT_CHECK($QT_MIN_VERSION,
1443 CFLAGS="$CFLAGS $Qt_CFLAGS"
1444 CXXFLAGS="$CXXFLAGS $Qt_CFLAGS"
1446 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
1447 OSX_APP_FLAGS="$OSX_APP_FLAGS -qt"
1450 [AC_MSG_ERROR([Qt is not available])])
1453 # XXX - greasy hack to make ui/gtk/recent.c
1456 CPPFLAGS="-DQT_GUI_LIB"
1459 if test "x$with_gtk3" = "xyes"; then
1461 # GTK+ 3 was specified; make sure they didn't also
1462 # specify GTK+ 2, as we don't support building both
1463 # GTK+ 2 and GTK+ 3 versions at the same time.
1465 if test "x$with_gtk2" = "xyes"; then
1466 AC_MSG_ERROR([Both GTK+ 2 and GTK+ 3 were specified; choose one but not both])
1470 # Make sure we have GTK+ 3.
1472 AM_PATH_GTK_3_0(3.0.0,
1474 CFLAGS="$CFLAGS $GTK_CFLAGS"
1475 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1477 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk3"
1479 [AC_MSG_ERROR([GTK+ 3 is not available])])
1480 elif test "x$with_gtk2" = "xyes"; then
1482 # GTK+ 3 wasn't specified, and GTK+ 2 was specified;
1483 # make sure we have GTK+ 2.
1485 AM_PATH_GTK_2_0($GTK2_MIN_VERSION,
1487 CFLAGS="$CFLAGS $GTK_CFLAGS"
1488 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1490 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk2"
1492 [AC_MSG_ERROR([GTK+ 2 is not available])])
1495 AC_SUBST(GUI_CONFIGURE_FLAGS)
1497 GLIB_MIN_VERSION=2.16.0
1498 AC_SUBST(GLIB_MIN_VERSION)
1499 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1500 # support, as we need that for dynamically loading plugins.
1501 # If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because
1502 # AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a
1503 # superset of GLIB_CFLAGS. If we didn't find GTK+, it does add
1504 # GLIB_CFLAGS to CFLAGS.
1505 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
1506 # set when generating the Makefile, so we can make programs that require
1507 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
1508 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
1509 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
1510 # programs to be built with GLib.
1512 # Release dates for GLib versions:
1513 # 2.14.0: 03 Aug 2007
1514 # 2.16.0: 10 Mar 2008
1515 # 2.18.0: 02 Sep 2008
1516 # 2.20.0: 13 Mar 2009
1517 # 2.22.0: 22 Sep 2009
1518 # 2.24.0: 28 Mar 2010
1519 # 2.26.0: 27 Sep 2010
1520 # 2.28.0: 08 Feb 2011
1521 # 2.30.0: 27 Sep 2011
1522 # 2.32.0: 24 Mar 2012
1523 # 2.34.0: 24 Sep 2012
1524 # 2.36.0: 25 Mar 2013
1525 # 2.38.0: 23 Sep 2013
1526 # 2.40.0: 24 Mar 2014
1528 use_glib_cflags="true"
1529 if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
1530 # We have both GTK and Qt and thus will be building both wireshark
1531 # and wireshark-gtk.
1533 wireshark_bin="wireshark\$(EXEEXT) wireshark-gtk\$(EXEEXT)"
1534 wireshark_man="wireshark.1"
1535 wireshark_SUBDIRS="codecs ui/qt ui/gtk"
1537 if test "$have_gtk" = "no" -a "$have_qt" = "yes" ; then
1538 # We don't have GTK+ but we have Qt.
1540 wireshark_bin="wireshark\$(EXEEXT)"
1541 wireshark_man="wireshark.1"
1542 wireshark_SUBDIRS="codecs ui/qt"
1544 if test "$have_gtk" = "yes" -a "$have_qt" = "no" ; then
1545 # We have GTK+ but not Qt.
1547 wireshark_bin="wireshark-gtk\$(EXEEXT)"
1548 wireshark_man="wireshark.1"
1549 wireshark_SUBDIRS="codecs ui/gtk"
1550 use_glib_cflags="false"
1552 if test "$have_gtk" = "no" -a "$have_qt" = "no" ; then
1553 # We have neither GTK+ nor Qt.
1555 # If they didn't explicitly say "--disable-wireshark",
1556 # fail (so that, unless they explicitly indicated that
1557 # they don't want Wireshark, we stop so they know they
1558 # won't be getting Wireshark unless they fix the GTK+/Qt
1561 if test "x$enable_wireshark" = "xyes"; then
1562 if test "x$with_gtk3" = "xyes"; then
1563 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK3_MIN_VERSION or later are available, so Wireshark can't be compiled])
1565 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK2_MIN_VERSION or later are available, so Wireshark can't be compiled])
1572 if test "$have_gtk" = "yes" ; then
1573 # If we have GTK then add flags for it.
1575 CPPFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CPPFLAGS"
1576 CPPFLAGS="-DGDK_DISABLE_DEPRECATED $CPPFLAGS"
1577 if test \( $gtk_config_major_version -eq 3 -a $gtk_config_minor_version -ge 10 \) ; then
1578 ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
1579 ## The deprecations in Gtk 3.10 will not be fixed ...
1580 CPPFLAGS="-DGDK_DISABLE_DEPRECATION_WARNINGS $CPPFLAGS"
1582 CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
1584 CPPFLAGS="-DGTK_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1585 if test ! \( $gtk_config_major_version -eq 2 -a $gtk_config_minor_version -lt 20 \) ; then
1586 # Enable GSEAL when building with GTK > 2.20
1587 # (Versions prior to 2.22 lacked some necessary accessors.)
1588 CPPFLAGS="-DGSEAL_ENABLE $CPPFLAGS"
1592 # XXX - Is this really necessary? When we build with both Gtk+ and Qt it works...
1593 if test "$use_glib_cflags" = "true"; then
1595 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION,
1597 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1598 CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
1599 ], AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1601 # Don't use GLIB_CFLAGS
1602 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION, , AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1606 # "make dist" requires that we have the Qt build tools.
1608 # Annoyingly, at least on Fedora 16, uic and moc are named XXX-qt4
1609 # rather than just XXX, perhaps to allow Qt 3 and Qt 4 tools to be
1610 # installed; if they're still doing that in current Fedora releases,
1611 # perhaps there will also be XXX-qt5 when they pick up Qt 5.
1613 AC_PATH_PROG(UIC, uic)
1616 AC_PATH_PROG(UIC, uic-qt4)
1619 if test "x$with_qt" = "xyes"; then
1621 # If you want to build with Qt, you'd better
1624 AC_MSG_ERROR(I couldn't find uic or uic-qt4; make sure it's installed and in your path)
1627 # We shouldn't fail here, as the user's not
1628 # building with Qt, and we shouldn't force them
1629 # to have Qt installed if they're not doing so.
1630 # "make dist" will fail if they do that, but
1631 # we don't know whether they'll be doing that,
1632 # so this is the best we can do.
1639 AC_PATH_PROG(MOC, moc)
1642 AC_PATH_PROG(MOC, moc-qt4)
1645 if test "x$with_qt" = "xyes"; then
1647 # If you want to build with Qt, you'd better
1650 AC_MSG_ERROR(I couldn't find moc or moc-qt4; make sure it's installed and in your path)
1653 # We shouldn't fail here, as the user's not
1654 # building with Qt, and we shouldn't force them
1655 # to have Qt installed if they're not doing so.
1656 # "make dist" will fail if they do that, but
1657 # we don't know whether they'll be doing that,
1658 # so this is the best we can do.
1666 # Error out if a glib header other than a "top level" header
1667 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1669 CPPFLAGS="-DG_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1671 # Error out on the usage of deprecated glib functions
1672 CPPFLAGS="-DG_DISABLE_DEPRECATED $CPPFLAGS"
1675 # Check whether GLib modules are supported, to determine whether we
1676 # can support plugins.
1678 AC_MSG_CHECKING(whether GLib supports loadable modules)
1679 ac_save_CFLAGS="$CFLAGS"
1680 ac_save_LIBS="$LIBS"
1681 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1682 LIBS="$GLIB_LIBS $LIBS"
1685 #include <gmodule.h>
1692 if (g_module_supported())
1693 return 0; /* success */
1695 return 1; /* failure */
1697 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
1698 [echo $ac_n "cross compiling; assumed OK... $ac_c"
1699 ac_cv_glib_supports_modules=yes])
1700 CFLAGS="$ac_save_CFLAGS"
1701 LIBS="$ac_save_LIBS"
1702 if test "$ac_cv_glib_supports_modules" = yes ; then
1705 plugins_dir="plugins"
1711 AC_SUBST(plugins_dir)
1714 # If we have <dlfcn.h>, check whether we have dladdr.
1716 if test "$ac_cv_header_dlfcn_h" = "yes"
1719 # Use GLib compiler flags and linker flags; GLib's gmodule
1720 # stuff uses the dl APIs if available, so it might know
1721 # what flags are needed.
1723 ac_save_CFLAGS="$CFLAGS"
1724 ac_save_LIBS="$LIBS"
1725 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1726 LIBS="$GLIB_LIBS $LIBS"
1727 AC_CHECK_FUNCS(dladdr)
1728 if test x$ac_cv_func_dladdr = xno
1731 # OK, try it with -ldl, in case you need that to get
1732 # dladdr(). For some reason, on Linux, that's not
1733 # part of the GLib flags; perhaps GLib itself is
1734 # linked with libdl, so that you can link with
1735 # Glib and it'll pull libdl in itself.
1738 AC_CHECK_FUNCS(dladdr)
1740 CFLAGS="$ac_save_CFLAGS"
1741 LIBS="$ac_save_LIBS"
1745 # Check whether GLib's printf supports thousands grouping. (This might
1746 # be different from the system's printf since GLib can optionally use
1747 # its own printf implementation.)
1749 AC_MSG_CHECKING(whether GLib supports POSIX/XSI thousands grouping)
1750 ac_save_CFLAGS="$CFLAGS"
1751 ac_save_LIBS="$LIBS"
1752 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1753 LIBS="$GLIB_LIBS $LIBS"
1764 setlocale(LC_ALL, "en_US.UTF-8");
1765 str = g_strdup_printf("%'u", 123456);
1766 return (strcmp (str, "123,456") != 0);
1768 ], ac_cv_glib_supports_printf_grouping=yes, ac_cv_glib_supports_printf_grouping=no,
1769 [echo $ac_n "cross compiling; playing it safe... $ac_c"
1770 ac_cv_glib_supports_printf_grouping=no])
1771 CFLAGS="$ac_save_CFLAGS"
1772 LIBS="$ac_save_LIBS"
1773 if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
1775 AC_DEFINE(HAVE_GLIB_PRINTF_GROUPING, 1, [Define if your printf() function supports thousands grouping.])
1780 if test "x$have_gtk" = "xyes"
1783 # We have GTK+; do we want the OS X integration functions and,
1784 # if so, do we have them and, if so, which versions do we have,
1785 # the old Carbon-based ones or the new Cocoa-based ones?
1787 AC_MSG_CHECKING(whether to use OS X integration functions)
1789 AC_ARG_WITH(osx-integration,
1790 AC_HELP_STRING( [--with-osx-integration],
1791 [use OS X integration functions @<:@default=yes, if available@:>@]),
1793 if test $withval = no
1795 want_osx_integration=no
1797 want_osx_integration=yes
1800 want_osx_integration=yes
1802 if test "x$want_osx_integration" = "xno"; then
1806 AC_WIRESHARK_OSX_INTEGRATION_CHECK
1810 AC_SUBST(wireshark_bin)
1811 AC_SUBST(wireshark_man)
1812 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1813 AM_CONDITIONAL(HAVE_GTK, test "$have_gtk" = "yes")
1814 AC_SUBST(OSX_APP_FLAGS)
1815 AC_SUBST(OSX_DMG_FLAGS)
1817 # Enable/disable tshark
1818 AC_ARG_ENABLE(tshark,
1819 AC_HELP_STRING( [--enable-tshark],
1820 [build tshark @<:@default=yes@:>@]),
1821 tshark=$enableval,enable_tshark=yes)
1823 if test "x$enable_tshark" = "xyes" ; then
1824 tshark_bin="tshark\$(EXEEXT)"
1825 tshark_man="tshark.1"
1826 wiresharkfilter_man="wireshark-filter.4"
1831 AC_SUBST(tshark_bin)
1832 AC_SUBST(tshark_man)
1834 # Enable/disable editcap
1836 AC_ARG_ENABLE(editcap,
1837 AC_HELP_STRING( [--enable-editcap],
1838 [build editcap @<:@default=yes@:>@]),
1839 enable_editcap=$enableval,enable_editcap=yes)
1841 if test "x$enable_editcap" = "xyes" ; then
1842 editcap_bin="editcap\$(EXEEXT)"
1843 editcap_man="editcap.1"
1848 AC_SUBST(editcap_bin)
1849 AC_SUBST(editcap_man)
1852 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1855 # Enable/disable capinfos
1857 AC_ARG_ENABLE(capinfos,
1858 AC_HELP_STRING( [--enable-capinfos],
1859 [build capinfos @<:@default=yes@:>@]),
1860 enable_capinfos=$enableval,enable_capinfos=yes)
1862 if test "x$enable_capinfos" = "xyes" ; then
1863 capinfos_bin="capinfos\$(EXEEXT)"
1864 capinfos_man="capinfos.1"
1869 AC_SUBST(capinfos_bin)
1870 AC_SUBST(capinfos_man)
1872 # Enable/disable captype
1874 AC_ARG_ENABLE(captype,
1875 AC_HELP_STRING( [--enable-captype],
1876 [build captype @<:@default=yes@:>@]),
1877 enable_captype=$enableval,enable_captype=yes)
1879 if test "x$enable_captype" = "xyes" ; then
1880 captype_bin="captype\$(EXEEXT)"
1881 captype_man="captype.1"
1886 AC_SUBST(captype_bin)
1887 AC_SUBST(captype_man)
1889 # Enable/disable mergecap
1891 AC_ARG_ENABLE(mergecap,
1892 AC_HELP_STRING( [--enable-mergecap],
1893 [build mergecap @<:@default=yes@:>@]),
1894 enable_mergecap=$enableval,enable_mergecap=yes)
1896 if test "x$enable_mergecap" = "xyes" ; then
1897 mergecap_bin="mergecap\$(EXEEXT)"
1898 mergecap_man="mergecap.1"
1903 AC_SUBST(mergecap_bin)
1904 AC_SUBST(mergecap_man)
1906 # Enable/disable reordercap
1908 AC_ARG_ENABLE(reordercap,
1909 AC_HELP_STRING( [--enable-reordercap],
1910 [build reordercap @<:@default=yes@:>@]),
1911 enable_reordercap=$enableval,enable_reordercap=yes)
1913 if test "x$enable_reordercap" = "xyes" ; then
1914 reordercap_bin="reordercap\$(EXEEXT)"
1915 reordercap_man="reordercap.1"
1920 AC_SUBST(reordercap_bin)
1921 AC_SUBST(reordercap_man)
1923 # Enable/disable text2pcap
1925 AC_ARG_ENABLE(text2pcap,
1926 AC_HELP_STRING( [--enable-text2pcap],
1927 [build text2pcap @<:@default=yes@:>@]),
1928 text2pcap=$enableval,enable_text2pcap=yes)
1930 if test "x$enable_text2pcap" = "xyes" ; then
1931 text2pcap_bin="text2pcap\$(EXEEXT)"
1932 text2pcap_man="text2pcap.1"
1937 AC_SUBST(text2pcap_bin)
1938 AC_SUBST(text2pcap_man)
1940 # Enable/disable dftest
1942 AC_ARG_ENABLE(dftest,
1943 AC_HELP_STRING( [--enable-dftest],
1944 [build dftest @<:@default=yes@:>@]),
1945 enable_dftest=$enableval,enable_dftest=yes)
1947 if test "x$enable_dftest" = "xyes" ; then
1948 dftest_bin="dftest\$(EXEEXT)"
1949 dftest_man="dftest.1"
1954 AC_SUBST(dftest_bin)
1955 AC_SUBST(dftest_man)
1957 # Enable/disable randpkt
1959 AC_ARG_ENABLE(randpkt,
1960 AC_HELP_STRING( [--enable-randpkt],
1961 [build randpkt @<:@default=yes@:>@]),
1962 enable_randpkt=$enableval,enable_randpkt=yes)
1964 if test "x$enable_randpkt" = "xyes" ; then
1965 randpkt_bin="randpkt\$(EXEEXT)"
1966 randpkt_man="randpkt.1"
1971 AC_SUBST(randpkt_bin)
1972 AC_SUBST(randpkt_man)
1974 AC_SUBST(wiresharkfilter_man)
1976 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
1977 dnl "gethostbyname()".
1978 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
1980 dnl Checks for "connect()", used as a proxy for "socket()" - and
1981 dnl "-lsocket", if we need it to get "connect()".
1982 AC_WIRESHARK_SOCKET_LIB_CHECK
1985 AC_MSG_CHECKING(whether to use libpcap for packet capture)
1988 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
1989 [use libpcap for packet capturing @<:@default=yes@:>@]),
1991 if test $withval = no
1994 elif test $withval = yes
2005 if test "x$want_pcap" = "xno" ; then
2009 AC_WIRESHARK_PCAP_CHECK
2013 dnl Check for airpcap
2014 AC_MSG_CHECKING(whether to include airpcap support)
2015 AC_ARG_ENABLE(airpcap,
2016 AC_HELP_STRING( [--enable-airpcap],
2017 [use AirPcap in Wireshark @<:@default=yes@:>@]),
2018 enable_airpcap=$enableval, enable_airpcap=yes)
2020 if test x$enable_airpcap = xyes; then
2021 if test "x$want_pcap" = "xno" ; then
2023 AC_MSG_RESULT(pcap not available - disabling airpcap)
2026 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
2034 AC_MSG_CHECKING(whether to build dumpcap)
2036 AC_ARG_ENABLE(dumpcap,
2037 AC_HELP_STRING( [--enable-dumpcap],
2038 [build dumpcap @<:@default=yes@:>@]),
2039 enable_dumpcap=$enableval,enable_dumpcap=yes)
2041 if test "x$enable_dumpcap" = "xyes" ; then
2042 if test "x$want_pcap" = "xno" ; then
2044 AC_MSG_RESULT(pcap not available - disabling dumpcap)
2052 if test "x$enable_dumpcap" = "xyes" ; then
2053 dumpcap_bin="dumpcap\$(EXEEXT)"
2054 dumpcap_man="dumpcap.1"
2059 AC_SUBST(dumpcap_bin)
2060 AC_SUBST(dumpcap_man)
2062 # Enable/disable rawshark
2065 AC_MSG_CHECKING(whether to build rawshark)
2067 AC_ARG_ENABLE(rawshark,
2068 AC_HELP_STRING( [--enable-rawshark],
2069 [build rawshark @<:@default=yes@:>@]),
2070 rawshark=$enableval,enable_rawshark=yes)
2072 if test "x$enable_rawshark" = "xyes" ; then
2073 if test "x$want_pcap" = "xno" ; then
2075 AC_MSG_RESULT(pcap not available - disabling rawshark)
2083 if test "x$enable_rawshark" = "xyes" ; then
2084 rawshark_bin="rawshark\$(EXEEXT)"
2085 rawshark_man="rawshark.1"
2090 AC_SUBST(rawshark_bin)
2091 AC_SUBST(rawshark_man)
2094 # Enable/disable echld
2095 AC_ARG_ENABLE(echld,
2096 AC_HELP_STRING( [--enable-echld],
2097 [support echld (Experimental) @<:@default=no@:>@]),
2098 have_echld=$enableval,have_echld=no)
2100 AM_CONDITIONAL(HAVE_ECHLD, test "x$have_echld" = "xyes")
2101 if test "x$have_echld" = "xyes"
2103 AC_DEFINE(HAVE_ECHLD, 1, [Define if echld is enabled])
2104 echld_test_bin="echld_test\$(EXEEXT)"
2111 AC_SUBST(echld_test_bin)
2114 # Enable/disable tfshark
2115 AC_ARG_ENABLE(tfshark,
2116 AC_HELP_STRING( [--enable-tfshark],
2117 [build tfshark (Experimental) @<:@default=no@:>@]),
2118 tfshark=$enableval,enable_tfshark=no)
2120 if test "x$enable_tfshark" = "xyes" ; then
2121 tfshark_bin="tfshark\$(EXEEXT)"
2122 tfshark_man="tfshark.1"
2123 wiresharkfilter_man="wireshark-filter.4"
2128 AC_SUBST(tfshark_bin)
2129 AC_SUBST(tfshark_man)
2132 dnl Use pcap-ng by default
2133 AC_ARG_ENABLE(pcap-ng-default,
2134 AC_HELP_STRING( [--enable-pcap-ng-default],
2135 [use the pcap-ng file format by default instead of pcap @<:@default=yes@:>@]),
2136 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
2137 if test x$enable_pcap_ng_default = xyes; then
2138 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcap-ng])
2141 dnl pcap remote check
2142 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
2144 AC_ARG_WITH(pcap-remote,
2145 AC_HELP_STRING([--with-pcap-remote],
2146 [use libpcap remote capturing (requires libpcap)]),
2148 if test $withval = no
2152 want_pcap_remote=yes
2157 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
2161 AC_WIRESHARK_PCAP_REMOTE_CHECK
2165 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
2168 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
2169 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
2171 if test "x$withval" = "xno"
2174 elif test "x$withval" = "xyes"
2183 # Use zlib if it's present, otherwise don't.
2185 want_zlib=ifavailable
2188 if test "x$want_zlib" = "xno" ; then
2192 AC_WIRESHARK_ZLIB_CHECK
2193 if test "x$want_zlib" = "xno" ; then
2194 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
2196 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
2197 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
2203 AC_MSG_CHECKING(whether to use liblua for the Lua scripting plugin)
2206 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
2207 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
2209 if test $withval = no
2212 elif test $withval = yes
2221 # Use liblua by default
2223 want_lua=ifavailable
2226 if test "x$want_lua" = "xno" ; then
2230 AC_WIRESHARK_LIBLUA_CHECK
2231 if test "x$want_lua" = "xno" ; then
2232 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
2235 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
2239 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
2241 AC_ARG_WITH(portaudio,
2242 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
2243 [use libportaudio (located in directory DIR, if supplied) for the rtp_player @<:@default=yes, if available@:>@]),
2245 if test $withval = no
2248 elif test $withval = yes
2253 portaudio_dir=$withval
2257 # Use libportaudio by default
2259 want_portaudio=ifavailable
2262 if test "x$want_portaudio" = "xno" ; then
2266 AC_WIRESHARK_LIBPORTAUDIO_CHECK
2267 if test "x$want_portaudio" = "xno" ; then
2268 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
2271 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
2276 AC_HELP_STRING( [--enable-ipv6],
2277 [use IPv6 name resolution, if available @<:@default=yes@:>@]),
2278 enable_ipv6=$enableval,enable_ipv6=yes)
2280 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
2281 if test "x$enable_ipv6" = "xno" ; then
2285 AC_WIRESHARK_IPV6_STACK
2289 dnl Check if dumpcap should be installed with filesystem capabilities
2290 AC_PATH_PROG(SETCAP, setcap)
2291 AC_ARG_ENABLE(setcap-install,
2292 AC_HELP_STRING( [--enable-setcap-install],
2293 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
2294 enable_setcap_install=$enableval,enable_setcap_install=no)
2296 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
2297 if test "x$enable_setcap_install" = "xno" ; then
2300 if test "x$SETCAP" = "x" ; then
2301 AC_MSG_RESULT(setcap not found)
2302 AC_MSG_ERROR([Setcap install was requested, but setcap was not found])
2303 elif test "x$enable_dumpcap" = "xno" ; then
2304 AC_MSG_RESULT(dumpcap disabled)
2305 AC_MSG_ERROR([Setcap install works only with dumpcap, but dumpcap is disabled])
2311 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
2313 dnl Check if dumpcap should be installed setuid
2314 AC_ARG_ENABLE(setuid-install,
2315 AC_HELP_STRING( [--enable-setuid-install],
2316 [install dumpcap as setuid @<:@default=no@:>@]),
2317 enable_setuid_install=$enableval,enable_setuid_install=no)
2319 AC_MSG_CHECKING(whether to install dumpcap setuid)
2320 if test "x$enable_setuid_install" = "xno" ; then
2323 if test "x$enable_setcap_install" = "xyes" ; then
2324 enable_setuid_install=no
2325 AC_MSG_RESULT(setcap and setuid both selected)
2326 AC_MSG_ERROR(You must choose one of setcap install and setuid install)
2327 elif test "x$enable_dumpcap" = "xno" ; then
2328 AC_MSG_RESULT(dumpcap disabled)
2329 AC_MSG_ERROR([Setuid install works only with dumpcap, but dumpcap is disabled])
2335 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
2336 AC_CHECK_FUNCS(setresuid setresgid)
2338 dnl ...but our Network Operations group is named "no"!
2340 AC_ARG_WITH(dumpcap-group,
2341 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
2342 [restrict dumpcap to GROUP]),
2344 if test "x$withval" = "xyes"; then
2345 AC_MSG_ERROR([No dumpcap group specified.])
2346 elif test "x$withval" != "xno"; then
2347 if test "x$enable_dumpcap" = "xno" ; then
2348 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
2350 AC_MSG_RESULT($withval)
2351 DUMPCAP_GROUP="$withval"
2354 AC_SUBST(DUMPCAP_GROUP)
2355 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
2357 dnl libcap (not libpcap) check
2359 AC_MSG_CHECKING(whether to use the libcap capabilities library)
2362 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
2363 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
2365 if test "x$withval" = "xno"; then
2367 elif test "x$withval" = "xyes"; then
2369 elif test -d "$withval"; then
2371 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2374 if test "x$with_libcap" = "xno" ; then
2378 AC_WIRESHARK_LIBCAP_CHECK
2380 AC_SUBST(LIBCAP_LIBS)
2382 dnl Checks for header files.
2383 dnl Some of these may not be needed: http://hacks.owlfolio.org/header-survey/
2384 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)
2385 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)
2386 AC_CHECK_HEADERS(netinet/in.h)
2387 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
2391 AC_MSG_CHECKING(whether to use SSL library)
2394 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
2395 [use SSL crypto library (located in directory DIR, if supplied) @<:@default=no@:>@]),
2397 if test "x$withval" = "xno"; then
2399 elif test "x$withval" = "xyes"; then
2401 elif test -d "$withval"; then
2403 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2408 if test "x$want_ssl" = "xyes"; then
2410 AC_CHECK_LIB(crypto,EVP_md5,
2415 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
2423 AC_MSG_CHECKING(whether to use Kerberos library)
2426 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
2427 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
2429 if test $withval = no
2432 elif test $withval = yes
2441 # Use Kerberos library if available, otherwise don't.
2443 want_krb5=ifavailable
2446 if test "x$want_krb5" = "xno" ; then
2450 AC_WIRESHARK_KRB5_CHECK
2456 AC_MSG_CHECKING(whether to use the c-ares library if available)
2459 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
2460 [use c-ares (located in directory DIR, if supplied) - supersedes --with-adns @<:@default=yes, if present@:>@]),
2462 if test "x$withval" = "xno"; then
2464 elif test "x$withval" = "xyes"; then
2466 elif test -d "$withval"; then
2468 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2471 if test "x$want_c_ares" = "xno" ; then
2475 AC_WIRESHARK_C_ARES_CHECK
2477 AC_SUBST(C_ARES_LIBS)
2481 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
2484 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
2485 [use GNU ADNS (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2487 if test "x$withval" = "xno"; then
2489 elif test "x$withval" = "xyes"; then
2491 elif test -d "$withval"; then
2493 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2496 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
2500 AC_WIRESHARK_ADNS_CHECK
2506 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
2509 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
2510 [use GeoIP (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2512 if test "x$withval" = "xno"; then
2514 elif test "x$withval" = "xyes"; then
2516 elif test -d "$withval"; then
2518 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2521 if test "x$want_geoip" = "xno"; then
2525 AC_WIRESHARK_GEOIP_CHECK
2527 AC_SUBST(GEOIP_LIBS)
2530 # Define WS_MSVC_NORETURN appropriately for declarations of routines that
2531 # never return (just like Charlie on the MTA).
2533 # Note that MSVC++ expects __declspec(noreturn) to precede the function
2534 # name and GCC, as far as I know, expects __attribute__((noreturn)) to
2535 # follow the function name, so we need two different flavors of
2538 AC_DEFINE(WS_MSVC_NORETURN,, [Define as the string to precede declarations of routines that never return])
2540 dnl Checks for typedefs, structures, and compiler characteristics.
2543 # Check how we can get the time zone abbreviation
2544 AC_WIRESHARK_TIMEZONE_ABBREV
2546 # We need to know whether "struct stat" has an "st_flags" member
2547 # for file_user_immutable().
2549 AC_WIRESHARK_STRUCT_ST_FLAGS
2551 # We need to know whether "struct sockaddr" has an "sa_len" member
2552 # for get_interface_list().
2554 AC_WIRESHARK_STRUCT_SA_LEN
2556 # We must know our byte order
2559 # Checks whether "-traditional" is needed when using "ioctl".
2560 # XXX - do we need this?
2561 AC_PROG_GCC_TRADITIONAL
2563 AC_CHECK_FUNC(getopt,
2566 AC_DEFINE(HAVE_GETOPT, 1, [Define to 1 if you have the getopt function.])
2568 GETOPT_LO="wsgetopt.lo")
2571 AC_CHECK_FUNC(strncasecmp,
2573 STRNCASECMP_INCLUDES=""
2575 AC_DEFINE(HAVE_STRNCASECMP, 1, [Define to 1 if you have the strncasecmp function.])
2578 STRNCASECMP_INCLUDES="strncasecmp.h"
2579 STRNCASECMP_LO="strncasecmp.lo"
2581 AC_SUBST(STRNCASECMP_INCLUDES)
2582 AC_SUBST(STRNCASECMP_LO)
2584 AC_CHECK_FUNCS(mkstemp mkdtemp)
2586 AC_SEARCH_LIBS(inet_aton, [socket nsl],
2589 AC_DEFINE(HAVE_INET_ATON, 0, [Define to 1 if you have the inet_aton function.])
2591 INET_ATON_LO="inet_aton.lo")
2592 AC_SUBST(INET_ATON_LO)
2594 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
2595 dnl check for pre-BIND82 inet_pton() bug.
2596 AC_MSG_CHECKING(for broken inet_pton)
2597 AC_TRY_RUN([#include <sys/types.h>
2598 #include <sys/socket.h>
2599 #include <netinet/in.h>
2600 #include <arpa/inet.h>
2605 /* this should return 0 (error) */
2606 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
2610 }], [AC_MSG_RESULT(ok);
2611 have_inet_pton=yes], [AC_MSG_RESULT(broken);
2612 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
2613 have_inet_pton=no])],
2615 if test "$have_inet_pton" = no; then
2616 INET_PTON_LO="inet_pton.lo"
2620 AM_CONDITIONAL(NEED_INET_PTON_LO, test "x$have_inet_pton" = "xno")
2621 AC_SUBST(INET_PTON_LO)
2623 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
2624 AC_MSG_CHECKING([for inet_ntop prototype])
2625 AC_TRY_COMPILE([#include <stdio.h>
2626 #include <sys/types.h>
2627 #include <sys/socket.h>
2628 #include <netinet/in.h>
2629 #include <arpa/inet.h>
2631 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
2633 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2634 [Define if inet_ntop() prototype exists])], [
2635 AC_TRY_COMPILE([#include <stdio.h>
2636 #include <sys/types.h>
2637 #include <sys/socket.h>
2638 #include <netinet/in.h>
2639 #include <arpa/inet.h>
2641 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
2643 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2644 [Define if inet_ntop() prototype exists])], [
2645 AC_MSG_RESULT(no)])])
2647 INET_NTOP_LO="inet_ntop.lo"
2648 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
2649 [Define if inet/v6defs.h needs to be included])])
2650 AM_CONDITIONAL(NEED_INET_NTOP_LO, test "x$INET_NTOP_LO" != "x")
2651 AC_SUBST(INET_NTOP_LO)
2653 AC_CHECK_FUNC(strptime,
2656 AC_DEFINE(HAVE_STRPTIME, 1, [Define if you have the strptime function.])
2658 STRPTIME_LO="strptime.lo")
2659 AC_SUBST(STRPTIME_LO)
2661 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
2662 AC_CHECK_FUNCS(issetugid)
2663 AC_CHECK_FUNCS(mmap mprotect sysconf)
2665 dnl blank for now, but will be used in future
2666 AC_SUBST(wireshark_SUBDIRS)
2668 # Check Bluetooth SBC codec for RTP Player
2669 # git://git.kernel.org/pub/scm/bluetooth/sbc.git
2670 PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
2671 if (test "${have_sbc}" = "yes"); then
2672 AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
2673 CFLAGS="$CFLAGS $(pkg-config sbc --cflags)"
2674 LIBS="$LIBS $(pkg-config sbc --libs)"
2678 dnl check whether plugins should be enabled and, if they should be,
2679 dnl check for plugins directory - stolen from Amanda's configure.ac
2681 dnl we don't wish to expand ${libdir} yet
2682 plugindir='${libdir}/wireshark/plugins/${VERSION}'
2683 AC_ARG_WITH(plugins,
2684 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
2685 [support plugins (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2687 if test "x$withval" = "xno"; then
2689 elif test "x$have_plugins" = "xno"; then
2690 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
2691 elif test "x$withval" != "xyes"; then
2692 plugindir="$withval"
2695 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2696 if test x$have_plugins = xyes
2698 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2701 CPPFLAGS="$CPPFLAGS '-DPLUGIN_INSTALL_DIR=\"\$(plugindir)\"'"
2704 # The plugin dissectors reside in ./plugins/PROTO/
2707 AC_SUBST(PLUGIN_LIBS)
2710 dnl Use extcap by default
2711 extcapdir='${datadir}/wireshark/extcap/'
2713 AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@],
2714 [use extcap for external capture sources (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2716 if test "x$withval" = "xno"; then
2718 elif test "x$withval" = "xyes"; then
2720 elif test "x$withval" != "xyes"; then
2722 extcapdir ="$withval"
2727 AM_CONDITIONAL(HAVE_EXTCAP, test "x$have_extcap" = "xyes")
2728 if test "x$have_extcap" = "xyes"
2730 AC_DEFINE(HAVE_EXTCAP, 1, [Define if external capture sources should be enabled])
2731 AC_DEFINE_UNQUOTED(EXTCAP_DIR,"$extcapdir", [Directory for extcap plugins])
2736 # Check if (emem) memory allocations must be 8-byte aligned.
2737 # I haven't been able to write C code that reliably makes that determination
2738 # (different versions of GCC with or without optimization give different
2739 # results) so just assume everything except (32-bit) x86 needs 8-byte
2740 # alignment (64-bit platforms either require 8-byte alignment for pointers
2741 # and 64-bit integral data types or may get better performance from that;
2742 # 64-bit x86 will get 8-byte alignment from G_MEM_ALIGN anyway. 32-bit
2743 # platforms would only require it, or get better performance from it,
2744 # for 64-bit floating-point values.).
2746 AC_MSG_CHECKING(whether we need memory allocations to be 8-byte aligned)
2748 i386|i486|i586|i686)
2753 AC_DEFINE(NEED_8_BYTE_ALIGNMENT, 1, [Define if we need memory allocations to be 8-byte aligned])
2759 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
2760 # (autoconf? automake? libtool?) - with the newer version(s), it's
2761 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
2763 # With older version(s) of those tool(s), however, it's not just an
2764 # alias, and the configure scripts don't work without it.
2767 AC_SUBST(LIBTOOL_DEPS)
2769 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2770 if test x$enable_static = xyes -a x$have_plugins = xyes
2772 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
2774 AC_SUBST(ENABLE_STATIC)
2776 # Gather which GUI we're building for rpmbuild
2777 if test "x$have_gtk" = "xyes"; then
2778 if test "x$with_gtk3" = "xyes"; then
2779 RPMBUILD_WITH_ARGS="--with gtk3 --without gtk2"
2781 RPMBUILD_WITH_ARGS="--without gtk3 --with gtk2"
2784 RPMBUILD_WITH_ARGS="--without gtk2 --without gtk3"
2786 if test "x$have_qt" = "xyes" ; then
2787 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
2789 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt"
2791 AC_SUBST(RPMBUILD_WITH_ARGS)
2793 dnl Save the cacheable configure results to config.cache before recursing
2796 sinclude(plugins/Custom.m4) dnl
2797 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
2799 sinclude(asn1/Custom.m4) dnl
2800 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2802 AC_CONFIG_HEADERS(config.h)
2807 _CUSTOM_ASN1_AC_OUTPUT_
2808 asn1/acp133/Makefile
2810 asn1/ansi_map/Makefile
2811 asn1/ansi_tcap/Makefile
2812 asn1/atn-cm/Makefile
2813 asn1/atn-cpdlc/Makefile
2814 asn1/atn-ulcs/Makefile
2818 asn1/charging_ase/Makefile
2823 asn1/credssp/Makefile
2831 asn1/gprscdr/Makefile
2832 asn1/gsm_map/Makefile
2841 asn1/h450-ros/Makefile
2844 asn1/HI2Operations/Makefile
2849 asn1/isdn-sup/Makefile
2850 asn1/kerberos/Makefile
2853 asn1/logotypecertextn/Makefile
2857 asn1/lte-rrc/Makefile
2860 asn1/mpeg-audio/Makefile
2861 asn1/mpeg-pes/Makefile
2863 asn1/ns_cert_exts/Makefile
2864 asn1/novell_pkis/Makefile
2872 asn1/pkcs12/Makefile
2873 asn1/pkinit/Makefile
2874 asn1/pkixac/Makefile
2875 asn1/pkix1explicit/Makefile
2876 asn1/pkix1implicit/Makefile
2877 asn1/pkixproxy/Makefile
2878 asn1/pkixqualified/Makefile
2879 asn1/pkixtsp/Makefile
2882 asn1/q932-ros/Makefile
2893 asn1/sbc-ap/Makefile
2896 asn1/spnego/Makefile
2904 asn1/wlancertextn/Makefile
2906 asn1/x509af/Makefile
2907 asn1/x509ce/Makefile
2908 asn1/x509if/Makefile
2909 asn1/x509sat/Makefile
2912 capchild/doxygen.cfg
2914 caputils/doxygen.cfg
2920 epan/dfilter/Makefile
2921 epan/dissectors/Makefile
2922 epan/dissectors/dcerpc/Makefile
2923 epan/dissectors/pidl/Makefile
2924 epan/ftypes/Makefile
2925 epan/nghttp2/Makefile
2938 packaging/macosx/Info.plist
2939 packaging/macosx/Makefile
2940 packaging/macosx/osx-dmg.sh
2941 packaging/macosx/Wireshark_package.pmdoc/index.xml
2942 packaging/nsis/Makefile
2943 packaging/rpm/Makefile
2944 packaging/rpm/SPECS/Makefile
2945 packaging/rpm/SPECS/wireshark.spec
2946 packaging/svr4/Makefile
2947 packaging/svr4/checkinstall
2948 packaging/svr4/pkginfo
2950 plugins/docsis/Makefile
2951 plugins/easy_codec/Makefile
2952 plugins/ethercat/Makefile
2953 plugins/gryphon/Makefile
2954 plugins/irda/Makefile
2955 plugins/m2m/Makefile
2956 plugins/mate/Makefile
2957 plugins/opcua/Makefile
2958 plugins/profinet/Makefile
2959 plugins/stats_tree/Makefile
2960 plugins/unistim/Makefile
2961 plugins/wimax/Makefile
2962 plugins/wimaxasncp/Makefile
2963 plugins/wimaxmacphy/Makefile
2965 tools/lemon/Makefile
2971 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
2976 if test "x$have_gtk" = "xyes"; then
2977 if test "x$with_gtk3" = "xyes"; then
2978 gtk_lib_message=" (with GTK+ 3"
2980 gtk_lib_message=" (with GTK+ 2"
2982 if test "x$have_ige_mac" = "xyes"; then
2983 gtk_lib_message="$gtk_lib_message and Mac OS X integration)"
2985 gtk_lib_message="$gtk_lib_message)"
2989 if test "x$have_qt" = "xyes" ; then
2990 enable_wireshark_qt="yes"
2992 enable_wireshark_qt="no"
2995 if test "x$enable_setcap_install" = "xyes" ; then
2996 setcap_message="yes"
3001 if test "x$enable_setuid_install" = "xyes" ; then
3002 setuid_message="yes"
3007 if test "x$DUMPCAP_GROUP" = "x" ; then
3008 dumpcap_group_message="(none)"
3010 dumpcap_group_message="$DUMPCAP_GROUP"
3013 if test "x$want_zlib" = "xno" ; then
3019 if test "x$want_lua" = "xyes" ; then
3025 if test "x$want_portaudio" = "xyes" ; then
3026 portaudio_message="yes"
3028 portaudio_message="no"
3031 if test "x$want_ssl" = "xno" ; then
3037 if test "x$want_krb5" = "xno" ; then
3040 krb5_message="yes ($ac_krb5_version)"
3043 if test "x$have_good_c_ares" = "xyes" ; then
3044 c_ares_message="yes"
3049 if test "x$have_good_adns" = "xyes" ; then
3052 if test "x$have_good_c_ares" = "xyes" ; then
3053 adns_message="no (using c-ares instead)"
3059 if test "x$have_good_libcap" = "xyes" ; then
3060 libcap_message="yes"
3065 if test "x$have_good_geoip" = "xyes" ; then
3072 echo "The Wireshark package has been configured with the following options."
3073 echo " Build wireshark : $enable_wireshark_qt"
3074 echo " Build wireshark-gtk : $have_gtk""$gtk_lib_message"
3075 echo " Build tshark : $enable_tshark"
3076 echo " Build tfshark : $enable_tfshark"
3077 echo " Build capinfos : $enable_capinfos"
3078 echo " Build captype : $enable_captype"
3079 echo " Build editcap : $enable_editcap"
3080 echo " Build dumpcap : $enable_dumpcap"
3081 echo " Build mergecap : $enable_mergecap"
3082 echo " Build reordercap : $enable_reordercap"
3083 echo " Build text2pcap : $enable_text2pcap"
3084 echo " Build randpkt : $enable_randpkt"
3085 echo " Build dftest : $enable_dftest"
3086 echo " Build rawshark : $enable_rawshark"
3087 echo " Build echld : $have_echld"
3089 echo " Save files as pcap-ng by default : $enable_pcap_ng_default"
3090 echo " Install dumpcap with capabilities : $setcap_message"
3091 echo " Install dumpcap setuid : $setuid_message"
3092 echo " Use dumpcap group : $dumpcap_group_message"
3093 echo " Use plugins : $have_plugins"
3094 echo " Use external capture sources : $have_extcap"
3095 echo " Use Lua library : $lua_message"
3096 echo " Build rtp_player : $portaudio_message"
3097 echo " Build profile binaries : $enable_profile_build"
3098 echo " Use pcap library : $want_pcap"
3099 echo " Use zlib library : $zlib_message"
3100 echo " Use kerberos library : $krb5_message"
3101 echo " Use c-ares library : $c_ares_message"
3102 echo " Use GNU ADNS library : $adns_message"
3103 echo " Use SMI MIB library : $libsmi_message"
3104 echo " Use GNU crypto library : $gcrypt_message"
3105 echo " Use SSL crypto library : $ssl_message"
3106 echo " Use IPv6 name resolution : $enable_ipv6"
3107 echo " Use gnutls library : $tls_message"
3108 echo " Use POSIX capabilities library : $libcap_message"
3109 echo " Use GeoIP library : $geoip_message"
3110 echo " Use nl library : $libnl_message"
3111 echo " Use SBC codec library : $have_sbc"