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 # Look for the oldest SDK we can find that's
362 # for an OS equal to or later than this one.
364 # XXX - for 10.4, do we need 10.4u? We're
365 # not currently doing fat builds (we'd need
366 # fat versions of the support libraries for
367 # that to be useful), but, if we do, we'd
372 # Get the real version - strip off the "10.".
373 # We'll worry about that if, as, and when there's ever
376 deploy_real_version=`echo "$deploy_target" | sed -n 's/10\.\(.*\)/\1/p'`
379 # Search each directory that might contain SDKs.
382 for sdksdir in /Developer/SDKs \
383 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \
384 /Library/Developer/CommandLineTools/SDKs
387 # Get a list of all the SDKs.
389 if ! test -d "$sdksdir"
392 # There is no directory with that name.
393 # Move on to the next one in the list,
400 # Get a list of all the SDKs in that directory,
403 # We have to use @<:@ for [ and @:>@ for ] to
404 # avoid m4 removing the square brackets.
406 sdklist=`(cd "$sdksdir"; ls -d MacOSX10.@<:@0-9@:>@*.sdk 2>/dev/null)`
411 # Get the real version for this SDK.
413 sdk_real_version=`echo "$sdk" | sed -n 's/MacOSX10\.\(.*\)\.sdk/\1/p'`
416 # Is it for the deployment target or
417 # some later release?
419 if test "$sdk_real_version" -ge "$deploy_real_version"
424 sdkpath="$sdksdir/$sdk"
429 if test -z "$sdkpath"
432 AC_MSG_ERROR([We couldn't find an SDK for OS X $deploy_target or later])
435 AC_MSG_RESULT([yes, with the 10.$sdk_real_version SDK])
440 # Add a -mmacosx-version-min flag to force tests that
441 # use the compiler, as well as the build itself, not to,
442 # for example, use compiler or linker features not supported
443 # by the minimum targeted version of the OS.
445 # Add an -isysroot flag to use the SDK.
447 CFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $CFLAGS"
448 CXXFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $CXXFLAGS"
449 LDFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $LDFLAGS"
452 # Add a -sdkroot flag to use with osx-app.sh.
454 OSX_APP_FLAGS="-sdkroot $SDKPATH"
457 # XXX - do we need this to build the Wireshark wrapper?
458 # XXX - is this still necessary with the -mmacosx-version-min
461 OSX_DEPLOY_TARGET="MACOSX_DEPLOYMENT_TARGET=$deploy_target"
464 # In the installer package XML file, give the deployment target
465 # as the minimum version.
467 OSX_MIN_VERSION="$deploy_target"
469 case $deploy_target in
473 # Only 32-bit builds are supported. 10.5
474 # (and 10.4?) had a bug that causes some BPF
475 # functions not to work with 64-bit userland
476 # code, so capturing won't work.
478 CFLAGS="-m32 $CFLAGS"
479 CXXFLAGS="-m32 $CXXFLAGS"
480 LDFLAGS="-m32 $LDFLAGS"
492 # In the installer package XML file, give the current OS
493 # version, minor version and all, as the minimum version.
494 # We can't guarantee that the resulting binary will work
495 # on older OS versions, not even older minor versions
496 # (original release or earlier software updates).
498 OSX_MIN_VERSION=`sw_vers -productVersion`
502 AC_SUBST(OSX_MIN_VERSION)
505 # Try to arrange for large file support.
510 # GUI toolkit options
513 AC_HELP_STRING( [--with-qt=@<:@yes/no@:>@],
514 [use Qt @<:@default=yes@:>@]),
515 with_qt="$withval", with_qt="unspecified")
518 AC_HELP_STRING( [--with-gtk2=@<:@yes/no@:>@],
519 [use GTK+ 2.0 @<:@default=no@:>@]),
520 with_gtk2="$withval", with_gtk2="unspecified")
523 AC_HELP_STRING( [--with-gtk3=@<:@yes/no@:>@],
524 [use GTK+ 3.0 instead of 2.0 @<:@default=yes@:>@]),
525 with_gtk3="$withval", with_gtk3="unspecified")
528 # Version 3.0 switched from LGPLv2.1+ to LGPLv3+, then switched back to
529 # LGPLv2.1+ in version 3.1.10.
530 # GnuTLS depends on GMP which switched from LGPLv2.1+ to LGPLv3+ in
531 # version 4.2.2, the switched to LGPLv3+ / GPLv2+ in version 6.0.0.
534 want_gnutls="if_available"
535 AC_ARG_WITH([gnutls],
536 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
537 [use GnuTLS library @<:@default=yes, if available@:>@]),
538 [ with_gnutls="$withval"; want_gnutls="yes" ], with_gnutls="yes")
540 if test "x$with_gnutls" = "xyes"; then
541 have_license_compatible_gnutls="no"
542 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 3.1.10 ],
543 [ have_license_compatible_gnutls="yes" ], [ echo "GnuTLS >= 3.1.10 not found " ]
546 if test "x$have_license_compatible_gnutls" != "xyes"; then
547 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0 gnutls < 3],
548 [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 1.2.0, < 3.0 not found " ]
552 if test "x$have_license_compatible_gnutls" = "xyes"; then
553 echo "GnuTLS found, enabling SSL decryption"
554 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use GnuTLS library])
557 echo "GnuTLS with compatible license not found, disabling SSL decryption"
560 # Error out if the user explicitly requested gnutls
561 if test "x$want_gnutls" = "xyes"; then
562 AC_MSG_ERROR([GnuTLS crypto library was requested, but is not available])
569 want_gcrypt="if_available"
570 AC_ARG_WITH([gcrypt],
571 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
572 [use gcrypt library @<:@default=yes, if available@:>@]),
573 [ with_gcrypt="$withval"; want_gcrypt="yes" ], with_gcrypt="yes")
575 if test "x$with_gcrypt" = "xyes"; then
576 AM_PATH_LIBGCRYPT(1.1.92,
578 echo "libgcrypt found, enabling ipsec decryption"
579 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
583 if test x$libgcrypt_config_prefix != x ; then
584 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
586 echo "libgcrypt not found, disabling ipsec decryption"
590 # Error out if the user explicitly requested gcrypt
591 if test "x$want_gcrypt" = "xyes"; then
592 AC_MSG_ERROR([libgcrypt library was requested, but is not available])
599 AC_HELP_STRING([--with-libnl@<:@=VERSION@:>@],
600 [use libnl (force version VERSION, if supplied) @<:@default: yes, if available@:>@]),
602 if test "x$withval" = "xno"
605 elif test "x$withval" = "xyes"
609 elif test "x$withval" = "x1"
613 elif test "x$withval" = "x2"
617 elif test "x$withval" = "x3"
622 AC_MSG_ERROR(["$withval" is not a valid argument to --with-libnl])
626 # Use libnl if it's present, otherwise don't.
628 want_libnl=ifavailable
632 # Libnl is Linux-specific.
637 AC_MSG_CHECKING(whether to use libnl for various network interface purposes)
639 if test x$want_libnl = "xno"; then
644 # Test for specific libnl versions only if no version
645 # was specified by the user or if the version in question
646 # was requested by the user.
648 if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then
649 PKG_CHECK_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no])
651 if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then
652 PKG_CHECK_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no])
654 if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then
655 PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no])
657 if (test "${have_libnl3}" = "yes"); then
658 CFLAGS="$CFLAGS $LIBNL3_CFLAGS"
659 LIBS="$LIBS $LIBNL3_LIBS"
660 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
661 AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
662 libnl_message="yes (v3)"
664 elif (test "${have_libnl2}" = "yes"); then
665 CFLAGS="$CFLAGS $LIBNL2_CFLAGS"
666 LIBS="$LIBS $LIBNL2_LIBS"
667 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
668 AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
669 libnl_message="yes (v2)"
671 elif (test "${have_libnl1}" = "yes"); then
672 CFLAGS="$CFLAGS $LIBNL1_CFLAGS"
673 LIBS="$LIBS $LIBNL1_LIBS"
674 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
675 AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
676 libnl_message="yes (v1)"
679 if test x$want_libnl = "xyes"; then
680 case "$libnl_version" in
683 AC_MSG_ERROR("I couldn't find libnl even though you manually enabled it.")
687 AC_MSG_ERROR("I couldn't find libnl version $libnl_version even though you manually enabled it.")
694 AC_MSG_CHECKING([if nl80211.h is new enough])
695 AC_TRY_COMPILE([#include <linux/nl80211.h>],
696 [int x = NL80211_FREQUENCY_ATTR_MAX_TX_POWER;
697 x = NL80211_ATTR_SUPPORTED_IFTYPES;
698 x = NL80211_ATTR_SUPPORTED_COMMANDS;
699 x = NL80211_ATTR_WIPHY_FREQ;
700 x = NL80211_CHAN_NO_HT;],
701 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211, 1, [nl80211.h is new enough])],
704 AC_MSG_CHECKING([for NL80211_SET_CHANNEL])
705 AC_TRY_COMPILE([#include <linux/nl80211.h>],
706 [enum nl80211_commands x = NL80211_CMD_SET_CHANNEL;],
707 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_CMD_SET_CHANNEL, 1, [SET_CHANNEL is supported])],
710 AC_MSG_CHECKING([for NL80211_SPLIT_WIPHY_DUMP])
711 AC_TRY_COMPILE([#include <linux/nl80211.h>],
712 [enum nl80211_protocol_features x = NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP;],
713 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_SPLIT_WIPHY_DUMP, 1, [SPLIT_WIPHY_DUMP is supported])],
718 if test x$want_libnl != "xno" -a x$want_libnl != "xifavailable"; then
719 AC_MSG_WARN([libnl is Linux-specific, ignoring --with-libnl])
724 # FIXME: currently the path argument to with-libsmi is being ignored
728 # Check for programs used when building DocBook documentation.
731 # Check for a2x (convert asciidoc to another format)
732 AC_PATH_PROG(A2X, a2x)
733 AC_CHECK_PROG(HAVE_A2X, a2x, "yes", "no")
734 AM_CONDITIONAL(HAVE_A2X, test x$HAVE_A2X = xyes)
736 # Want to control a tape drive? Use mt. Want to convert HTML to text?
737 # Uhhhhh... elinks? lynx? w3m? pandoc? html2text?
738 AC_PATH_PROG(ELINKS, elinks)
739 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
740 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
742 # Check for fop (translate .fo to e.g. pdf)
743 AC_PATH_PROG(FOP, fop)
744 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
745 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
747 # Check for lynx (html -> text)
748 AC_PATH_PROG(LYNX, lynx)
749 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
750 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
752 # Check for w3m (html -> text)
753 AC_PATH_PROG(W3M, w3m)
754 AC_CHECK_PROG(HAVE_W3M, w3m, "yes", "no")
755 AM_CONDITIONAL(HAVE_W3M, test x$HAVE_W3M = xyes)
758 AC_PATH_PROG(XMLLINT, xmllint)
759 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
760 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
763 AC_PATH_PROG(XSLTPROC, xsltproc)
764 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
765 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
768 # Check for packaging utilities
769 # For now, we check to see if the various packaging utilites are in our
770 # path. I'm too lazy to write code to go hunt for them. - Gerald
774 # (Lets you install the desktop files.)
776 AC_PATH_PROG(DESKTOP_FILE_INSTALL, desktop-file-install)
779 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
780 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
781 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
783 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
784 -a x$HAVE_PKGTRANS = xyes ; then
785 HAVE_SVR4_PACKAGING=yes
787 HAVE_SVR4_PACKAGING=no
789 AC_SUBST(HAVE_SVR4_PACKAGING)
792 AC_WIRESHARK_RPM_CHECK
796 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
799 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
800 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
801 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
803 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
804 -a x$HAVE_BLESS = xyes ; then
805 HAVE_OSX_PACKAGING=yes
807 HAVE_OSX_PACKAGING=no
809 AC_SUBST(HAVE_OSX_PACKAGING)
812 # Some compilers have to be told to fail when passed an unknown -W flag;
813 # make sure we do that.
815 AC_WIRESHARK_CHECK_UNKNOWN_WARNING_OPTION_ERROR
818 # Some C++ compilers have to be told to fail when passed a -W flag that
819 # they don't think should apply to C++; make sure we do that.
821 AC_WIRESHARK_CHECK_NON_CXX_WARNING_OPTION_ERROR
824 # Try to add some additional checks to CFLAGS.
825 # These are not enabled by default, because the warnings they produce
826 # are very hard or impossible to eliminate.
828 AC_ARG_ENABLE(extra-compiler-warnings,
829 AC_HELP_STRING( [--enable-extra-compiler-warnings],
830 [do additional compiler warnings @<:@default=no@:>@]),
832 wireshark_extra_flags=$enableval
833 if test $enableval != no
836 # The following are for C and C++
838 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-pedantic)
840 # Various code blocks this one.
842 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Woverflow)
843 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
845 # Due to various places where APIs we don't control
846 # require us to cast away constness, we can probably
847 # never enable this one with -Werror.
849 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-qual)
851 # Some generated ASN.1 dissectors block this one;
852 # multiple function declarations for the same
853 # function are being generated.
855 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wredundant-decls)
857 # Some loops are safe, but it's hard to convince the
860 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunsafe-loop-optimizations)
862 # All the registration functions block these for now.
864 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-prototypes)
865 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wmissing-declarations)
867 # A bunch of "that might not work on SPARC" code blocks
870 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wcast-align)
872 # Works only with Clang
874 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunreachable-code)
876 # Works only with Clang but generates a lot of warnings
877 # (about glib library not using Doxygen)
879 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdocumentation)
882 # The following are C only, not C++
884 # Due to various places where APIs we don't control
885 # require us to cast away constness, we can probably
886 # never enable this one with -Werror.
888 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wbad-function-cast, C)
893 # The following are for C and C++
895 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
896 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wextra) # -W is now known as -Wextra
897 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wendif-labels)
898 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpointer-arith)
899 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Warray-bounds)
900 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wformat-security)
901 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fwrapv)
902 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-strict-overflow)
903 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fno-delete-null-pointer-checks)
904 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wvla)
905 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Waddress)
906 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wattributes)
907 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdiv-by-zero)
908 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
909 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
910 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
911 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wwrite-strings)
912 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
913 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
916 # The following are C only, not C++
918 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wc++-compat, C)
919 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wdeclaration-after-statement, C)
924 # Make sure -Wshadow doesn't complain about variables in function and
925 # function pointer declarations shadowing other variables; if not, don't
926 # turn it on, as some versions of GCC (including the one in at least
927 # some Xcode versions that came with Mac OS X 10.5) complain about
930 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshadow, C,
932 extern int bar(int a);
938 int (*fptr)(int a) = bar;
943 [warns about variables in function declarations shadowing other variables])
945 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-pointer-sign, C)
946 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wold-style-definition, C)
947 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wstrict-prototypes, C)
949 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
950 # is given a constant string.
951 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
952 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wlogical-op, C,
956 int foo(const char *, int);
960 foo(const char *sep, int c)
962 if (strchr (sep, c) != NULL)
971 return foo("<", 'a');
974 [generates warnings from strchr()])
976 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wjump-misses-init, C)
977 # The Qt headers generate a ton of shortening errors on 64-bit systems
978 # so only enable this for C for now.
979 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wshorten-64-to-32, C)
982 # Use the faster pre gcc 4.5 floating point precision if available.
984 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fexcess-precision=fast)
987 # Try to have the compiler default to hiding symbols, so that only
988 # symbols explicitly exported with WS_DLL_PUBLIC will be visible
989 # outside (shared) libraries; that way, more UN*X builds will catch
990 # failures to export symbols, rather than having that fail only on
993 CFLAGS_before_fvhidden="$CFLAGS"
995 # GCC and GCC-compatible compilers
997 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
998 if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
1003 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
1004 if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
1006 # TODO add other ways of hiding symbols
1007 AC_MSG_WARN(Compiler will export all symbols from shared libraries)
1011 AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
1012 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
1013 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
1014 # AC_WIRESHARK_LDFLAGS_CHECK([-flto])
1015 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
1016 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
1019 # Put -fPIE in PIE_CFLAGS and -pie in PIE_LDFLAGS if we can use them,
1020 # so that we can build dumpcap PIE - it may run with elevated
1021 # privileges, and using PIE means the OS can run it at random locations
1022 # in the address space to make attacks more difficult.
1024 CFLAGS_before_pie="$CFLAGS"
1025 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE)
1026 if test "x$CFLAGS" != "x$CFLAGS_before_pie"
1029 CFLAGS="$CFLAGS_before_pie"
1031 LDFLAGS_before_pie="$LDFLAGS"
1032 AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
1033 if test "x$LDFLAGS" != "x$LDFLAGS_before_pie"
1040 LDFLAGS="$LDFLAGS_before_pie"
1044 AC_SUBST(PIE_CFLAGS)
1045 AC_SUBST(PIE_LDFLAGS)
1047 CFLAGS_before_simd="$CFLAGS"
1048 AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
1049 if test "x$CFLAGS" != "x$CFLAGS_before_simd"
1051 AC_MSG_CHECKING([whether there is nmmintrin.h header])
1054 [#include <nmmintrin.h>],
1058 AC_DEFINE(HAVE_SSE4_2, 1, [Support SSSE4.2 (Streaming SIMD Extensions 4.2) instructions])
1059 CFLAGS_SSE42="-msse4.2"
1060 AC_MSG_RESULT([yes])
1069 CFLAGS="$CFLAGS_before_simd"
1073 dnl build libwsutil_sse42 only if there is SSE4.2
1074 AM_CONDITIONAL(SSE42_SUPPORTED, test "x$have_sse42" = "xyes")
1075 AC_SUBST(CFLAGS_SSE42)
1078 # If we're running GCC or clang define _U_ to be "__attribute__((unused))"
1079 # so we can use _U_ to flag unused function parameters and not get warnings
1080 # about them. Otherwise, define _U_ to be an empty string so that _U_ used
1081 # to flag an unused function parameters will compile with other compilers.
1083 # XXX - similar hints for other compilers?
1085 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
1086 AC_DEFINE(_U_, __attribute__((unused)), [Hint to the compiler that a function parameters is not used])
1088 AC_DEFINE(_U_, , [Hint to the compiler that a function parameters is not used])
1091 # If we're running GCC or CLang, use FORTIFY_SOURCE=2
1092 # (only if the GCC 'optimization level' > 0).
1094 # See: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
1095 # See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979
1097 # Note: FORTIFY_SOURCE is only effective for gcc optimization level > 0 (-O1, etc)
1098 AC_WIRESHARK_GCC_FORTIFY_SOURCE_CHECK
1101 # If the compiler supports GCC-style flags, enable a barrier "stop on
1103 # This barrier is set for a very large part of the code. However, it is
1104 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
1106 warnings_as_errors_default="yes"
1107 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
1108 AC_ARG_ENABLE(warnings-as-errors,
1109 AC_HELP_STRING( [--enable-warnings-as-errors],
1110 [treat warnings as errors (only for GCC or clang) @<:@default=yes, unless extra compiler warnings are enabled@:>@]),
1112 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes"; then
1113 with_warnings_as_errors="yes"
1116 with_warnings_as_errors="no"
1121 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
1122 with_warnings_as_errors="yes"
1125 with_warnings_as_errors="no"
1130 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
1133 # Add any platform-specific compiler flags needed.
1135 AC_MSG_CHECKING(for platform-specific compiler flags)
1136 if test "x$GCC" = "xyes" ; then
1138 # GCC - do any platform-specific tweaking necessary.
1142 # the X11 headers don't automatically include prototype info
1143 # and a lot don't include the return type
1144 CPPFLAGS="$CPPFLAGS -DFUNCPROTO=15"
1145 CFLAGS="$CFLAGS -Wno-return-type"
1146 CXXFLAGS="$CXXFLAGS -Wno-return-type"
1147 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
1150 AC_MSG_RESULT(none needed)
1155 # Not GCC - assume it's the vendor's compiler.
1160 # HP's ANSI C compiler; flags suggested by Jost Martin.
1161 # "-Ae" for ANSI C plus extensions such as "long long".
1162 # "+O2", for optimization. XXX - works with "-g"?
1164 # HP's ANSI C++ compiler doesn't support "-Ae", but
1165 # does support "+O2", at least according to the
1166 # documentation I can find online.
1168 CFLAGS="-Ae +O2 $CFLAGS"
1169 CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
1170 CXXFLAGS="+O2 $CFLAGS"
1171 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
1174 AC_MSG_RESULT(none needed)
1180 # Add any platform-specific linker flags needed.
1182 AC_MSG_CHECKING(for platform-specific linker flags)
1186 # Add -Wl,-single_module to the LDFLAGS used with shared
1187 # libraries, to fix some error that show up in some cases;
1188 # some Apple documentation recommends it for most shared
1191 LDFLAGS_SHAREDLIB="-Wl,-single_module"
1193 # Add -Wl,-headerpad_max_install_names to the LDFLAGS, as
1194 # code-signing issues is running out of padding space.
1196 # Add -Wl,-search_paths_first to make sure that if we search
1197 # directories A and B, in that order, for a given library, a
1198 # non-shared version in directory A, rather than a shared
1199 # version in directory B, is chosen (so we can use
1200 # --with-pcap=/usr/local to force all programs to be linked
1201 # with a static version installed in /usr/local/lib rather than
1202 # the system version in /usr/lib).
1204 # Also add -Wl,-rpath,@executable_path/../lib and
1205 # -Wl,-rpath,/usr/local/lib, so that, if we build an app
1206 # bundle, we can tweak all the executable images, shared
1207 # libraries, and plugins in the bundle to look for non-system
1208 # libraries in the rpath, rather than having a script tweak
1209 # DYLD_LIBRARY_PATH.
1211 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"
1212 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])
1216 # Shared libraries in cygwin/Win32 must never contain
1217 # undefined symbols.
1219 LDFLAGS="$LDFLAGS -no-undefined"
1220 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
1223 AC_MSG_RESULT(none needed)
1226 AC_SUBST(LDFLAGS_SHAREDLIB)
1228 # Enable silent builds by default
1229 # Verbose builds can be enabled with "./configure
1230 # --enable-silent-rules ..." or "make V=1 ..."
1231 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
1232 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
1235 # On "Darwin", which we assume to mean "OS X" rather than "iOS" or
1236 # "just Darwin" (as we don't currently support iOS, and as I don't
1237 # think you can build and run "just Darwin" as an OS for PCs), we
1238 # arrange to build some programs with Application Services so they
1239 # can launch Web browsers and Finder windows, arrange to build some
1240 # programs with System Configuration so they can get "friendly names"
1241 # and other information about interfaces, and build any programs that
1242 # use either of those frameworks or that report version information
1243 # with Core Foundation as the frameworks in question use it and as we
1244 # get version information from plists and thus need Core Foundation
1245 # to process those plists.
1250 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
1251 APPLICATIONSERVICES_FRAMEWORKS="-framework ApplicationServices"
1252 SYSTEMCONFIGURATION_FRAMEWORKS="-framework SystemConfiguration"
1253 COREFOUNDATION_FRAMEWORKS="-framework CoreFoundation"
1256 # OK, so we have the OS X frameworks; do they include
1257 # CFPropertyListCreateWithStream, or do we have
1258 # to fall back on CFPropertyListCreateFromStream?
1259 # (They only differ in the error return, which we
1260 # don't care about. And, no, we shouldn't just
1261 # use CFPropertyListCreateFromStream, because it's
1262 # deprecated in newer releases.)
1264 ac_save_LIBS="$LIBS"
1265 LIBS="$LIBS $COREFOUNDATION_FRAMEWORKS"
1266 AC_CHECK_FUNCS(CFPropertyListCreateWithStream)
1267 LIBS="$ac_save_LIBS"
1270 AC_SUBST(APPLICATIONSERVICES_FRAMEWORKS)
1271 AC_SUBST(SYSTEMCONFIGURATION_FRAMEWORKS)
1272 AC_SUBST(COREFOUNDATION_FRAMEWORKS)
1275 # On Solaris, check whether we have getexecname().
1279 AC_CHECK_FUNC(getexecname)
1283 dnl Look in /usr/local for header files and libraries ?
1284 dnl XXX FIXME don't include /usr/local if it is already in the system
1285 dnl search path as this causes gcc 3.2 on Linux to complain about a change
1286 dnl of the system search order for includes
1287 AC_ARG_ENABLE(usr-local,
1288 AC_HELP_STRING( [--enable-usr-local],
1289 [look for headers and libs in /usr/local tree @<:@default=yes@:>@]),
1290 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
1292 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
1293 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
1294 if test -d "/usr/local"; then
1297 # Arrange that we search for header files in the source directory
1298 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
1299 # as various packages we use ("libpcap", "zlib", "adns")
1300 # may have been installed under "/usr/local/include".
1302 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
1305 # Arrange that we search for libraries in "/usr/local/lib".
1307 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
1316 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
1321 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
1322 if test x$LD_LIBRARY_PATH != x ; then
1323 LIBS="$LIBS -R$LD_LIBRARY_PATH"
1324 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
1326 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
1332 # Check for versions of "sed" inadequate to handle, in libtool, a list
1333 # of object files as large as the list in Wireshark.
1335 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
1336 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
1337 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
1338 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
1339 # is the only "sed" that comes with Solaris that can handle Wireshark.
1341 # Add any checks here that are necessary for other OSes.
1343 AC_PATH_PROG(SED, sed)
1346 AC_MSG_ERROR(I couldn't find sed; make sure it's installed and in your path)
1348 AC_WIRESHARK_GNU_SED_CHECK
1349 if test "$HAVE_GNU_SED" = no ; then
1352 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
1354 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
1356 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
1371 # Enable/disable wireshark
1372 AC_ARG_ENABLE(wireshark,
1373 AC_HELP_STRING( [--enable-wireshark],
1374 [build the Wireshark GUI (with Gtk+, Qt, or both) @<:@default=yes@:>@]),
1375 enable_wireshark=$enableval,enable_wireshark=yes)
1377 AC_ARG_ENABLE(packet-editor,
1378 AC_HELP_STRING( [--enable-packet-editor],
1379 [add support for packet editor in Wireshark @<:@default=yes@:>@]),
1380 enable_packet_editor=$enableval,enable_packet_editor=yes)
1381 if test x$enable_packet_editor = xyes; then
1382 AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
1385 AC_ARG_ENABLE(profile-build,
1386 AC_HELP_STRING( [--enable-profile-build],
1387 [build profile-ready binaries @<:@default=no@:>@]),
1388 enable_profile_build=$enableval,enable_profile_build=no)
1389 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
1390 AC_MSG_CHECKING(if profile builds must be generated)
1391 if test "x$enable_profile_build" = "xyes" ; then
1392 if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
1394 CFLAGS=" -pg $CFLAGS"
1395 CXXFLAGS=" -pg $CXXFLAGS"
1398 echo "Building profile binaries currently only supported for GCC and clang."
1404 # Create DATAFILE_DIR #define for config.h
1405 datafiledir=$datadir/wireshark
1407 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1408 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1409 # Ugly hack, but I don't see how this problem can be solved
1410 # properly that DATAFILE_DIR had a value starting with
1411 # "${prefix}/" instead of e.g. "/usr/local/"
1412 eval eval echo "$datafiledir"
1414 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
1416 # Create DOC_DIR #define for config.h
1418 test "x$prefix" = xNONE && prefix=$ac_default_prefix
1419 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
1420 # Ugly hack, but I don't see how this problem can be solved
1421 # properly that DOC_DIR had a value starting with
1422 # "${prefix}/" instead of e.g. "/usr/local/"
1423 eval eval echo "$docdir"
1425 AC_DEFINE_UNQUOTED(DOC_DIR, "$docdir", [Directory for docs])
1427 GTK2_MIN_VERSION=2.12.0
1428 AC_SUBST(GTK2_MIN_VERSION)
1429 GTK3_MIN_VERSION=3.0.0
1430 AC_SUBST(GTK3_MIN_VERSION)
1431 QT_MIN_VERSION=4.6.0
1432 AC_SUBST(QT_MIN_VERSION)
1433 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
1434 # GTK3_MIN_VERSION or later or Qt $QT_MIN_VERSION or later.
1436 # We only do those if we're going to be building Wireshark;
1437 # otherwise, we don't have any GUI to build, so we don't use
1440 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
1441 # force all programs to be built with GTK+ or Qt.
1443 # Release dates for GTK+ versions:
1444 # http://en.wikipedia.org/wiki/GTK+#Releases
1445 # 2.12.0: 14 Sep 2007
1446 # 2.14.0: 04 Sep 2008
1447 # 2.16.0: 13 Mar 2009
1448 # 2.18.0: 23 Sep 2009
1449 # 2.20.0: 23 Mar 2010
1450 # 2.22.0: 23 Sep 2010
1451 # 2.24.0: 30 Jan 2011
1452 # 3.0.0: 10 Feb 2011
1453 # 3.2.0: 25 Sep 2011
1454 # 3.4.0: 26 Mar 2012
1455 # 3.6.0: 24 Sep 2012
1456 # 3.8.0: 25 Mar 2013
1457 # 3.10.0: 23 Sep 2013
1458 # 3.12.0: 25 Mar 2014
1460 # Release dates for Qt versions:
1461 # http://en.wikipedia.org/wiki/List_of_Qt_releases
1462 # 4.6.0: 01 Dec 2009
1463 # 4.7.0: 21 Sep 2010
1464 # 4.8.0: 15 Dec 2011
1465 # 5.0.0: 19 Dec 2012
1466 # 5.1.0: 03 Jul 2013
1467 # 5.2.0: 12 Dec 2013
1468 # 5.3.0: 20 May 2014
1472 if test "x$enable_wireshark" = "xyes"; then
1473 if test "x$with_gtk2" = "xunspecified" -a \
1474 "x$with_gtk3" = "xunspecified" -a \
1475 "x$with_qt" = "xunspecified"; then
1477 # No GUI toolkit was explicitly specified; pick Qt and GTK+ 3.
1482 if test "x$with_qt" = "xyes"; then
1484 # Qt was specified; Make sure we have a C++ compiler.
1486 if test -z "$CXX"; then
1487 AC_MSG_ERROR(Need a working C++ compiler to build Wireshark with Qt)
1491 # Now make sure we have Qt and, if so, add the flags
1492 # for it to CFLAGS and CXXFLAGS.
1494 AC_WIRESHARK_QT_CHECK($QT_MIN_VERSION,
1496 CFLAGS="$CFLAGS $Qt_CFLAGS"
1497 CXXFLAGS="$CXXFLAGS $Qt_CFLAGS"
1499 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-qt"
1501 [AC_MSG_ERROR([Qt is not available])])
1504 # XXX - greasy hack to make ui/gtk/recent.c
1507 CPPFLAGS="-DQT_GUI_LIB"
1510 if test "x$with_gtk3" = "xyes"; then
1512 # GTK+ 3 was specified; make sure they didn't also
1513 # specify GTK+ 2, as we don't support building both
1514 # GTK+ 2 and GTK+ 3 versions at the same time.
1516 if test "x$with_gtk2" = "xyes"; then
1517 AC_MSG_ERROR([Both GTK+ 2 and GTK+ 3 were specified; choose one but not both])
1521 # Make sure we have GTK+ 3.
1523 AM_PATH_GTK_3_0(3.0.0,
1525 CFLAGS="$CFLAGS $GTK_CFLAGS"
1526 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1528 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk3"
1530 [AC_MSG_ERROR([GTK+ 3 is not available])])
1531 elif test "x$with_gtk2" = "xyes"; then
1533 # GTK+ 3 wasn't specified, and GTK+ 2 was specified;
1534 # make sure we have GTK+ 2.
1536 AM_PATH_GTK_2_0($GTK2_MIN_VERSION,
1538 CFLAGS="$CFLAGS $GTK_CFLAGS"
1539 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1541 GUI_CONFIGURE_FLAGS="$GUI_CONFIGURE_FLAGS --with-gtk2"
1543 [AC_MSG_ERROR([GTK+ 2 is not available])])
1546 AC_SUBST(GUI_CONFIGURE_FLAGS)
1548 GLIB_MIN_VERSION=2.16.0
1549 AC_SUBST(GLIB_MIN_VERSION)
1550 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1551 # support, as we need that for dynamically loading plugins.
1552 # If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because
1553 # AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a
1554 # superset of GLIB_CFLAGS. If we didn't find GTK+, it does add
1555 # GLIB_CFLAGS to CFLAGS.
1556 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
1557 # set when generating the Makefile, so we can make programs that require
1558 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
1559 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
1560 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
1561 # programs to be built with GLib.
1563 # Release dates for GLib versions:
1564 # 2.14.0: 03 Aug 2007
1565 # 2.16.0: 10 Mar 2008
1566 # 2.18.0: 02 Sep 2008
1567 # 2.20.0: 13 Mar 2009
1568 # 2.22.0: 22 Sep 2009
1569 # 2.24.0: 28 Mar 2010
1570 # 2.26.0: 27 Sep 2010
1571 # 2.28.0: 08 Feb 2011
1572 # 2.30.0: 27 Sep 2011
1573 # 2.32.0: 24 Mar 2012
1574 # 2.34.0: 24 Sep 2012
1575 # 2.36.0: 25 Mar 2013
1576 # 2.38.0: 23 Sep 2013
1577 # 2.40.0: 24 Mar 2014
1579 use_glib_cflags="true"
1580 if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
1581 # We have both GTK and Qt and thus will be building both wireshark
1582 # and wireshark-gtk.
1584 wireshark_bin="wireshark\$(EXEEXT) wireshark-gtk\$(EXEEXT)"
1585 wireshark_man="wireshark.1"
1586 wireshark_SUBDIRS="codecs ui/qt ui/gtk"
1588 if test "$have_gtk" = "no" -a "$have_qt" = "yes" ; then
1589 # We don't have GTK+ but we have Qt.
1591 wireshark_bin="wireshark\$(EXEEXT)"
1592 wireshark_man="wireshark.1"
1593 wireshark_SUBDIRS="codecs ui/qt"
1595 if test "$have_gtk" = "yes" -a "$have_qt" = "no" ; then
1596 # We have GTK+ but not Qt.
1598 wireshark_bin="wireshark-gtk\$(EXEEXT)"
1599 wireshark_man="wireshark.1"
1600 wireshark_SUBDIRS="codecs ui/gtk"
1601 use_glib_cflags="false"
1602 OSX_APP_FLAGS="$OSX_APP_FLAGS -gtk"
1603 OSX_DMG_FLAGS="-gtk"
1605 if test "$have_gtk" = "no" -a "$have_qt" = "no" ; then
1606 # We have neither GTK+ nor Qt.
1608 # If they didn't explicitly say "--disable-wireshark",
1609 # fail (so that, unless they explicitly indicated that
1610 # they don't want Wireshark, we stop so they know they
1611 # won't be getting Wireshark unless they fix the GTK+/Qt
1614 if test "x$enable_wireshark" = "xyes"; then
1615 if test "x$with_gtk3" = "xyes"; then
1616 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK3_MIN_VERSION or later are available, so Wireshark can't be compiled])
1618 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK2_MIN_VERSION or later are available, so Wireshark can't be compiled])
1625 if test "$have_gtk" = "yes" ; then
1626 # If we have GTK then add flags for it.
1628 CPPFLAGS="-DGDK_PIXBUF_DISABLE_DEPRECATED $CPPFLAGS"
1629 CPPFLAGS="-DGDK_DISABLE_DEPRECATED $CPPFLAGS"
1630 if test \( $gtk_config_major_version -eq 3 -a $gtk_config_minor_version -ge 10 \) ; then
1631 ## Allow use of deprecated & disable deprecated warnings if Gtk >= 3.10;
1632 ## The deprecations in Gtk 3.10 will not be fixed ...
1633 CPPFLAGS="-DGDK_DISABLE_DEPRECATION_WARNINGS $CPPFLAGS"
1635 CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
1637 CPPFLAGS="-DGTK_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1638 if test ! \( $gtk_config_major_version -eq 2 -a $gtk_config_minor_version -lt 20 \) ; then
1639 # Enable GSEAL when building with GTK > 2.20
1640 # (Versions prior to 2.22 lacked some necessary accessors.)
1641 CPPFLAGS="-DGSEAL_ENABLE $CPPFLAGS"
1645 # XXX - Is this really necessary? When we build with both Gtk+ and Qt it works...
1646 if test "$use_glib_cflags" = "true"; then
1648 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION,
1650 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1651 CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
1652 ], AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1654 # Don't use GLIB_CFLAGS
1655 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION, , AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1659 # "make dist" requires that we have the Qt build tools.
1661 # Annoyingly, at least on Fedora 16, uic and moc are named XXX-qt4
1662 # rather than just XXX, perhaps to allow Qt 3 and Qt 4 tools to be
1663 # installed; if they're still doing that in current Fedora releases,
1664 # perhaps there will also be XXX-qt5 when they pick up Qt 5.
1666 AC_PATH_PROG(UIC, uic)
1669 AC_PATH_PROG(UIC, uic-qt4)
1672 if test "x$with_qt" = "xyes"; then
1674 # If you want to build with Qt, you'd better
1677 AC_MSG_ERROR(I couldn't find uic or uic-qt4; make sure it's installed and in your path)
1680 # We shouldn't fail here, as the user's not
1681 # building with Qt, and we shouldn't force them
1682 # to have Qt installed if they're not doing so.
1683 # "make dist" will fail if they do that, but
1684 # we don't know whether they'll be doing that,
1685 # so this is the best we can do.
1692 AC_PATH_PROG(MOC, moc)
1695 AC_PATH_PROG(MOC, moc-qt4)
1698 if test "x$with_qt" = "xyes"; then
1700 # If you want to build with Qt, you'd better
1703 AC_MSG_ERROR(I couldn't find moc or moc-qt4; make sure it's installed and in your path)
1706 # We shouldn't fail here, as the user's not
1707 # building with Qt, and we shouldn't force them
1708 # to have Qt installed if they're not doing so.
1709 # "make dist" will fail if they do that, but
1710 # we don't know whether they'll be doing that,
1711 # so this is the best we can do.
1719 # Error out if a glib header other than a "top level" header
1720 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1722 CPPFLAGS="-DG_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1724 # Error out on the usage of deprecated glib functions
1725 CPPFLAGS="-DG_DISABLE_DEPRECATED $CPPFLAGS"
1728 # Check whether GLib modules are supported, to determine whether we
1729 # can support plugins.
1731 AC_MSG_CHECKING(whether GLib supports loadable modules)
1732 ac_save_CFLAGS="$CFLAGS"
1733 ac_save_LIBS="$LIBS"
1734 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1735 LIBS="$GLIB_LIBS $LIBS"
1738 #include <gmodule.h>
1745 if (g_module_supported())
1746 return 0; /* success */
1748 return 1; /* failure */
1750 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
1751 [echo $ac_n "cross compiling; assumed OK... $ac_c"
1752 ac_cv_glib_supports_modules=yes])
1753 CFLAGS="$ac_save_CFLAGS"
1754 LIBS="$ac_save_LIBS"
1755 if test "$ac_cv_glib_supports_modules" = yes ; then
1758 plugins_dir="plugins"
1764 AC_SUBST(plugins_dir)
1767 # If we have <dlfcn.h>, check whether we have dladdr.
1769 if test "$ac_cv_header_dlfcn_h" = "yes"
1772 # Use GLib compiler flags and linker flags; GLib's gmodule
1773 # stuff uses the dl APIs if available, so it might know
1774 # what flags are needed.
1776 ac_save_CFLAGS="$CFLAGS"
1777 ac_save_LIBS="$LIBS"
1778 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1779 LIBS="$GLIB_LIBS $LIBS"
1780 AC_CHECK_FUNCS(dladdr)
1781 if test x$ac_cv_func_dladdr = xno
1784 # OK, try it with -ldl, in case you need that to get
1785 # dladdr(). For some reason, on Linux, that's not
1786 # part of the GLib flags; perhaps GLib itself is
1787 # linked with libdl, so that you can link with
1788 # Glib and it'll pull libdl in itself.
1791 AC_CHECK_FUNCS(dladdr)
1793 CFLAGS="$ac_save_CFLAGS"
1794 LIBS="$ac_save_LIBS"
1798 # Check whether GLib's printf supports thousands grouping. (This might
1799 # be different from the system's printf since GLib can optionally use
1800 # its own printf implementation.)
1802 AC_MSG_CHECKING(whether GLib supports POSIX/XSI thousands grouping)
1803 ac_save_CFLAGS="$CFLAGS"
1804 ac_save_LIBS="$LIBS"
1805 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1806 LIBS="$GLIB_LIBS $LIBS"
1817 setlocale(LC_ALL, "en_US.UTF-8");
1818 str = g_strdup_printf("%'u", 123456);
1819 return (strcmp (str, "123,456") != 0);
1821 ], ac_cv_glib_supports_printf_grouping=yes, ac_cv_glib_supports_printf_grouping=no,
1822 [echo $ac_n "cross compiling; playing it safe... $ac_c"
1823 ac_cv_glib_supports_printf_grouping=no])
1824 CFLAGS="$ac_save_CFLAGS"
1825 LIBS="$ac_save_LIBS"
1826 if test "$ac_cv_glib_supports_printf_grouping" = yes ; then
1828 AC_DEFINE(HAVE_GLIB_PRINTF_GROUPING, 1, [Define if your printf() function supports thousands grouping.])
1833 if test "x$have_gtk" = "xyes"
1836 # We have GTK+; do we want the OS X integration functions and,
1837 # if so, do we have them and, if so, which versions do we have,
1838 # the old Carbon-based ones or the new Cocoa-based ones?
1840 AC_MSG_CHECKING(whether to use OS X integration functions)
1842 AC_ARG_WITH(osx-integration,
1843 AC_HELP_STRING( [--with-osx-integration],
1844 [use OS X integration functions @<:@default=yes, if available@:>@]),
1846 if test $withval = no
1848 want_osx_integration=no
1850 want_osx_integration=yes
1853 want_osx_integration=yes
1855 if test "x$want_osx_integration" = "xno"; then
1859 AC_WIRESHARK_OSX_INTEGRATION_CHECK
1863 AC_SUBST(wireshark_bin)
1864 AC_SUBST(wireshark_man)
1865 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1866 AM_CONDITIONAL(HAVE_GTK, test "$have_gtk" = "yes")
1867 AC_SUBST(OSX_APP_FLAGS)
1868 AC_SUBST(OSX_DMG_FLAGS)
1870 # Enable/disable tshark
1871 AC_ARG_ENABLE(tshark,
1872 AC_HELP_STRING( [--enable-tshark],
1873 [build tshark @<:@default=yes@:>@]),
1874 tshark=$enableval,enable_tshark=yes)
1876 if test "x$enable_tshark" = "xyes" ; then
1877 tshark_bin="tshark\$(EXEEXT)"
1878 tshark_man="tshark.1"
1879 wiresharkfilter_man="wireshark-filter.4"
1884 AC_SUBST(tshark_bin)
1885 AC_SUBST(tshark_man)
1887 # Enable/disable editcap
1889 AC_ARG_ENABLE(editcap,
1890 AC_HELP_STRING( [--enable-editcap],
1891 [build editcap @<:@default=yes@:>@]),
1892 enable_editcap=$enableval,enable_editcap=yes)
1894 if test "x$enable_editcap" = "xyes" ; then
1895 editcap_bin="editcap\$(EXEEXT)"
1896 editcap_man="editcap.1"
1901 AC_SUBST(editcap_bin)
1902 AC_SUBST(editcap_man)
1905 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1908 # Enable/disable capinfos
1910 AC_ARG_ENABLE(capinfos,
1911 AC_HELP_STRING( [--enable-capinfos],
1912 [build capinfos @<:@default=yes@:>@]),
1913 enable_capinfos=$enableval,enable_capinfos=yes)
1915 if test "x$enable_capinfos" = "xyes" ; then
1916 capinfos_bin="capinfos\$(EXEEXT)"
1917 capinfos_man="capinfos.1"
1922 AC_SUBST(capinfos_bin)
1923 AC_SUBST(capinfos_man)
1925 # Enable/disable captype
1927 AC_ARG_ENABLE(captype,
1928 AC_HELP_STRING( [--enable-captype],
1929 [build captype @<:@default=yes@:>@]),
1930 enable_captype=$enableval,enable_captype=yes)
1932 if test "x$enable_captype" = "xyes" ; then
1933 captype_bin="captype\$(EXEEXT)"
1934 captype_man="captype.1"
1939 AC_SUBST(captype_bin)
1940 AC_SUBST(captype_man)
1942 # Enable/disable mergecap
1944 AC_ARG_ENABLE(mergecap,
1945 AC_HELP_STRING( [--enable-mergecap],
1946 [build mergecap @<:@default=yes@:>@]),
1947 enable_mergecap=$enableval,enable_mergecap=yes)
1949 if test "x$enable_mergecap" = "xyes" ; then
1950 mergecap_bin="mergecap\$(EXEEXT)"
1951 mergecap_man="mergecap.1"
1956 AC_SUBST(mergecap_bin)
1957 AC_SUBST(mergecap_man)
1959 # Enable/disable reordercap
1961 AC_ARG_ENABLE(reordercap,
1962 AC_HELP_STRING( [--enable-reordercap],
1963 [build reordercap @<:@default=yes@:>@]),
1964 enable_reordercap=$enableval,enable_reordercap=yes)
1966 if test "x$enable_reordercap" = "xyes" ; then
1967 reordercap_bin="reordercap\$(EXEEXT)"
1968 reordercap_man="reordercap.1"
1973 AC_SUBST(reordercap_bin)
1974 AC_SUBST(reordercap_man)
1976 # Enable/disable text2pcap
1978 AC_ARG_ENABLE(text2pcap,
1979 AC_HELP_STRING( [--enable-text2pcap],
1980 [build text2pcap @<:@default=yes@:>@]),
1981 text2pcap=$enableval,enable_text2pcap=yes)
1983 if test "x$enable_text2pcap" = "xyes" ; then
1984 text2pcap_bin="text2pcap\$(EXEEXT)"
1985 text2pcap_man="text2pcap.1"
1990 AC_SUBST(text2pcap_bin)
1991 AC_SUBST(text2pcap_man)
1993 # Enable/disable dftest
1995 AC_ARG_ENABLE(dftest,
1996 AC_HELP_STRING( [--enable-dftest],
1997 [build dftest @<:@default=yes@:>@]),
1998 enable_dftest=$enableval,enable_dftest=yes)
2000 if test "x$enable_dftest" = "xyes" ; then
2001 dftest_bin="dftest\$(EXEEXT)"
2002 dftest_man="dftest.1"
2007 AC_SUBST(dftest_bin)
2008 AC_SUBST(dftest_man)
2010 # Enable/disable randpkt
2012 AC_ARG_ENABLE(randpkt,
2013 AC_HELP_STRING( [--enable-randpkt],
2014 [build randpkt @<:@default=yes@:>@]),
2015 enable_randpkt=$enableval,enable_randpkt=yes)
2017 if test "x$enable_randpkt" = "xyes" ; then
2018 randpkt_bin="randpkt\$(EXEEXT)"
2019 randpkt_man="randpkt.1"
2024 AC_SUBST(randpkt_bin)
2025 AC_SUBST(randpkt_man)
2027 AC_SUBST(wiresharkfilter_man)
2029 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
2030 dnl "gethostbyname()".
2031 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
2033 dnl Checks for "connect()", used as a proxy for "socket()" - and
2034 dnl "-lsocket", if we need it to get "connect()".
2035 AC_WIRESHARK_SOCKET_LIB_CHECK
2038 AC_MSG_CHECKING(whether to use libpcap for packet capture)
2041 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
2042 [use libpcap for packet capturing @<:@default=yes@:>@]),
2044 if test $withval = no
2047 elif test $withval = yes
2058 if test "x$want_pcap" = "xno" ; then
2062 AC_WIRESHARK_PCAP_CHECK
2066 dnl Check for airpcap
2067 AC_MSG_CHECKING(whether to include airpcap support)
2068 AC_ARG_ENABLE(airpcap,
2069 AC_HELP_STRING( [--enable-airpcap],
2070 [use AirPcap in Wireshark @<:@default=yes@:>@]),
2071 enable_airpcap=$enableval, enable_airpcap=yes)
2073 if test x$enable_airpcap = xyes; then
2074 if test "x$want_pcap" = "xno" ; then
2076 AC_MSG_RESULT(pcap not available - disabling airpcap)
2079 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
2087 AC_MSG_CHECKING(whether to build dumpcap)
2089 AC_ARG_ENABLE(dumpcap,
2090 AC_HELP_STRING( [--enable-dumpcap],
2091 [build dumpcap @<:@default=yes@:>@]),
2092 enable_dumpcap=$enableval,enable_dumpcap=yes)
2094 if test "x$enable_dumpcap" = "xyes" ; then
2095 if test "x$want_pcap" = "xno" ; then
2097 AC_MSG_RESULT(pcap not available - disabling dumpcap)
2105 if test "x$enable_dumpcap" = "xyes" ; then
2106 dumpcap_bin="dumpcap\$(EXEEXT)"
2107 dumpcap_man="dumpcap.1"
2112 AC_SUBST(dumpcap_bin)
2113 AC_SUBST(dumpcap_man)
2115 # Enable/disable rawshark
2118 AC_MSG_CHECKING(whether to build rawshark)
2120 AC_ARG_ENABLE(rawshark,
2121 AC_HELP_STRING( [--enable-rawshark],
2122 [build rawshark @<:@default=yes@:>@]),
2123 rawshark=$enableval,enable_rawshark=yes)
2125 if test "x$enable_rawshark" = "xyes" ; then
2126 if test "x$want_pcap" = "xno" ; then
2128 AC_MSG_RESULT(pcap not available - disabling rawshark)
2136 if test "x$enable_rawshark" = "xyes" ; then
2137 rawshark_bin="rawshark\$(EXEEXT)"
2138 rawshark_man="rawshark.1"
2143 AC_SUBST(rawshark_bin)
2144 AC_SUBST(rawshark_man)
2147 # Enable/disable echld
2148 AC_ARG_ENABLE(echld,
2149 AC_HELP_STRING( [--enable-echld],
2150 [support echld (Experimental) @<:@default=no@:>@]),
2151 have_echld=$enableval,have_echld=no)
2153 AM_CONDITIONAL(HAVE_ECHLD, test "x$have_echld" = "xyes")
2154 if test "x$have_echld" = "xyes"
2156 AC_DEFINE(HAVE_ECHLD, 1, [Define if echld is enabled])
2157 echld_test_bin="echld_test\$(EXEEXT)"
2164 AC_SUBST(echld_test_bin)
2167 # Enable/disable tfshark
2168 AC_ARG_ENABLE(tfshark,
2169 AC_HELP_STRING( [--enable-tfshark],
2170 [build tfshark (Experimental) @<:@default=no@:>@]),
2171 tfshark=$enableval,enable_tfshark=no)
2173 if test "x$enable_tfshark" = "xyes" ; then
2174 tfshark_bin="tfshark\$(EXEEXT)"
2175 tfshark_man="tfshark.1"
2176 wiresharkfilter_man="wireshark-filter.4"
2181 AC_SUBST(tfshark_bin)
2182 AC_SUBST(tfshark_man)
2185 dnl Use pcap-ng by default
2186 AC_ARG_ENABLE(pcap-ng-default,
2187 AC_HELP_STRING( [--enable-pcap-ng-default],
2188 [use the pcap-ng file format by default instead of pcap @<:@default=yes@:>@]),
2189 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
2190 if test x$enable_pcap_ng_default = xyes; then
2191 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcap-ng])
2194 dnl pcap remote check
2195 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
2197 AC_ARG_WITH(pcap-remote,
2198 AC_HELP_STRING([--with-pcap-remote],
2199 [use libpcap remote capturing (requires libpcap)]),
2201 if test $withval = no
2205 want_pcap_remote=yes
2210 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
2214 AC_WIRESHARK_PCAP_REMOTE_CHECK
2218 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
2221 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
2222 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
2224 if test "x$withval" = "xno"
2227 elif test "x$withval" = "xyes"
2236 # Use zlib if it's present, otherwise don't.
2238 want_zlib=ifavailable
2241 if test "x$want_zlib" = "xno" ; then
2245 AC_WIRESHARK_ZLIB_CHECK
2246 if test "x$want_zlib" = "xno" ; then
2247 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
2249 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
2250 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
2256 AC_MSG_CHECKING(whether to use liblua for the Lua scripting plugin)
2259 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
2260 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
2262 if test $withval = no
2265 elif test $withval = yes
2274 # Use liblua by default
2276 want_lua=ifavailable
2279 if test "x$want_lua" = "xno" ; then
2283 AC_WIRESHARK_LIBLUA_CHECK
2284 if test "x$want_lua" = "xno" ; then
2285 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
2288 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
2292 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
2294 AC_ARG_WITH(portaudio,
2295 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
2296 [use libportaudio (located in directory DIR, if supplied) for the rtp_player @<:@default=yes, if available@:>@]),
2298 if test $withval = no
2301 elif test $withval = yes
2306 portaudio_dir=$withval
2310 # Use libportaudio by default
2312 want_portaudio=ifavailable
2315 if test "x$want_portaudio" = "xno" ; then
2319 AC_WIRESHARK_LIBPORTAUDIO_CHECK
2320 if test "x$want_portaudio" = "xno" ; then
2321 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
2324 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
2329 AC_HELP_STRING( [--enable-ipv6],
2330 [use IPv6 name resolution, if available @<:@default=yes@:>@]),
2331 enable_ipv6=$enableval,enable_ipv6=yes)
2333 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
2334 if test "x$enable_ipv6" = "xno" ; then
2338 AC_WIRESHARK_IPV6_STACK
2342 dnl Check if dumpcap should be installed with filesystem capabilities
2343 AC_PATH_PROG(SETCAP, setcap)
2344 AC_ARG_ENABLE(setcap-install,
2345 AC_HELP_STRING( [--enable-setcap-install],
2346 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
2347 enable_setcap_install=$enableval,enable_setcap_install=no)
2349 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
2350 if test "x$enable_setcap_install" = "xno" ; then
2353 if test "x$SETCAP" = "x" ; then
2354 AC_MSG_RESULT(setcap not found)
2355 AC_MSG_ERROR([Setcap install was requested, but setcap was not found])
2356 elif test "x$enable_dumpcap" = "xno" ; then
2357 AC_MSG_RESULT(dumpcap disabled)
2358 AC_MSG_ERROR([Setcap install works only with dumpcap, but dumpcap is disabled])
2364 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
2366 dnl Check if dumpcap should be installed setuid
2367 AC_ARG_ENABLE(setuid-install,
2368 AC_HELP_STRING( [--enable-setuid-install],
2369 [install dumpcap as setuid @<:@default=no@:>@]),
2370 enable_setuid_install=$enableval,enable_setuid_install=no)
2372 AC_MSG_CHECKING(whether to install dumpcap setuid)
2373 if test "x$enable_setuid_install" = "xno" ; then
2376 if test "x$enable_setcap_install" = "xyes" ; then
2377 enable_setuid_install=no
2378 AC_MSG_RESULT(setcap and setuid both selected)
2379 AC_MSG_ERROR(You must choose one of setcap install and setuid install)
2380 elif test "x$enable_dumpcap" = "xno" ; then
2381 AC_MSG_RESULT(dumpcap disabled)
2382 AC_MSG_ERROR([Setuid install works only with dumpcap, but dumpcap is disabled])
2388 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
2389 AC_CHECK_FUNCS(setresuid setresgid)
2391 dnl ...but our Network Operations group is named "no"!
2393 AC_ARG_WITH(dumpcap-group,
2394 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
2395 [restrict dumpcap to GROUP]),
2397 if test "x$withval" = "xyes"; then
2398 AC_MSG_ERROR([No dumpcap group specified.])
2399 elif test "x$withval" != "xno"; then
2400 if test "x$enable_dumpcap" = "xno" ; then
2401 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
2403 AC_MSG_RESULT($withval)
2404 DUMPCAP_GROUP="$withval"
2407 AC_SUBST(DUMPCAP_GROUP)
2408 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
2410 dnl libcap (not libpcap) check
2412 AC_MSG_CHECKING(whether to use the libcap capabilities library)
2415 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
2416 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
2418 if test "x$withval" = "xno"; then
2420 elif test "x$withval" = "xyes"; then
2422 elif test -d "$withval"; then
2424 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2427 if test "x$with_libcap" = "xno" ; then
2431 AC_WIRESHARK_LIBCAP_CHECK
2433 AC_SUBST(LIBCAP_LIBS)
2435 dnl Checks for header files.
2436 dnl Some of these may not be needed: http://hacks.owlfolio.org/header-survey/
2437 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)
2438 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)
2439 AC_CHECK_HEADERS(netinet/in.h)
2440 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
2444 AC_MSG_CHECKING(whether to use SSL library)
2447 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
2448 [use SSL crypto library (located in directory DIR, if supplied) @<:@default=no@:>@]),
2450 if test "x$withval" = "xno"; then
2452 elif test "x$withval" = "xyes"; then
2454 elif test -d "$withval"; then
2456 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2461 if test "x$want_ssl" = "xyes"; then
2463 AC_CHECK_LIB(crypto,EVP_md5,
2468 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
2476 AC_MSG_CHECKING(whether to use Kerberos library)
2479 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
2480 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
2482 if test $withval = no
2485 elif test $withval = yes
2494 # Use Kerberos library if available, otherwise don't.
2496 want_krb5=ifavailable
2499 if test "x$want_krb5" = "xno" ; then
2503 AC_WIRESHARK_KRB5_CHECK
2509 AC_MSG_CHECKING(whether to use the c-ares library if available)
2512 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
2513 [use c-ares (located in directory DIR, if supplied) - supersedes --with-adns @<:@default=yes, if present@:>@]),
2515 if test "x$withval" = "xno"; then
2517 elif test "x$withval" = "xyes"; then
2519 elif test -d "$withval"; then
2521 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2524 if test "x$want_c_ares" = "xno" ; then
2528 AC_WIRESHARK_C_ARES_CHECK
2530 AC_SUBST(C_ARES_LIBS)
2534 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
2537 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
2538 [use GNU ADNS (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2540 if test "x$withval" = "xno"; then
2542 elif test "x$withval" = "xyes"; then
2544 elif test -d "$withval"; then
2546 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2549 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
2553 AC_WIRESHARK_ADNS_CHECK
2559 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
2562 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
2563 [use GeoIP (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
2565 if test "x$withval" = "xno"; then
2567 elif test "x$withval" = "xyes"; then
2569 elif test -d "$withval"; then
2571 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
2574 if test "x$want_geoip" = "xno"; then
2578 AC_WIRESHARK_GEOIP_CHECK
2580 AC_SUBST(GEOIP_LIBS)
2583 # Define WS_MSVC_NORETURN appropriately for declarations of routines that
2584 # never return (just like Charlie on the MTA).
2586 # Note that MSVC++ expects __declspec(noreturn) to precede the function
2587 # name and GCC, as far as I know, expects __attribute__((noreturn)) to
2588 # follow the function name, so we need two different flavors of
2591 AC_DEFINE(WS_MSVC_NORETURN,, [Define as the string to precede declarations of routines that never return])
2593 dnl Checks for typedefs, structures, and compiler characteristics.
2596 # Check how we can get the time zone abbreviation
2597 AC_WIRESHARK_TIMEZONE_ABBREV
2599 # We need to know whether "struct stat" has an "st_flags" member
2600 # for file_user_immutable().
2602 AC_WIRESHARK_STRUCT_ST_FLAGS
2604 # We need to know whether "struct sockaddr" has an "sa_len" member
2605 # for get_interface_list().
2607 AC_WIRESHARK_STRUCT_SA_LEN
2609 # We must know our byte order
2612 # Checks whether "-traditional" is needed when using "ioctl".
2613 # XXX - do we need this?
2614 AC_PROG_GCC_TRADITIONAL
2616 AC_CHECK_FUNC(getopt,
2619 AC_DEFINE(HAVE_GETOPT, 1, [Define to 1 if you have the getopt function.])
2621 GETOPT_LO="wsgetopt.lo")
2624 AC_CHECK_FUNCS(mkstemp mkdtemp)
2626 AC_SEARCH_LIBS(inet_aton, [socket nsl],
2629 AC_DEFINE(HAVE_INET_ATON, 0, [Define to 1 if you have the inet_aton function.])
2631 INET_ATON_LO="inet_aton.lo")
2632 AC_SUBST(INET_ATON_LO)
2634 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
2635 dnl check for pre-BIND82 inet_pton() bug.
2636 AC_MSG_CHECKING(for broken inet_pton)
2637 AC_TRY_RUN([#include <sys/types.h>
2638 #include <sys/socket.h>
2639 #include <netinet/in.h>
2640 #include <arpa/inet.h>
2645 /* this should return 0 (error) */
2646 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
2650 }], [AC_MSG_RESULT(ok);
2651 have_inet_pton=yes], [AC_MSG_RESULT(broken);
2652 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
2653 have_inet_pton=no])],
2655 if test "$have_inet_pton" = no; then
2656 INET_PTON_LO="inet_pton.lo"
2660 AM_CONDITIONAL(NEED_INET_PTON_LO, test "x$have_inet_pton" = "xno")
2661 AC_SUBST(INET_PTON_LO)
2663 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
2664 AC_MSG_CHECKING([for inet_ntop prototype])
2665 AC_TRY_COMPILE([#include <stdio.h>
2666 #include <sys/types.h>
2667 #include <sys/socket.h>
2668 #include <netinet/in.h>
2669 #include <arpa/inet.h>
2671 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
2673 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2674 [Define if inet_ntop() prototype exists])], [
2675 AC_TRY_COMPILE([#include <stdio.h>
2676 #include <sys/types.h>
2677 #include <sys/socket.h>
2678 #include <netinet/in.h>
2679 #include <arpa/inet.h>
2681 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
2683 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2684 [Define if inet_ntop() prototype exists])], [
2685 AC_MSG_RESULT(no)])])
2687 INET_NTOP_LO="inet_ntop.lo"
2688 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
2689 [Define if inet/v6defs.h needs to be included])])
2690 AM_CONDITIONAL(NEED_INET_NTOP_LO, test "x$INET_NTOP_LO" != "x")
2691 AC_SUBST(INET_NTOP_LO)
2693 AC_CHECK_FUNC(strptime,
2696 AC_DEFINE(HAVE_STRPTIME, 1, [Define if you have the strptime function.])
2698 STRPTIME_LO="strptime.lo")
2699 AC_SUBST(STRPTIME_LO)
2701 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
2702 AC_CHECK_FUNCS(issetugid)
2703 AC_CHECK_FUNCS(mmap mprotect sysconf)
2705 dnl blank for now, but will be used in future
2706 AC_SUBST(wireshark_SUBDIRS)
2708 # Check Bluetooth SBC codec for RTP Player
2709 # git://git.kernel.org/pub/scm/bluetooth/sbc.git
2710 PKG_CHECK_MODULES(SBC, sbc >= 1.0, [have_sbc=yes], [have_sbc=no])
2711 if (test "${have_sbc}" = "yes"); then
2712 AC_DEFINE(HAVE_SBC, 1, [Define to support playing SBC by standalone BlueZ SBC library])
2713 CFLAGS="$CFLAGS $(pkg-config sbc --cflags)"
2714 LIBS="$LIBS $(pkg-config sbc --libs)"
2718 dnl check whether plugins should be enabled and, if they should be,
2719 dnl check for plugins directory - stolen from Amanda's configure.ac
2721 dnl we don't wish to expand ${libdir} yet
2722 plugindir='${libdir}/wireshark/plugins/${VERSION}'
2723 AC_ARG_WITH(plugins,
2724 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
2725 [support plugins (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2727 if test "x$withval" = "xno"; then
2729 elif test "x$have_plugins" = "xno"; then
2730 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
2731 elif test "x$withval" != "xyes"; then
2732 plugindir="$withval"
2735 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2736 if test x$have_plugins = xyes
2738 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2741 CPPFLAGS="$CPPFLAGS '-DPLUGIN_INSTALL_DIR=\"\$(plugindir)\"'"
2744 # The plugin dissectors reside in ./plugins/PROTO/
2747 AC_SUBST(PLUGIN_LIBS)
2750 dnl Use extcap by default
2751 extcapdir='${datadir}/wireshark/extcap/'
2753 AC_HELP_STRING( [--with-extcap@<:@=DIR@:>@],
2754 [use extcap for external capture sources (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2756 if test "x$withval" = "xno"; then
2758 elif test "x$withval" = "xyes"; then
2760 elif test "x$withval" != "xyes"; then
2762 extcapdir ="$withval"
2767 AM_CONDITIONAL(HAVE_EXTCAP, test "x$have_extcap" = "xyes")
2768 if test "x$have_extcap" = "xyes"
2770 AC_DEFINE(HAVE_EXTCAP, 1, [Define if external capture sources should be enabled])
2771 AC_DEFINE_UNQUOTED(EXTCAP_DIR,"$extcapdir", [Directory for extcap plugins])
2776 # Check if (emem) memory allocations must be 8-byte aligned.
2777 # I haven't been able to write C code that reliably makes that determination
2778 # (different versions of GCC with or without optimization give different
2779 # results) so just assume everything except (32-bit) x86 needs 8-byte
2780 # alignment (64-bit platforms either require 8-byte alignment for pointers
2781 # and 64-bit integral data types or may get better performance from that;
2782 # 64-bit x86 will get 8-byte alignment from G_MEM_ALIGN anyway. 32-bit
2783 # platforms would only require it, or get better performance from it,
2784 # for 64-bit floating-point values.).
2786 AC_MSG_CHECKING(whether we need memory allocations to be 8-byte aligned)
2788 i386|i486|i586|i686)
2793 AC_DEFINE(NEED_8_BYTE_ALIGNMENT, 1, [Define if we need memory allocations to be 8-byte aligned])
2799 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
2800 # (autoconf? automake? libtool?) - with the newer version(s), it's
2801 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
2803 # With older version(s) of those tool(s), however, it's not just an
2804 # alias, and the configure scripts don't work without it.
2807 AC_SUBST(LIBTOOL_DEPS)
2809 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2810 if test x$enable_static = xyes -a x$have_plugins = xyes
2812 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
2814 AC_SUBST(ENABLE_STATIC)
2816 # Gather which GUI we're building for rpmbuild
2817 if test "x$have_gtk" = "xyes"; then
2818 if test "x$with_gtk3" = "xyes"; then
2819 RPMBUILD_WITH_ARGS="--with gtk3 --without gtk2"
2821 RPMBUILD_WITH_ARGS="--without gtk3 --with gtk2"
2824 RPMBUILD_WITH_ARGS="--without gtk2 --without gtk3"
2826 if test "x$have_qt" = "xyes" ; then
2827 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
2829 RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt"
2831 AC_SUBST(RPMBUILD_WITH_ARGS)
2833 dnl Save the cacheable configure results to config.cache before recursing
2836 sinclude(plugins/Custom.m4) dnl
2837 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
2839 sinclude(asn1/Custom.m4) dnl
2840 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2842 AC_CONFIG_HEADERS(config.h)
2847 _CUSTOM_ASN1_AC_OUTPUT_
2848 asn1/acp133/Makefile
2850 asn1/ansi_map/Makefile
2851 asn1/ansi_tcap/Makefile
2852 asn1/atn-cm/Makefile
2853 asn1/atn-cpdlc/Makefile
2854 asn1/atn-ulcs/Makefile
2858 asn1/charging_ase/Makefile
2863 asn1/credssp/Makefile
2871 asn1/gprscdr/Makefile
2872 asn1/gsm_map/Makefile
2881 asn1/h450-ros/Makefile
2884 asn1/HI2Operations/Makefile
2889 asn1/isdn-sup/Makefile
2890 asn1/kerberos/Makefile
2893 asn1/logotypecertextn/Makefile
2897 asn1/lte-rrc/Makefile
2900 asn1/mpeg-audio/Makefile
2901 asn1/mpeg-pes/Makefile
2903 asn1/ns_cert_exts/Makefile
2904 asn1/novell_pkis/Makefile
2912 asn1/pkcs12/Makefile
2913 asn1/pkinit/Makefile
2914 asn1/pkixac/Makefile
2915 asn1/pkix1explicit/Makefile
2916 asn1/pkix1implicit/Makefile
2917 asn1/pkixproxy/Makefile
2918 asn1/pkixqualified/Makefile
2919 asn1/pkixtsp/Makefile
2922 asn1/q932-ros/Makefile
2933 asn1/sbc-ap/Makefile
2936 asn1/spnego/Makefile
2944 asn1/wlancertextn/Makefile
2946 asn1/x509af/Makefile
2947 asn1/x509ce/Makefile
2948 asn1/x509if/Makefile
2949 asn1/x509sat/Makefile
2952 capchild/doxygen.cfg
2954 caputils/doxygen.cfg
2958 epan/compress/Makefile
2961 epan/dfilter/Makefile
2962 epan/dissectors/Makefile
2963 epan/dissectors/dcerpc/Makefile
2964 epan/dissectors/pidl/Makefile
2965 epan/ftypes/Makefile
2966 epan/nghttp2/Makefile
2979 packaging/macosx/Info.plist
2980 packaging/macosx/Makefile
2981 packaging/macosx/osx-dmg.sh
2982 packaging/macosx/Wireshark_package.pmdoc/index.xml
2983 packaging/nsis/Makefile
2984 packaging/rpm/Makefile
2985 packaging/rpm/SPECS/Makefile
2986 packaging/rpm/SPECS/wireshark.spec
2987 packaging/svr4/Makefile
2988 packaging/svr4/checkinstall
2989 packaging/svr4/pkginfo
2991 plugins/docsis/Makefile
2992 plugins/easy_codec/Makefile
2993 plugins/ethercat/Makefile
2994 plugins/gryphon/Makefile
2995 plugins/irda/Makefile
2996 plugins/m2m/Makefile
2997 plugins/mate/Makefile
2998 plugins/opcua/Makefile
2999 plugins/profinet/Makefile
3000 plugins/stats_tree/Makefile
3001 plugins/unistim/Makefile
3002 plugins/wimax/Makefile
3003 plugins/wimaxasncp/Makefile
3004 plugins/wimaxmacphy/Makefile
3006 tools/lemon/Makefile
3012 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
3017 if test "x$have_gtk" = "xyes"; then
3018 if test "x$with_gtk3" = "xyes"; then
3019 gtk_lib_message=" (with GTK+ 3"
3021 gtk_lib_message=" (with GTK+ 2"
3023 if test "x$have_ige_mac" = "xyes"; then
3024 gtk_lib_message="$gtk_lib_message and Mac OS X integration)"
3026 gtk_lib_message="$gtk_lib_message)"
3030 if test "x$have_qt" = "xyes" ; then
3031 enable_wireshark_qt="yes"
3033 enable_wireshark_qt="no"
3036 if test "x$enable_setcap_install" = "xyes" ; then
3037 setcap_message="yes"
3042 if test "x$enable_setuid_install" = "xyes" ; then
3043 setuid_message="yes"
3048 if test "x$DUMPCAP_GROUP" = "x" ; then
3049 dumpcap_group_message="(none)"
3051 dumpcap_group_message="$DUMPCAP_GROUP"
3054 if test "x$want_zlib" = "xno" ; then
3060 if test "x$want_lua" = "xyes" ; then
3066 if test "x$want_portaudio" = "xyes" ; then
3067 portaudio_message="yes"
3069 portaudio_message="no"
3072 if test "x$want_ssl" = "xno" ; then
3078 if test "x$want_krb5" = "xno" ; then
3081 krb5_message="yes ($ac_krb5_version)"
3084 if test "x$have_good_c_ares" = "xyes" ; then
3085 c_ares_message="yes"
3090 if test "x$have_good_adns" = "xyes" ; then
3093 if test "x$have_good_c_ares" = "xyes" ; then
3094 adns_message="no (using c-ares instead)"
3100 if test "x$have_good_libcap" = "xyes" ; then
3101 libcap_message="yes"
3106 if test "x$have_good_geoip" = "xyes" ; then
3113 echo "The Wireshark package has been configured with the following options."
3114 echo " Build wireshark : $enable_wireshark_qt"
3115 echo " Build wireshark-gtk : $have_gtk""$gtk_lib_message"
3116 echo " Build tshark : $enable_tshark"
3117 echo " Build tfshark : $enable_tfshark"
3118 echo " Build capinfos : $enable_capinfos"
3119 echo " Build captype : $enable_captype"
3120 echo " Build editcap : $enable_editcap"
3121 echo " Build dumpcap : $enable_dumpcap"
3122 echo " Build mergecap : $enable_mergecap"
3123 echo " Build reordercap : $enable_reordercap"
3124 echo " Build text2pcap : $enable_text2pcap"
3125 echo " Build randpkt : $enable_randpkt"
3126 echo " Build dftest : $enable_dftest"
3127 echo " Build rawshark : $enable_rawshark"
3128 echo " Build echld : $have_echld"
3130 echo " Save files as pcap-ng by default : $enable_pcap_ng_default"
3131 echo " Install dumpcap with capabilities : $setcap_message"
3132 echo " Install dumpcap setuid : $setuid_message"
3133 echo " Use dumpcap group : $dumpcap_group_message"
3134 echo " Use plugins : $have_plugins"
3135 echo " Use external capture sources : $have_extcap"
3136 echo " Use Lua library : $lua_message"
3137 echo " Build rtp_player : $portaudio_message"
3138 echo " Build profile binaries : $enable_profile_build"
3139 echo " Use pcap library : $want_pcap"
3140 echo " Use zlib library : $zlib_message"
3141 echo " Use kerberos library : $krb5_message"
3142 echo " Use c-ares library : $c_ares_message"
3143 echo " Use GNU ADNS library : $adns_message"
3144 echo " Use SMI MIB library : $libsmi_message"
3145 echo " Use GNU crypto library : $gcrypt_message"
3146 echo " Use SSL crypto library : $ssl_message"
3147 echo " Use IPv6 name resolution : $enable_ipv6"
3148 echo " Use gnutls library : $tls_message"
3149 echo " Use POSIX capabilities library : $libcap_message"
3150 echo " Use GeoIP library : $geoip_message"
3151 echo " Use nl library : $libnl_message"
3152 echo " Use SBC codec library : $have_sbc"