4 m4_define([version_major], [1])
5 m4_define([version_minor], [9])
6 m4_define([version_micro], [0])
7 m4_define([version_micro_extra], version_micro)
8 m4_append([version_micro_extra], [])
10 AC_INIT(wireshark, [version_major.version_minor.version_micro_extra], http://bugs.wireshark.org/, , http://www.wireshark.org/)
12 # Minimum autoconf version we require.
14 # Variable expansion doesn't work in AC_PREREQ()
16 AC_SUBST(AC_MIN_VERSION)
18 dnl Check for CPU / vendor / OS
19 dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
20 dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the
21 dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other
24 dnl As nothing in the Wireshark is itself a build tool (we are not,
25 dnl for example, a compiler that generates machine code), we probably
26 dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able
27 dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just
28 dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as
29 dnl lemon, that need to be built for the build machine, not for the
30 dnl host machine, so we might need both.
32 dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails.
34 dnl AC_CANONICAL_BUILD
38 AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip])
40 # Make Wireshark's version available in config.h
41 AC_DEFINE(VERSION_MAJOR, version_major, [Wireshark's major version])
42 AC_DEFINE(VERSION_MINOR, version_minor, [Wireshark's minor version])
43 AC_DEFINE(VERSION_MICRO, version_micro, [Wireshark's micro version])
47 dnl Checks for programs.
52 dnl Work around libtool bug (fixed in the version 1.5a?)
53 AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
56 AC_PATH_PROG(PERL, perl)
58 # XXX - should autogen.sh check for YACC/Bison and Flex? A user building
59 # from a distribution tarball shouldn't have to have YACC/Bison or Flex,
60 # as the tarball should contain the results of running YACC/Bison on .y
61 # files and running Flex on .l files, but a user building from SVN
62 # will have to run YACC/Bison and Flex to process those files.
64 # On the other hand, what about users who use a distribution tarball to
65 # do development? They *shouldn't* - that's what the SVN repository is
66 # for - but they might. They'd get errors if they modify a .y or .l
67 # file and try to do a build - but the error should tell them that they
68 # need to get YACC/Bison and/or Flex.
70 # Then again, getting them shouldn't be too big of a burden.
72 # XXX - is the same true of pod2man and pod2html, or are they needed
73 # even when building from a distribution tarball?
77 AC_PATH_PROG(YACCDUMMY, $YACC)
78 if test "x$YACCDUMMY" = x
80 AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
83 AC_PATH_PROG(LEX, flex)
86 AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path)
88 AC_PATH_PROG(POD2MAN, pod2man)
89 if test "x$POD2MAN" = x
92 # The alternative is not to build the man pages....
94 AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
96 AC_PATH_PROG(POD2HTML, pod2html)
97 if test "x$POD2HTML" = x
100 # The alternative is not to build the HTML man pages....
102 AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
106 # XXX - this looks for various HTML viewers on the host, not the target;
107 # we really want to know what's available on the target, for cross-builds.
108 # That would probably require us to, at run time, look for xdg-open and,
109 # if we don't find it, look for mozilla, htmlview, etc.
111 AC_PATH_PROG(HTML_VIEWER, xdg-open)
112 if test "x$HTML_VIEWER" != x
115 # XXX - the HTML_VIEWER shell variable is the full path of xdg-open.
116 # Define some variable to be that, so we just run that?
118 AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
121 # XXX - we have to define HTML_VIEWER for the prefs.c code that
122 # sets the default value of the Web browser preference, even
123 # though that preference won't be offered.
125 AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
127 AC_PATH_PROG(HTML_VIEWER, htmlview)
128 if test "x$HTML_VIEWER" = x
130 AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
132 AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
136 AC_PATH_PROG(PYTHON, python)
147 # Set "ac_supports_gcc_flags" if the compiler is known to support GCC-style
148 # flags such as -pedantic, -W warning flags and -f feature flags. Currently,
149 # we assume GCC and clang do; other compilers should be added here.
151 # This is done to avoid getting tripped up by compilers that support
152 # those flags but give them a different meaning.
154 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
155 ac_supports_gcc_flags=yes
159 # Set "ac_supports_W_linker_passthrough" if the compiler is known to
160 # support "-Wl,{options}" to pass options through to the linker.
161 # Currently, we assume GCC, xlc, and clang do; other compilers should
164 if test "x$GCC" = "xyes" -o "x$CC" = "xxlc" -o "x$CC" = "xclang" ; then
165 ac_supports_W_linker_passthrough=yes
169 # Set "ac_supports_attribute_unused" if the compiler is known to
170 # support "__attribute__(unused)".
171 # Currently, we assume GCC and clang do; other compilers should
174 # XXX - do this with a compiler test?
176 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
177 ac_supports_W_linker_passthrough=yes
180 if test "x$CC_FOR_BUILD" = x
184 AC_SUBST(CC_FOR_BUILD)
185 AC_SUBST(CFLAGS_FOR_BUILD)
188 AC_PATH_PROG(DOXYGEN, doxygen)
189 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
190 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
193 # Try to arrange for large file support.
198 # Version 3.0 switched from LGPLv2.1+ to LGPLv3+.
200 AC_ARG_WITH([gnutls],
201 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
202 [use GnuTLS library @<:@default=yes@:>@]),
203 with_gnutls="$withval", with_gnutls="yes")
204 if test "x$with_gnutls" = "xyes"; then
205 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0 gnutls < 3],
207 echo "GnuTLS found, enabling SSL decryption"
208 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use GnuTLS library])
212 echo "GnuTLS not found, disabling SSL decryption"
220 AC_ARG_WITH([gcrypt],
221 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
222 [use gcrypt library @<:@default=yes@:>@]),
223 with_gcrypt="$withval", with_gcrypt="yes")
224 if test "x$with_gcrypt" = "xyes"; then
225 AM_PATH_LIBGCRYPT(1.1.92,
227 echo "libgcrypt found, enabling ipsec decryption"
228 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
232 if test x$libgcrypt_config_prefix != x ; then
233 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
235 echo "libgcrypt not found, disabling ipsec decryption"
243 AC_HELP_STRING( [--with-qt=@<:@yes/no@:>@],
244 [use Qt instead of GTK+ @<:@default=no@:>@]),
245 with_qt="$withval", with_qt="no")
248 PKG_CHECK_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no])
249 PKG_CHECK_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no])
250 PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no])
251 if (test "${have_libnl3}" = "yes"); then
252 CFLAGS="$CFLAGS $LIBNL3_CFLAGS"
253 LIBS="$LIBS $LIBNL3_LIBS"
254 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
255 AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
256 libnl_message="yes (v3)"
258 elif (test "${have_libnl2}" = "yes"); then
259 CFLAGS="$CFLAGS $LIBNL2_CFLAGS"
260 LIBS="$LIBS $LIBNL2_LIBS"
261 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
262 AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
263 libnl_message="yes (v2)"
265 elif (test "${have_libnl1}" = "yes"); then
266 CFLAGS="$CFLAGS $LIBNL1_CFLAGS"
267 LIBS="$LIBS $LIBNL1_LIBS"
268 AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
269 AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
270 libnl_message="yes (v1)"
274 AC_MSG_CHECKING([if nl80211.h is new enough])
275 AC_TRY_COMPILE([#include <linux/nl80211.h>],
276 [int x = NL80211_FREQUENCY_ATTR_MAX_TX_POWER;
277 x = NL80211_ATTR_SUPPORTED_IFTYPES;
278 x = NL80211_ATTR_SUPPORTED_COMMANDS;
279 x = NL80211_ATTR_WIPHY_FREQ;
280 x = NL80211_CHAN_NO_HT;],
281 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211, 1, [nl80211.h is new ehough])],
284 AC_MSG_CHECKING([for NL80211_SET_CHANNEL])
285 AC_TRY_COMPILE([#include <linux/nl80211.h>],
286 [enum nl80211_commands x = NL80211_CMD_SET_CHANNEL;],
287 [AC_MSG_RESULT(yes) AC_DEFINE(HAVE_NL80211_CMD_SET_CHANNEL, 1, [SET_CHANNEL is supported])],
292 AC_HELP_STRING( [--with-gtk3=@<:@yes/no@:>@],
293 [use GTK+ 3.0 instead of 2.0 @<:@default=no@:>@]),
294 with_gtk3="$withval", with_gtk3="no")
297 # FIXME: currently the path argument to with-libsmi is being ignored
301 AC_PATH_PROG(XSLTPROC, xsltproc)
302 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
303 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
306 AC_PATH_PROG(XMLLINT, xmllint)
307 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
308 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
310 # Check for fop (translate .fo to e.g. pdf)
311 AC_PATH_PROG(FOP, fop)
312 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
313 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
316 # Look for something to convert HTML to text (for docbook/)
318 AC_PATH_PROG(ELINKS, elinks)
319 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
320 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
322 ## links: Fails as used in docbook/Makefile.am
323 ## (Rather than fixing things we'll just disable the use of links).
324 ##AC_PATH_PROG(LINKS, links)
325 ##AC_CHECK_PROG(HAVE_LINKS, links, "yes", "no")
326 ##AM_CONDITIONAL(HAVE_LINKS, test x$HAVE_LINKS = xyes)
328 AC_PATH_PROG(LYNX, lynx)
329 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
330 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
333 # Check for hhc (html help compiler)
334 AC_PATH_PROG(HHC, hhc.exe)
335 AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no")
336 AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes)
338 # Check for packaging utilities
339 # For now, we check to see if the various packaging utilites are in our
340 # path. I'm too lazy to write code to go hunt for them. - Gerald
343 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
344 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
345 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
347 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
348 -a x$HAVE_PKGTRANS = xyes ; then
349 HAVE_SVR4_PACKAGING=yes
351 HAVE_SVR4_PACKAGING=no
353 AC_SUBST(HAVE_SVR4_PACKAGING)
356 AC_WIRESHARK_RPM_CHECK
360 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
363 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
364 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
365 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
367 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
368 -a x$HAVE_BLESS = xyes ; then
369 HAVE_OSX_PACKAGING=yes
371 HAVE_OSX_PACKAGING=no
373 AC_SUBST(HAVE_OSX_PACKAGING)
376 # Try to add some additional gcc checks to CFLAGS
378 AC_ARG_ENABLE(extra-gcc-checks,
379 AC_HELP_STRING( [--enable-extra-gcc-checks],
380 [do additional -W checks in GCC @<:@default=no@:>@]),
382 wireshark_extra_gcc_flags=$enableval
383 if test $enableval != no
385 AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
387 # Various code blocks this one.
389 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
390 AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
392 # Some memset() calls to clear out structures
393 # on the stack are getting flagged as "will never
394 # be executed" by this, at least by Apple's
395 # i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on
396 # Apple Inc. build 5658) (LLVM build 2336.11.00), for
397 # some unknown reason.
399 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
401 # Due to various places where APIs we don't control
402 # require us to cast away constness, we can probably
403 # never enable these ones with -Werror.
405 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
406 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast, C)
408 # Some generated ASN.1 dissectors block this one;
409 # multiple function declarations for the same
410 # function are being generated.
412 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls)
414 # Some loops are safe, but it's hard to convince the
417 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations)
419 # A ton of code blocks this one - it warns about
420 # implict conversions of void * to/from arbitrary
421 # pointer types, for example.
423 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat, C)
425 # All the registration functions block these for now.
427 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-prototypes)
428 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
431 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
432 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -W is now known as -Wextra
433 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement, C)
434 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
435 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
436 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign, C)
437 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
438 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
439 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
440 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wold-style-definition, C)
441 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
442 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes, C)
443 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init, C)
444 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla)
445 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress)
446 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
447 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
448 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
449 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
450 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas)
451 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
452 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
453 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
458 # Make sure -Wshadow doesn't complain about variables in function and
459 # function pointer declarations shadowing other variables; if not, don't
460 # turn it on, as some versions of GCC (including the one in at least
461 # some Xcode versions that came with Mac OS X 10.5) complain about
464 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow, C,
466 extern int bar(int a);
472 int (*fptr)(int a) = bar;
477 [warns about variables in function declarations shadowing other variables])
479 # Unfortunately some versions of gcc generate logical-op warnings when strchr()
480 # is given a constant string.
481 # gcc versions 4.3.2 and 4.4.5 are known to have the problem.
482 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op, C,
486 int foo(const char *, int);
490 foo(const char *sep, int c)
492 if (strchr (sep, c) != NULL)
501 return foo("<", 'a');
504 [generates warnings from strchr()])
507 ## AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-error=unused-but-set-variable)
510 # Use the faster pre gcc 4.5 floating point precision if available;
511 # clang doesn't error out on -f options that it doesn't know about,
512 # it just warns and ignores them, so this check doesn't cause us
513 # to omit -fexcess-precision=fast, which produces a pile of
516 if test "x$CC" != "xclang" ; then
517 AC_WIRESHARK_GCC_CFLAGS_CHECK(-fexcess-precision=fast)
520 AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--as-needed])
521 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,-M])
522 ###AC_WIRESHARK_LDFLAGS_CHECK([-Wl,--cref])
523 # AC_WIRESHARK_LDFLAGS_CHECK([-flto])
524 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhopr])
525 # AC_WIRESHARK_LDFLAGS_CHECK([-fwhole-program])
528 # Put -fPIE in PIE_CFLAGS and -pie in PIE_LDFLAGS if we can use them,
529 # so that we can build dumpcap PIE - it may run with elevated
530 # privileges, and using PIE means the OS can run it at random locations
531 # in the address space to make attacks more difficult.
533 CFLAGS_before_pie=$CFLAGS
534 AC_WIRESHARK_GCC_CFLAGS_CHECK(-fPIE, C)
535 if test "x$CLFAGS" != "x$CFLAGS_before_pie"
538 CFLAGS=$CFLAGS_before_pie
540 LDFLAGS_before_pie=$LDFLAGS
541 AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
542 if test "x$LDFLAGS" != "x$LDFLAGS_before_pie"
549 LDFLAGS=$LDFLAGS_before_pie
554 AC_SUBST(PIE_LDFLAGS)
557 # If we're running GCC or clang define _U_ to be "__attribute__((unused))"
558 # so we can use _U_ to flag unused function parameters and not get warnings
559 # about them. Otherwise, define _U_ to be an empty string so that _U_ used
560 # to flag an unused function parameters will compile with other compilers.
562 # XXX - similar hints for other compilers?
564 if test "x$GCC" = "xyes" -o "x$CC" = "xclang" ; then
565 AC_DEFINE(_U_, __attribute__((unused)), [Hint to the compiler that a function parameters is not used])
567 AC_DEFINE(_U_, , [Hint to the compiler that a function parameters is not used])
570 # If we're running GCC or CLang, use FORTIFY_SOURCE=2
571 # (only if the GCC 'optimization level' > 0).
573 # See: http://gcc.gnu.org/ml/gcc-patches/2004-09/msg02055.html
574 # See: http://sourceware.org/bugzilla/show_bug.cgi?id=13979
576 # Note: FORTIFY_SOURCE is only effective for gcc optimization level > 0 (-O1, etc)
577 AC_WIRESHARK_GCC_FORTIFY_SOURCE_CHECK
580 # If the compiler supports GCC-style flags, enable a barrier "stop on
582 # This barrier is set for a very large part of the code. However, it is
583 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
585 warnings_as_errors_default="yes"
586 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
587 AC_ARG_ENABLE(warnings-as-errors,
588 AC_HELP_STRING( [--enable-warnings-as-errors],
589 [treat warnings as errors (only for GCC or clang) @<:@default=yes, unless extra warnings are enabled@:>@]),
591 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$enableval" = "xyes"; then
592 with_warnings_as_errors="yes"
595 with_warnings_as_errors="no"
600 if test "x$ac_supports_gcc_flags" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
601 with_warnings_as_errors="yes"
604 with_warnings_as_errors="no"
609 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
612 # Add any platform-specific compiler flags needed.
614 AC_MSG_CHECKING(for platform-specific compiler flags)
615 if test "x$GCC" = "xyes" ; then
617 # GCC - do any platform-specific tweaking necessary.
621 # the X11 headers don't automatically include prototype info
622 # and a lot don't include the return type
623 CPPFLAGS="$CPPFLAGS -DFUNCPROTO=15"
624 CFLAGS="$CFLAGS -Wno-return-type"
625 CXXFLAGS="$CXXFLAGS -Wno-return-type"
626 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
629 AC_MSG_RESULT(none needed)
634 # Not GCC - assume it's the vendor's compiler.
639 # HP's ANSI C compiler; flags suggested by Jost Martin.
640 # "-Ae" for ANSI C plus extensions such as "long long".
641 # "+O2", for optimization. XXX - works with "-g"?
643 # HP's ANSI C++ compiler doesn't support "-Ae", but
644 # does support "+O2", at least according to the
645 # documentation I can find online.
647 CFLAGS="-Ae +O2 $CFLAGS"
648 CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
649 CXXFLAGS="+O2 $CFLAGS"
650 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
653 AC_MSG_RESULT(none needed)
659 # Add any platform-specific linker flags needed.
661 AC_MSG_CHECKING(for platform-specific linker flags)
665 # Add -Wl,-single_module to the LDFLAGS used with shared
666 # libraries, to fix some error that show up in some cases;
667 # some Apple documentation recommends it for most shared
670 LDFLAGS_SHAREDLIB="-Wl,-single_module"
672 # Add -Wl,-search_paths_first to make sure that if we search
673 # directories A and B, in that order, for a given library, a
674 # non-shared version in directory A, rather than a shared
675 # version in directory B, is chosen (so we can use
676 # --with-pcap=/usr/local to force all programs to be linked
677 # with a static version installed in /usr/local/lib rather than
678 # the system version in /usr/lib).
680 LDFLAGS="-Wl,-search_paths_first $LDFLAGS"
681 AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first])
685 # Shared libraries in cygwin/Win32 must never contain
688 LDFLAGS="$LDFLAGS -no-undefined"
689 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
692 AC_MSG_RESULT(none needed)
695 AC_SUBST(LDFLAGS_SHAREDLIB)
697 # Enable silent builds by default
698 # Verbose builds can be enabled with "./configure
699 # --enable-silent-rules ..." or "make V=1 ..."
700 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])],
701 [AC_SUBST([AM_DEFAULT_VERBOSITY], [1])])
704 # On "Darwin", which we assume to mean "OS X" rather than "iOS" or
705 # "just Darwin" (as we don't currently support iOS, and as I don't
706 # think you can build and run "just Darwin" as an OS for PCs), we
707 # arrange to build some programs with Application Services so they
708 # can launch Web browsers and Finder windows, arrange to build some
709 # programs with System Configuration so they can get "friendly names"
710 # and other information about interfaces, and build any programs that
711 # use either of those frameworks or that report version information
712 # with Core Foundation as the frameworks in question use it and as we
713 # get version information from plists and thus need Core Foundation
714 # to process those plists.
719 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
720 APPLICATIONSERVICES_FRAMEWORKS="-framework ApplicationServices"
721 SYSTEMCONFIGURATION_FRAMEWORKS="-framework SystemConfiguration"
722 COREFOUNDATION_FRAMEWORKS="-framework CoreFoundation"
725 # OK, so we have the OS X frameworks; do they include
726 # CFPropertyListCreateWithStream, or do we have
727 # to fall back on CFPropertyListCreateFromStream?
728 # (They only differ in the error return, which we
729 # don't care about. And, no, we shouldn't just
730 # use CFPropertyListCreateFromStream, because it's
731 # deprecated in newer releases.)
734 LIBS="$LIBS $COREFOUNDATION_FRAMEWORKS"
735 AC_CHECK_FUNCS(CFPropertyListCreateWithStream)
739 AC_SUBST(APPLICATIONSERVICES_FRAMEWORKS)
740 AC_SUBST(SYSTEMCONFIGURATION_FRAMEWORKS)
741 AC_SUBST(COREFOUNDATION_FRAMEWORKS)
744 # If using $prefix we add "$prefix/include" to the include search path
745 # and "$prefix/lib" to the library search path.
747 if test "x$prefix" != "x" ; then
748 AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
749 if test -d $prefix/include ; then
752 # Arrange that we search for header files in "$prefix/include", as
753 # various packages we use may have been installed under "$prefix/include".
755 CPPFLAGS="$CPPFLAGS -I$prefix/include"
758 # Arrange that we search for libraries in "$prefix/lib".
760 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
766 dnl Look in /usr/local for header files and libraries ?
767 dnl XXX FIXME don't include /usr/local if it is already in the system
768 dnl search path as this causes gcc 3.2 on Linux to complain about a change
769 dnl of the system search order for includes
770 AC_ARG_ENABLE(usr-local,
771 AC_HELP_STRING( [--enable-usr-local],
772 [look for headers and libs in /usr/local tree @<:@default=yes@:>@]),
773 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
775 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
776 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
777 if test -d "/usr/local"; then
780 # Arrange that we search for header files in the source directory
781 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
782 # as various packages we use ("libpcap", "zlib", "adns")
783 # may have been installed under "/usr/local/include".
785 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
788 # Arrange that we search for libraries in "/usr/local/lib".
790 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
799 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
804 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
805 if test x$LD_LIBRARY_PATH != x ; then
806 LIBS="$LIBS -R$LD_LIBRARY_PATH"
807 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
809 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
815 # Check for versions of "sed" inadequate to handle, in libtool, a list
816 # of object files as large as the list in Wireshark.
818 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
819 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
820 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
821 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
822 # is the only "sed" that comes with Solaris that can handle Wireshark.
824 # Add any checks here that are necessary for other OSes.
826 AC_WIRESHARK_GNU_SED_CHECK
827 if test "$HAVE_GNU_SED" = no ; then
830 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
832 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
834 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
849 # Enable/disable wireshark
851 AC_ARG_ENABLE(wireshark,
852 AC_HELP_STRING( [--enable-wireshark],
853 [build GTK+-based Wireshark @<:@default=yes, if GTK+ available@:>@]),
854 enable_wireshark=$enableval,enable_wireshark=yes)
856 AC_ARG_ENABLE(packet-editor,
857 AC_HELP_STRING( [--enable-packet-editor],
858 [add support for packet editor in Wireshark @<:@default=no@:>@]),
859 enable_packet_editor=$enableval,enable_packet_editor=no)
860 if test x$enable_packet_editor = xyes; then
861 AC_DEFINE(WANT_PACKET_EDITOR, 1, [Support for packet editor])
864 AC_ARG_ENABLE(profile-build,
865 AC_HELP_STRING( [--enable-profile-build],
866 [build profile-ready binaries @<:@default=no@:>@]),
867 enable_profile_build=$enableval,enable_profile_build=no)
868 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
869 AC_MSG_CHECKING(if profile builds must be generated)
870 if test "x$enable_profile_build" = "xyes" ; then
871 if test "x$GCC" = "xyes" -o "x$CLANG" = "xyes" ; then
873 CFLAGS=" -pg $CFLAGS"
874 CXXFLAGS=" -pg $CXXFLAGS"
877 echo "Building profile binaries currently only supported for GCC and clang."
883 # Create DATAFILE_DIR #define for config.h
884 datafiledir=$datadir/wireshark
886 test "x$prefix" = xNONE && prefix=$ac_default_prefix
887 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
888 # Ugly hack, but I don't see how this problem can be solved
889 # properly that DATAFILE_DIR had a value starting with
890 # "${prefix}/" instead of e.g. "/usr/local/"
891 eval eval echo "$datafiledir"
893 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
895 # Create DOC_DIR #define for config.h
897 test "x$prefix" = xNONE && prefix=$ac_default_prefix
898 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
899 # Ugly hack, but I don't see how this problem can be solved
900 # properly that DOC_DIR had a value starting with
901 # "${prefix}/" instead of e.g. "/usr/local/"
902 eval eval echo "$docdir"
904 AC_DEFINE_UNQUOTED(DOC_DIR, "$docdir", [Directory for docs])
906 GTK2_MIN_VERSION=2.12.0
907 AC_SUBST(GTK2_MIN_VERSION)
908 GTK3_MIN_VERSION=3.0.0
909 AC_SUBST(GTK3_MIN_VERSION)
910 # GTK+ and Qt checks; we require GTK+ $GTK2_MIN_VERSION or later or
911 # GTK3_MIN_VERSION or later, and, for now, don't require any particular
912 # version of Qt (except perhaps by implication, as older versions might not
913 # support pkgconfig).
915 # We only do those if we're going to be building Wireshark;
916 # otherwise, we don't have any GUI to build, so we don't use
919 # We don't add $GTK_LIBS or $Qt_LIBS to LIBS, because we don't want to
920 # force all programs to be built with GTK+ or Qt.
922 # Release dates for GTK+ versions:
923 # 2.12.0: 14 Sep 2007
924 # 2.14.0: 04 Sep 2008
925 # 2.16.0: 13 Mar 2009
926 # 2.18.0: 23 Sep 2009
927 # 2.20.0: 23 Mar 2010
928 # 2.22.0: 23 Sep 2010
929 # 2.24.0: 30 Jan 2011
935 if test "x$enable_wireshark" = "xyes"; then
936 if test "x$with_qt" = "xyes"; then
937 PKG_CHECK_MODULES([Qt], [QtCore QtGui],
939 CFLAGS="$CFLAGS $Qt_CFLAGS"
940 CXXFLAGS="$CXXFLAGS $Qt_CFLAGS"
942 # XXX - greasy hack to make ui/gtk/recent.c
945 CPPFLAGS="-DQT_GUI_LIB $CPPFLAGS"
949 AC_MSG_ERROR([Qt is not available])
953 # Qt 5.0 appears to move the widgets out of Qt GUI
954 # to Qt Widgets; look for QtWidgets and, if we find
955 # it, add its flags to CFLAGS and CXXFLAGS, so that
956 # we find the include files for the widgets. (If
957 # we don't find it, we assume it's Qt 4.)
959 PKG_CHECK_MODULES([QtWidgets], [QtWidgets],
961 CFLAGS="$CFLAGS $QtWidgets_CFLAGS"
962 CXXFLAGS="$CXXFLAGS $QtWidgets_CFLAGS"
964 AC_MSG_NOTICE([QtWidgets not found. Assuming Qt4]))
967 # It also appears to move the printing support into
968 # the QtPrintSupport module.
970 PKG_CHECK_MODULES([QtPrintSupport], [QtPrintSupport],
972 CFLAGS="$CFLAGS $QtPrintSupport_CFLAGS"
973 CXXFLAGS="$CXXFLAGS $QtPrintSupport_CFLAGS"
975 AC_MSG_NOTICE([QtPrintSupport not found. Assuming Qt4]))
978 # We don't know whether we have GTK+, but we
979 # won't be using it, so it's as if we don't
985 # Not Qt - either GTK+ 3.x or 2.x.
987 if test "x$with_gtk3" = "xyes"; then
988 AM_PATH_GTK_3_0(3.0.0,
990 CFLAGS="$CFLAGS $GTK_CFLAGS"
991 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
993 AC_DEFINE(HAVE_GTK, 1,
994 [Define to 1 if compiling with GTK])
998 AM_PATH_GTK_2_0($GTK2_MIN_VERSION,
1000 CFLAGS="$CFLAGS $GTK_CFLAGS"
1001 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
1003 AC_DEFINE(HAVE_GTK, 1,
1004 [Define to 1 if compiling with GTK])
1013 GLIB_MIN_VERSION=2.14.0
1014 AC_SUBST(GLIB_MIN_VERSION)
1015 # GLib checks; we require GLib $GLIB_MIN_VERSION or later, and require gmodule
1016 # support, as we need that for dynamically loading plugins.
1017 # If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because
1018 # AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a
1019 # superset of GLIB_CFLAGS. If we didn't find GTK+, it does add
1020 # GLIB_CFLAGS to CFLAGS.
1021 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
1022 # set when generating the Makefile, so we can make programs that require
1023 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
1024 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
1025 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
1026 # programs to be built with GLib.
1028 # Release dates for GLib versions:
1029 # 2.14.0: 03 Aug 2007
1030 # 2.16.0: 10 Mar 2008
1031 # 2.18.0: 02 Sep 2008
1032 # 2.20.0: 13 Mar 2009
1033 # 2.22.0: 22 Sep 2009
1034 # 2.24.0: 28 Mar 2010
1035 # 2.26.0: 27 Sep 2010
1036 # 2.28.0: 08 Feb 2011
1037 # 2.30.0: 27 Sep 2011
1038 # 2.32.0: 24 Mar 2012
1039 # 2.34.0: 24 Sep 2012
1041 have_wireshark_cxx="false"
1042 if test "$have_gtk" = "no" ; then
1044 # We don't have GTK+.
1046 if test "$have_qt" = "yes" ; then
1048 # However, we do have Qt, and thus will be building
1049 # Wireshark (if the user had explicitly disabled
1050 # Wireshark, we wouldn't have looked for Qt, so we
1051 # wouldn't think we had it, and thus wouldn't be here).
1053 wireshark_bin="wireshark\$(EXEEXT)"
1054 # Give automake a hint that it needs to use c++ linking.
1055 have_wireshark_cxx="yes"
1056 wireshark_man="wireshark.1"
1057 wireshark_SUBDIRS="codecs ui/qt"
1060 # We don't have Qt, either, which means we have no UI
1063 # If they didn't explicitly say "--disable-wireshark",
1064 # fail (so that, unless they explicitly indicated that
1065 # they don't want Wireshark, we stop so they know they
1066 # won't be getting Wireshark unless they fix the GTK+/Qt
1069 if test "x$enable_wireshark" = "xyes"; then
1070 if test "x$with_gtk3" = "xyes"; then
1071 AC_MSG_ERROR([GTK+ $GTK3_MIN_VERSION or later isn't available, so Wireshark can't be compiled])
1073 AC_MSG_ERROR([Neither Qt nor GTK+ $GTK2_MIN_VERSION or later are available, so Wireshark can't be compiled])
1080 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION,
1082 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1083 CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
1084 ], AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1087 # We have GTK+, and thus will be building Wireshark (if the user
1088 # had explicitly disabled Wireshark, we wouldn't have looked for
1089 # GTK+, so we wouldn't think we had it, and thus wouldn't be here).
1091 wireshark_bin="wireshark\$(EXEEXT)"
1092 wireshark_man="wireshark.1"
1093 wireshark_SUBDIRS="codecs ui/gtk"
1094 # Don't use GLIB_CFLAGS
1095 AM_PATH_GLIB_2_0($GLIB_MIN_VERSION, , AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
1097 CPPFLAGS="-DGTK_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1098 ## Define GTK_DISABLE_DEPRECATED only if GTK lt 3.2
1099 ## GTK 3.2 deprecates GtkVBox & GtkHBox which are currently used extensively by Wireshark.
1100 if test $gtk_config_major_version -eq 2 -o $gtk_config_minor_version -lt 2; then
1101 CPPFLAGS="-DGTK_DISABLE_DEPRECATED $CPPFLAGS"
1103 # CPPFLAGS="-DGDK_DISABLE_DEPRECATED $CPPFLAGS"
1104 if test $gtk_config_major_version -eq 2 -a $gtk_config_minor_version -ge 20; then
1105 # Enable GSEAL when building with GTK > 2.20 and < 3.0
1106 # (Versions prior to 2.22 lacked some necessary accessors.)
1107 CPPFLAGS="-DGSEAL_ENABLE $CPPFLAGS"
1112 # "make dist" requires that we have the Qt build tools.
1114 # Annoyingly, at least on Fedora 16, uic and moc are named XXX-qt4
1115 # rather than just XXX, perhaps to allow Qt 3 and Qt 4 tools to be
1116 # installed; if they're still doing that in current Fedora releases,
1117 # perhaps there will also be XXX-qt5 when they pick up Qt 5.
1119 AC_PATH_PROG(UIC, uic)
1122 AC_PATH_PROG(UIC, uic-qt4)
1125 if test "x$with_qt" = "xyes"; then
1127 # If you want to build with Qt, you'd better
1130 AC_MSG_ERROR(I couldn't find uic or uic-qt4; make sure it's installed and in your path)
1133 # We shouldn't fail here, as the user's not
1134 # building with Qt, and we shouldn't force them
1135 # to have Qt installed if they're not doing so.
1136 # "make dist" will fail if they do that, but
1137 # we don't know whether they'll be doing that,
1138 # so this is the best we can do.
1145 AC_PATH_PROG(MOC, moc)
1148 AC_PATH_PROG(MOC, moc-qt4)
1151 if test "x$with_qt" = "xyes"; then
1153 # If you want to build with Qt, you'd better
1156 AC_MSG_ERROR(I couldn't find moc or moc-qt4; make sure it's installed and in your path)
1159 # We shouldn't fail here, as the user's not
1160 # building with Qt, and we shouldn't force them
1161 # to have Qt installed if they're not doing so.
1162 # "make dist" will fail if they do that, but
1163 # we don't know whether they'll be doing that,
1164 # so this is the best we can do.
1172 # Error out if a glib header other than a "top level" header
1173 # (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
1175 CPPFLAGS="-DG_DISABLE_SINGLE_INCLUDES $CPPFLAGS"
1177 # Error out on the usage of deprecated glib functions
1178 CPPFLAGS="-DG_DISABLE_DEPRECATED $CPPFLAGS"
1181 # Check whether GLib modules are supported, to determine whether we
1182 # can support plugins.
1184 AC_MSG_CHECKING(whether GLib supports loadable modules)
1185 ac_save_CFLAGS="$CFLAGS"
1186 ac_save_LIBS="$LIBS"
1187 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1188 LIBS="$GLIB_LIBS $LIBS"
1191 #include <gmodule.h>
1198 if (g_module_supported())
1199 return 0; /* success */
1201 return 1; /* failure */
1203 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
1204 [echo $ac_n "cross compiling; assumed OK... $ac_c"
1205 ac_cv_glib_supports_modules=yes])
1206 CFLAGS="$ac_save_CFLAGS"
1207 LIBS="$ac_save_LIBS"
1208 if test "$ac_cv_glib_supports_modules" = yes ; then
1217 # If we have <dlfcn.h>, check whether we can use dladdr to find a
1218 # filename (hopefully, a full pathname, but no guarantees) for
1221 if test "$ac_cv_header_dlfcn_h" = "yes"
1223 AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable)
1224 ac_save_CFLAGS="$CFLAGS"
1225 ac_save_LIBS="$LIBS"
1226 CFLAGS="$CFLAGS $GLIB_CFLAGS"
1227 LIBS="$GLIB_LIBS $LIBS"
1229 #define _GNU_SOURCE /* required on Linux, sigh */
1237 if (!dladdr((void *)main, &info))
1238 return 1; /* failure */
1239 return 0; /* assume success */
1241 ], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no,
1242 [echo $ac_n "cross compiling; assumed OK... $ac_c"
1243 ac_cv_dladdr_finds_executable_path=yes])
1244 CFLAGS="$ac_save_CFLAGS"
1245 LIBS="$ac_save_LIBS"
1246 if test x$ac_cv_dladdr_finds_executable_path = xyes
1248 AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable])
1250 AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path)
1253 if test "x$have_gtk" = "xyes"
1256 # We have GTK+; do we want the OS X integration functions and,
1257 # if so, do we have them and, if so, which versions do we have,
1258 # the old Carbon-based ones or the new Cocoa-based ones?
1260 AC_MSG_CHECKING(whether to use OS X integration functions)
1262 AC_ARG_WITH(osx-integration,
1263 AC_HELP_STRING( [--with-osx-integration],
1264 [use OS X integration functions @<:@default=yes, if available@:>@]),
1266 if test $withval = no
1268 want_osx_integration=no
1270 want_osx_integration=yes
1273 want_osx_integration=yes
1275 if test "x$want_osx_integration" = "xno"; then
1279 AC_WIRESHARK_OSX_INTEGRATION_CHECK
1283 AC_SUBST(wireshark_bin)
1284 AC_SUBST(wireshark_man)
1285 AM_CONDITIONAL(HAVE_Qt, test "$have_qt" = "yes")
1286 AM_CONDITIONAL(HAVE_WIRESHARK_CXX, test "$have_wireshark_cxx" = "yes")
1289 # Enable/disable tshark
1291 AC_ARG_ENABLE(tshark,
1292 AC_HELP_STRING( [--enable-tshark],
1293 [build TShark @<:@default=yes@:>@]),
1294 tshark=$enableval,enable_tshark=yes)
1296 if test "x$enable_tshark" = "xyes" ; then
1297 tshark_bin="tshark\$(EXEEXT)"
1298 tshark_man="tshark.1"
1299 wiresharkfilter_man="wireshark-filter.4"
1304 AC_SUBST(tshark_bin)
1305 AC_SUBST(tshark_man)
1306 AC_SUBST(wiresharkfilter_man)
1310 # Enable/disable editcap
1312 AC_ARG_ENABLE(editcap,
1313 AC_HELP_STRING( [--enable-editcap],
1314 [build editcap @<:@default=yes@:>@]),
1315 enable_editcap=$enableval,enable_editcap=yes)
1317 if test "x$enable_editcap" = "xyes" ; then
1318 editcap_bin="editcap\$(EXEEXT)"
1319 editcap_man="editcap.1"
1324 AC_SUBST(editcap_bin)
1325 AC_SUBST(editcap_man)
1327 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
1330 # Enable/disable capinfos
1332 AC_ARG_ENABLE(capinfos,
1333 AC_HELP_STRING( [--enable-capinfos],
1334 [build capinfos @<:@default=yes@:>@]),
1335 enable_capinfos=$enableval,enable_capinfos=yes)
1337 if test "x$enable_capinfos" = "xyes" ; then
1338 capinfos_bin="capinfos\$(EXEEXT)"
1339 capinfos_man="capinfos.1"
1344 AC_SUBST(capinfos_bin)
1345 AC_SUBST(capinfos_man)
1348 # Enable/disable mergecap
1350 AC_ARG_ENABLE(mergecap,
1351 AC_HELP_STRING( [--enable-mergecap],
1352 [build mergecap @<:@default=yes@:>@]),
1353 enable_mergecap=$enableval,enable_mergecap=yes)
1355 if test "x$enable_mergecap" = "xyes" ; then
1356 mergecap_bin="mergecap\$(EXEEXT)"
1357 mergecap_man="mergecap.1"
1362 AC_SUBST(mergecap_bin)
1363 AC_SUBST(mergecap_man)
1366 # Enable/disable reordercap
1368 AC_ARG_ENABLE(reordercap,
1369 AC_HELP_STRING( [--enable-reordercap],
1370 [build reordercap @<:@default=yes@:>@]),
1371 enable_reordercap=$enableval,enable_reordercap=yes)
1373 if test "x$enable_reordercap" = "xyes" ; then
1374 reordercap_bin="reordercap\$(EXEEXT)"
1375 reordercap_man="reordercap.1"
1380 AC_SUBST(reordercap_bin)
1381 AC_SUBST(reordercap_man)
1384 # Enable/disable text2pcap
1386 AC_ARG_ENABLE(text2pcap,
1387 AC_HELP_STRING( [--enable-text2pcap],
1388 [build text2pcap @<:@default=yes@:>@]),
1389 text2pcap=$enableval,enable_text2pcap=yes)
1391 if test "x$enable_text2pcap" = "xyes" ; then
1392 text2pcap_bin="text2pcap\$(EXEEXT)"
1393 text2pcap_man="text2pcap.1"
1398 AC_SUBST(text2pcap_bin)
1399 AC_SUBST(text2pcap_man)
1402 # Enable/disable dftest
1404 AC_ARG_ENABLE(dftest,
1405 AC_HELP_STRING( [--enable-dftest],
1406 [build dftest @<:@default=yes@:>@]),
1407 enable_dftest=$enableval,enable_dftest=yes)
1409 if test "x$enable_dftest" = "xyes" ; then
1410 dftest_bin="dftest\$(EXEEXT)"
1411 dftest_man="dftest.1"
1416 AC_SUBST(dftest_bin)
1417 AC_SUBST(dftest_man)
1420 # Enable/disable randpkt
1422 AC_ARG_ENABLE(randpkt,
1423 AC_HELP_STRING( [--enable-randpkt],
1424 [build randpkt @<:@default=yes@:>@]),
1425 enable_randpkt=$enableval,enable_randpkt=yes)
1427 if test "x$enable_randpkt" = "xyes" ; then
1428 randpkt_bin="randpkt\$(EXEEXT)"
1429 randpkt_man="randpkt.1"
1434 AC_SUBST(randpkt_bin)
1435 AC_SUBST(randpkt_man)
1439 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
1440 dnl "gethostbyname()".
1441 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
1443 dnl Checks for "connect()", used as a proxy for "socket()" - and
1444 dnl "-lsocket", if we need it to get "connect()".
1445 AC_WIRESHARK_SOCKET_LIB_CHECK
1448 AC_MSG_CHECKING(whether to use libpcap for packet capture)
1451 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
1452 [use libpcap for packet capturing @<:@default=yes@:>@]),
1454 if test $withval = no
1457 elif test $withval = yes
1468 if test "x$want_pcap" = "xno" ; then
1472 AC_WIRESHARK_PCAP_CHECK
1476 dnl Check for airpcap
1477 AC_MSG_CHECKING(whether to include airpcap support)
1478 AC_ARG_ENABLE(airpcap,
1479 AC_HELP_STRING( [--enable-airpcap],
1480 [use AirPcap in Wireshark @<:@default=yes@:>@]),
1481 enable_airpcap=$enableval, enable_airpcap=yes)
1483 if test x$enable_airpcap = xyes; then
1484 if test "x$want_pcap" = "xno" ; then
1486 AC_MSG_RESULT(pcap not available - disabling airpcap)
1489 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
1497 AC_MSG_CHECKING(whether to build dumpcap)
1499 AC_ARG_ENABLE(dumpcap,
1500 AC_HELP_STRING( [--enable-dumpcap],
1501 [build dumpcap @<:@default=yes@:>@]),
1502 enable_dumpcap=$enableval,enable_dumpcap=yes)
1504 if test "x$enable_dumpcap" = "xyes" ; then
1505 if test "x$want_pcap" = "xno" ; then
1507 AC_MSG_RESULT(pcap not available - disabling dumpcap)
1515 if test "x$enable_dumpcap" = "xyes" ; then
1516 dumpcap_bin="dumpcap\$(EXEEXT)"
1517 dumpcap_man="dumpcap.1"
1522 AC_SUBST(dumpcap_bin)
1523 AC_SUBST(dumpcap_man)
1525 # Enable/disable rawshark
1528 AC_MSG_CHECKING(whether to build rawshark)
1530 AC_ARG_ENABLE(rawshark,
1531 AC_HELP_STRING( [--enable-rawshark],
1532 [build rawshark @<:@default=yes@:>@]),
1533 rawshark=$enableval,enable_rawshark=yes)
1535 if test "x$enable_rawshark" = "xyes" ; then
1536 if test "x$want_pcap" = "xno" ; then
1538 AC_MSG_RESULT(pcap not available - disabling rawshark)
1546 if test "x$enable_rawshark" = "xyes" ; then
1547 rawshark_bin="rawshark\$(EXEEXT)"
1548 rawshark_man="rawshark.1"
1553 AC_SUBST(rawshark_bin)
1554 AC_SUBST(rawshark_man)
1556 dnl Use pcap-ng by default
1557 AC_ARG_ENABLE(pcap-ng-default,
1558 AC_HELP_STRING( [--enable-pcap-ng-default],
1559 [use the pcap-ng file format by default instead of pcap @<:@default=yes@:>@]),
1560 enable_pcap_ng_default=$enableval,enable_pcap_ng_default=yes)
1561 if test x$enable_pcap_ng_default = xyes; then
1562 AC_DEFINE(PCAP_NG_DEFAULT, 1, [Support for pcap-ng])
1565 dnl pcap remote check
1566 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1568 AC_ARG_WITH(pcap-remote,
1569 AC_HELP_STRING([--with-pcap-remote],
1570 [use libpcap remote capturing (requires libpcap)]),
1572 if test $withval = no
1576 want_pcap_remote=yes
1581 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1585 AC_WIRESHARK_PCAP_REMOTE_CHECK
1589 AC_MSG_CHECKING(whether to use zlib for gzip compression and decompression)
1592 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
1593 [use zlib (located in directory DIR, if supplied) for gzip compression and decompression @<:@default=yes, if available@:>@]),
1595 if test "x$withval" = "xno"
1598 elif test "x$withval" = "xyes"
1607 # Use zlib if it's present, otherwise don't.
1609 want_zlib=ifavailable
1612 if test "x$want_zlib" = "xno" ; then
1616 AC_WIRESHARK_ZLIB_CHECK
1617 if test "x$want_zlib" = "xno" ; then
1618 AC_MSG_RESULT(zlib not found - disabling gzip compression and decompression)
1620 if test "x$ac_cv_func_inflatePrime" = "xno" ; then
1621 AC_MSG_RESULT(inflatePrime not found in zlib - disabling gzipped capture file support)
1627 AC_MSG_CHECKING(whether to use liblua for the Lua scripting plugin)
1630 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1631 [use liblua (located in directory DIR, if supplied) for the Lua scripting plugin @<:@default=yes, if available@:>@]),
1633 if test $withval = no
1636 elif test $withval = yes
1645 # Use liblua by default
1647 want_lua=ifavailable
1650 if test "x$want_lua" = "xno" ; then
1654 AC_WIRESHARK_LIBLUA_CHECK
1655 if test "x$want_lua" = "xno" ; then
1656 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
1659 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
1663 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
1665 AC_ARG_WITH(portaudio,
1666 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1667 [use libportaudio (located in directory DIR, if supplied) for the rtp_player @<:@default=yes, if available@:>@]),
1669 if test $withval = no
1672 elif test $withval = yes
1677 portaudio_dir=$withval
1681 # Use libportaudio by default
1683 want_portaudio=ifavailable
1686 if test "x$want_portaudio" = "xno" ; then
1690 AC_WIRESHARK_LIBPORTAUDIO_CHECK
1691 if test "x$want_portaudio" = "xno" ; then
1692 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
1695 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1700 AC_HELP_STRING( [--enable-ipv6],
1701 [use IPv6 name resolution, if available @<:@default=yes@:>@]),
1702 enable_ipv6=$enableval,enable_ipv6=yes)
1704 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
1705 if test "x$enable_ipv6" = "xno" ; then
1709 AC_WIRESHARK_IPV6_STACK
1713 dnl Check if dumpcap should be installed with filesystem capabilities
1714 AC_PATH_PROG(SETCAP, setcap)
1715 AC_ARG_ENABLE(setcap-install,
1716 AC_HELP_STRING( [--enable-setcap-install],
1717 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
1718 enable_setcap_install=$enableval,enable_setcap_install=no)
1720 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
1721 if test "x$enable_setcap_install" = "xno" ; then
1724 if test "x$SETCAP" = "x" ; then
1725 AC_MSG_RESULT(no. Setcap not found)
1726 elif test "x$enable_dumpcap" = "xno" ; then
1727 AC_MSG_ERROR(Setcap install works only with dumpcap but dumpcap is disabled)
1733 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
1735 dnl Check if dumpcap should be installed setuid
1736 AC_ARG_ENABLE(setuid-install,
1737 AC_HELP_STRING( [--enable-setuid-install],
1738 [install dumpcap as setuid @<:@default=no@:>@]),
1739 enable_setuid_install=$enableval,enable_setuid_install=no)
1741 AC_MSG_CHECKING(whether to install dumpcap setuid)
1742 if test "x$enable_setuid_install" = "xno" ; then
1745 if test "x$enable_setcap_install" = "xyes" ; then
1746 enable_setuid_install=no
1747 AC_MSG_RESULT(no; using setcap instead)
1748 elif test "x$enable_dumpcap" = "xno" ; then
1749 AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
1755 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
1756 AC_CHECK_FUNCS(setresuid setresgid)
1758 dnl ...but our Network Operations group is named "no"!
1760 AC_ARG_WITH(dumpcap-group,
1761 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
1762 [restrict dumpcap to GROUP]),
1764 if test "x$withval" = "xyes"; then
1765 AC_MSG_ERROR([No dumpcap group specified.])
1766 elif test "x$withval" != "xno"; then
1767 if test "x$enable_dumpcap" = "xno" ; then
1768 AC_MSG_ERROR(dumpcap group install works only with dumpcap but dumpcap is disabled)
1770 AC_MSG_RESULT($withval)
1771 DUMPCAP_GROUP="$withval"
1774 AC_SUBST(DUMPCAP_GROUP)
1775 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
1777 dnl libcap (not libpcap) check
1779 AC_MSG_CHECKING(whether to use the libcap capabilities library)
1782 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
1783 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management @<:@default=yes, if present@:>@]),
1785 if test "x$withval" = "xno"; then
1787 elif test "x$withval" = "xyes"; then
1789 elif test -d "$withval"; then
1791 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1794 if test "x$with_libcap" = "xno" ; then
1798 AC_WIRESHARK_LIBCAP_CHECK
1800 AC_SUBST(LIBCAP_LIBS)
1802 dnl Checks for header files.
1803 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
1804 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)
1805 AC_CHECK_HEADERS(netinet/in.h)
1806 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
1810 AC_MSG_CHECKING(whether to use SSL library)
1813 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
1814 [use SSL crypto library (located in directory DIR, if supplied) @<:@default=no@:>@]),
1816 if test "x$withval" = "xno"; then
1818 elif test "x$withval" = "xyes"; then
1820 elif test -d "$withval"; then
1822 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1827 if test "x$want_ssl" = "xyes"; then
1829 AC_CHECK_LIB(crypto,EVP_md5,
1834 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
1842 AC_MSG_CHECKING(whether to use Kerberos library)
1845 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
1846 [use Kerberos library (located in directory DIR, if supplied) to use in Kerberos dissection @<:@default=yes@:>@]),
1848 if test $withval = no
1851 elif test $withval = yes
1860 # Use Kerberos library if available, otherwise don't.
1862 want_krb5=ifavailable
1865 if test "x$want_krb5" = "xno" ; then
1869 AC_WIRESHARK_KRB5_CHECK
1875 AC_MSG_CHECKING(whether to use the c-ares library if available)
1878 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
1879 [use c-ares (located in directory DIR, if supplied) - supersedes --with-adns @<:@default=yes, if present@:>@]),
1881 if test "x$withval" = "xno"; then
1883 elif test "x$withval" = "xyes"; then
1885 elif test -d "$withval"; then
1887 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1890 if test "x$want_c_ares" = "xno" ; then
1894 AC_WIRESHARK_C_ARES_CHECK
1896 AC_SUBST(C_ARES_LIBS)
1900 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
1903 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
1904 [use GNU ADNS (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
1906 if test "x$withval" = "xno"; then
1908 elif test "x$withval" = "xyes"; then
1910 elif test -d "$withval"; then
1912 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1915 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
1919 AC_WIRESHARK_ADNS_CHECK
1925 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
1928 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
1929 [use GeoIP (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
1931 if test "x$withval" = "xno"; then
1933 elif test "x$withval" = "xyes"; then
1935 elif test -d "$withval"; then
1937 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1940 if test "x$want_geoip" = "xno"; then
1944 AC_WIRESHARK_GEOIP_CHECK
1946 AC_SUBST(GEOIP_LIBS)
1948 dnl Python devel Check
1949 AC_MSG_CHECKING(whether to use the Python interpreter for scripting)
1952 AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
1953 [use Python interpreter (installed in DIR, if supplied) @<:@default=no@:>@ (BROKEN/UNSTABLE)]),
1955 pythondir='${libdir}/wireshark/python/${VERSION}'
1956 if test "x$withval" = "xno"
1959 elif test "x$withval" = "xyes"
1964 pythondir="$withval"
1967 # By default (user didn't explicitly enable Python), don't enable
1971 #pythondir='${libdir}/wireshark/python/${VERSION}'
1973 if test "x$want_python" = "xno" ; then
1977 AC_WIRESHARK_PYTHON_CHECK
1979 AM_CONDITIONAL(HAVE_LIBPY, test x$want_python != xno)
1983 # Define WS_VAR_IMPORT appropriately for declarations of external
1984 # variables exported from dynamically-linked libraries.
1986 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
1989 # Define WS_MSVC_NORETURN appropriately for declarations of routines that
1990 # never return (just like Charlie on the MTA).
1992 # Note that MSVC++ expects __declspec(noreturn) to precede the function
1993 # name and GCC, as far as I know, expects __attribute__((noreturn)) to
1994 # follow the function name, so we need two different flavors of
1997 AC_DEFINE(WS_MSVC_NORETURN,, [Define as the string to precede declarations of routines that never return])
1999 dnl Checks for typedefs, structures, and compiler characteristics.
2002 # Check how we can get the time zone abbreviation
2003 AC_WIRESHARK_TIMEZONE_ABBREV
2005 # We need to know whether "struct stat" has an "st_flags" member
2006 # for file_user_immutable().
2008 AC_WIRESHARK_STRUCT_ST_FLAGS
2010 # We need to know whether "struct sockaddr" has an "sa_len" member
2011 # for get_interface_list().
2013 AC_WIRESHARK_STRUCT_SA_LEN
2015 # We must know our byte order
2018 # Checks whether "-traditional" is needed when using "ioctl".
2019 # XXX - do we need this?
2020 AC_PROG_GCC_TRADITIONAL
2023 AC_CHECK_FUNC(getopt,
2025 AC_DEFINE(HAVE_GETOPT, 1, [Define to 1 if you have the getopt function.])
2027 GETOPT_LO="wsgetopt.lo"
2029 if test "$ac_cv_func_getopt" = no ; then
2030 GETOPT_LO="wsgetopt.lo"
2032 AM_CONDITIONAL(NEED_GETOPT_LO, test "x$ac_cv_func_getopt" = "xno")
2035 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_LO="",
2036 STRNCASECMP_LO="strncasecmp.lo")
2037 if test "$ac_cv_func_strncasecmp" = no ; then
2038 STRNCASECMP_LO="strncasecmp.lo"
2040 AM_CONDITIONAL(NEED_STRNCASECMP_LO, test "x$ac_cv_func_strncasecmp" = "xno")
2041 AC_SUBST(STRNCASECMP_LO)
2043 AC_CHECK_FUNCS(mkstemp mkdtemp)
2045 AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
2047 if test "$have_inet_aton" = no; then
2048 INET_ATON_LO="inet_aton.lo"
2049 AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
2053 AM_CONDITIONAL(NEED_INET_ATON_LO, test "x$have_inet_aton" = "xno")
2054 AC_SUBST(INET_ATON_LO)
2056 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
2057 dnl check for pre-BIND82 inet_pton() bug.
2058 AC_MSG_CHECKING(for broken inet_pton)
2059 AC_TRY_RUN([#include <sys/types.h>
2060 #include <sys/socket.h>
2061 #include <netinet/in.h>
2062 #include <arpa/inet.h>
2067 /* this should return 0 (error) */
2068 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
2072 }], [AC_MSG_RESULT(ok);
2073 have_inet_pton=yes], [AC_MSG_RESULT(broken);
2074 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
2075 have_inet_pton=no])],
2077 if test "$have_inet_pton" = no; then
2078 INET_PTON_LO="inet_pton.lo"
2082 AM_CONDITIONAL(NEED_INET_PTON_LO, test "x$have_inet_pton" = "xno")
2083 AC_SUBST(INET_PTON_LO)
2085 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
2086 AC_MSG_CHECKING([for inet_ntop prototype])
2087 AC_TRY_COMPILE([#include <stdio.h>
2088 #include <sys/types.h>
2089 #include <sys/socket.h>
2090 #include <netinet/in.h>
2091 #include <arpa/inet.h>
2093 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
2095 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2096 [Define if inet_ntop() prototype exists])], [
2097 AC_TRY_COMPILE([#include <stdio.h>
2098 #include <sys/types.h>
2099 #include <sys/socket.h>
2100 #include <netinet/in.h>
2101 #include <arpa/inet.h>
2103 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
2105 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
2106 [Define if inet_ntop() prototype exists])], [
2107 AC_MSG_RESULT(no)])])
2109 INET_NTOP_LO="inet_ntop.lo"
2110 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
2111 [Define if inet/v6defs.h needs to be included])])
2112 AM_CONDITIONAL(NEED_INET_NTOP_LO, test "x$INET_NTOP_LO" != "x")
2113 AC_SUBST(INET_NTOP_LO)
2115 AC_CHECK_FUNC(strptime, STRPTIME_LO="",
2116 [STRPTIME_LO="strptime.lo"
2117 AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
2119 if test "$ac_cv_func_strptime" = no ; then
2120 STRPTIME_LO="strptime.lo"
2122 AC_SUBST(STRPTIME_C)
2123 AM_CONDITIONAL(NEED_STRPTIME_LO, test "x$ac_cv_func_strptime" = "no")
2124 AC_SUBST(STRPTIME_LO)
2126 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
2127 AC_CHECK_FUNCS(issetugid)
2128 AC_CHECK_FUNCS(mmap mprotect sysconf)
2129 AC_CHECK_FUNCS(strtoll)
2131 dnl blank for now, but will be used in future
2132 AC_SUBST(wireshark_SUBDIRS)
2135 dnl check whether plugins should be enabled and, if they should be,
2136 dnl check for plugins directory - stolen from Amanda's configure.ac
2138 dnl we don't wish to expand ${libdir} yet
2139 plugindir='${libdir}/wireshark/plugins/${VERSION}'
2140 AC_ARG_WITH(plugins,
2141 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
2142 [support plugins (installed in DIR, if supplied) @<:@default=yes, if possible@:>@]),
2144 if test "x$withval" = "xno"; then
2146 elif test "x$have_plugins" = "xno"; then
2147 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
2148 elif test "x$withval" != "xyes"; then
2149 plugindir="$withval"
2152 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
2153 if test x$have_plugins = xyes
2155 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
2158 CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'"
2161 # The plugin dissectors reside in ./plugins/PROTO/
2164 AC_SUBST(PLUGIN_LIBS)
2167 # Check if (emem) memory allocations must be 8-byte aligned.
2168 # I haven't been able to write C code that reliably makes that determination
2169 # (different versions of GCC with or without optimization give different
2170 # results) so just assume everything except (32-bit) x86 needs 8-byte
2171 # alignment (64-bit platforms either require 8-byte alignment for pointers
2172 # and 64-bit integral data types or may get better performance from that;
2173 # 64-bit x86 will get 8-byte alignment from G_MEM_ALIGN anyway. 32-bit
2174 # platforms would only require it, or get better performance from it,
2175 # for 64-bit floating-point values.).
2177 AC_MSG_CHECKING(whether we need memory allocations to be 8-byte aligned)
2179 i386|i486|i586|i686)
2184 AC_DEFINE(NEED_8_BYTE_ALIGNMENT, 1, [Define if we need memory allocations to be 8-byte aligned])
2190 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
2191 # (autoconf? automake? libtool?) - with the newer version(s), it's
2192 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
2194 # With older version(s) of those tool(s), however, it's not just an
2195 # alias, and the configure scripts don't work without it.
2198 AC_SUBST(LIBTOOL_DEPS)
2200 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
2201 if test x$enable_static = xyes -a x$have_plugins = xyes
2203 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
2205 AC_SUBST(ENABLE_STATIC)
2207 dnl Save the cacheable configure results to config.cache before recursing
2210 sinclude(plugins/Custom.m4) dnl
2211 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
2213 sinclude(asn1/Custom.m4) dnl
2214 ifdef(_CUSTOM_ASN1_AC_OUTPUT_,, define(_CUSTOM_ASN1_AC_OUTPUT_, )) dnl
2216 AC_CONFIG_HEADERS(config.h)
2221 _CUSTOM_ASN1_AC_OUTPUT_
2222 asn1/acp133/Makefile
2224 asn1/ansi_map/Makefile
2225 asn1/ansi_tcap/Makefile
2229 asn1/charging_ase/Makefile
2234 asn1/credssp/Makefile
2243 asn1/gprscdr/Makefile
2244 asn1/gsm_map/Makefile
2253 asn1/h450-ros/Makefile
2256 asn1/HI2Operations/Makefile
2260 asn1/kerberos/Makefile
2263 asn1/logotypecertextn/Makefile
2267 asn1/lte-rrc/Makefile
2270 asn1/mpeg-audio/Makefile
2271 asn1/mpeg-pes/Makefile
2273 asn1/ns_cert_exts/Makefile
2281 asn1/pkcs12/Makefile
2282 asn1/pkinit/Makefile
2283 asn1/pkixac/Makefile
2284 asn1/pkix1explicit/Makefile
2285 asn1/pkix1implicit/Makefile
2286 asn1/pkixproxy/Makefile
2287 asn1/pkixqualified/Makefile
2288 asn1/pkixtsp/Makefile
2291 asn1/q932-ros/Makefile
2302 asn1/sbc-ap/Makefile
2305 asn1/spnego/Makefile
2313 asn1/wlancertextn/Makefile
2315 asn1/x509af/Makefile
2316 asn1/x509ce/Makefile
2317 asn1/x509if/Makefile
2318 asn1/x509sat/Makefile
2325 epan/dfilter/Makefile
2326 epan/dissectors/Makefile
2327 epan/dissectors/dcerpc/Makefile
2328 epan/dissectors/pidl/Makefile
2329 epan/ftypes/Makefile
2332 epan/wspython/Makefile
2343 packaging/macosx/Info.plist
2344 packaging/macosx/Makefile
2345 packaging/macosx/osx-dmg.sh
2346 packaging/nsis/Makefile
2347 packaging/rpm/Makefile
2348 packaging/rpm/SPECS/Makefile
2349 packaging/rpm/SPECS/wireshark.spec
2350 packaging/svr4/Makefile
2351 packaging/svr4/checkinstall
2352 packaging/svr4/pkginfo
2354 plugins/asn1/Makefile
2355 plugins/docsis/Makefile
2356 plugins/ethercat/Makefile
2357 plugins/gryphon/Makefile
2358 plugins/irda/Makefile
2359 plugins/m2m/Makefile
2360 plugins/mate/Makefile
2361 plugins/opcua/Makefile
2362 plugins/profinet/Makefile
2363 plugins/stats_tree/Makefile
2364 plugins/unistim/Makefile
2365 plugins/wimax/Makefile
2366 plugins/wimaxasncp/Makefile
2367 plugins/wimaxmacphy/Makefile
2369 tools/lemon/Makefile
2374 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
2379 if test "x$have_qt" = "xyes"; then
2380 gui_lib_message=" (with Qt)"
2382 if test "x$have_gtk" = "xyes"; then
2383 if test "x$with_gtk3" = "xyes"; then
2384 gui_lib_message=" (with GTK+ 3"
2386 gui_lib_message=" (with GTK+ 2"
2388 if test "x$have_ige_mac" = "xyes"; then
2389 gui_lib_message="$gui_lib_message and Mac OS X integration)"
2391 gui_lib_message="$gui_lib_message)"
2396 if test "x$enable_setcap_install" = "xyes" ; then
2397 setcap_message="yes"
2402 if test "x$enable_setuid_install" = "xyes" ; then
2403 setuid_message="yes"
2408 if test "x$DUMPCAP_GROUP" = "x" ; then
2409 dumpcap_group_message="(none)"
2411 dumpcap_group_message="$DUMPCAP_GROUP"
2414 if test "x$want_zlib" = "xno" ; then
2420 if test "x$want_lua" = "xyes" ; then
2426 if test "x$want_python" = "xno"; then
2429 python_message="yes"
2432 if test "x$want_portaudio" = "xyes" ; then
2433 portaudio_message="yes"
2435 portaudio_message="no"
2438 if test "x$want_ssl" = "xno" ; then
2444 if test "x$want_krb5" = "xno" ; then
2447 krb5_message="yes ($ac_krb5_version)"
2450 if test "x$have_good_c_ares" = "xyes" ; then
2451 c_ares_message="yes"
2456 if test "x$have_good_adns" = "xyes" ; then
2459 if test "x$have_good_c_ares" = "xyes" ; then
2460 adns_message="no (using c-ares instead)"
2466 if test "x$have_good_libcap" = "xyes" ; then
2467 libcap_message="yes"
2472 if test "x$have_good_geoip" = "xyes" ; then
2479 echo "The Wireshark package has been configured with the following options."
2480 echo " Build wireshark : $enable_wireshark""$gui_lib_message"
2481 echo " Build tshark : $enable_tshark"
2482 echo " Build capinfos : $enable_capinfos"
2483 echo " Build editcap : $enable_editcap"
2484 echo " Build dumpcap : $enable_dumpcap"
2485 echo " Build mergecap : $enable_mergecap"
2486 echo " Build reordercap : $enable_reordercap"
2487 echo " Build text2pcap : $enable_text2pcap"
2488 echo " Build randpkt : $enable_randpkt"
2489 echo " Build dftest : $enable_dftest"
2490 echo " Build rawshark : $enable_rawshark"
2492 echo " Save files as pcap-ng by default : $enable_pcap_ng_default"
2493 echo " Install dumpcap with capabilities : $setcap_message"
2494 echo " Install dumpcap setuid : $setuid_message"
2495 echo " Use dumpcap group : $dumpcap_group_message"
2496 echo " Use plugins : $have_plugins"
2497 echo " Use Lua library : $lua_message"
2498 echo " Use Python binding : $python_message"
2499 echo " Build rtp_player : $portaudio_message"
2500 echo " Build profile binaries : $enable_profile_build"
2501 echo " Use pcap library : $want_pcap"
2502 echo " Use zlib library : $zlib_message"
2503 echo " Use kerberos library : $krb5_message"
2504 echo " Use c-ares library : $c_ares_message"
2505 echo " Use GNU ADNS library : $adns_message"
2506 echo " Use SMI MIB library : $libsmi_message"
2507 echo " Use GNU crypto library : $gcrypt_message"
2508 echo " Use SSL crypto library : $ssl_message"
2509 echo " Use IPv6 name resolution : $enable_ipv6"
2510 echo " Use gnutls library : $tls_message"
2511 echo " Use POSIX capabilities library : $libcap_message"
2512 echo " Use GeoIP library : $geoip_message"
2513 echo " Use nl library : $libnl_message"