5 AC_INIT(wireshark, 1.5.0)
7 dnl Check for CPU / vendor / OS
8 dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
9 dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the
10 dnl needs. Using `AC_CANONICAL_TARGET' is enough to run the two other
13 dnl As nothing in the Wireshark is itself a build tool (we are not,
14 dnl for example, a compiler that generates machine code), we probably
15 dnl don't need AC_CANONICAL_TARGET, so, in theory, we should be able
16 dnl to use AC_CANONICAL_BUILD and AC_CANONICAL_HOST - or perhaps just
17 dnl AC_CANONICAL_HOST - instead. Note that we do have tools, such as
18 dnl lemon, that need to be built for the build machine, not for the
19 dnl host machine, so we might need both.
21 dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails.
23 dnl AC_CANONICAL_BUILD
27 AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip])
31 dnl Checks for programs.
36 dnl Work around libtool bug (fixed in the version 1.5a?)
37 AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
40 AC_PATH_PROG(PERL, perl)
42 AC_PATH_PROG(YACCDUMMY, $YACC)
43 if test "x$YACCDUMMY" = x
45 AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
48 AC_PATH_PROG(LEX, flex)
51 AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path)
53 AC_PATH_PROG(POD2MAN, pod2man)
54 if test "x$POD2MAN" = x
57 # The alternative is not to build the man pages....
59 AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
61 AC_PATH_PROG(POD2HTML, pod2html)
62 if test "x$POD2HTML" = x
65 # The alternative is not to build the HTML man pages....
67 AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
71 # XXX - this looks for various HTML viewers on the host, not the target;
72 # we really want to know what's available on the target, for cross-builds.
73 # That would probably require us to, at run time, look for xdg-open and,
74 # if we don't find it, look for mozilla, htmlview, etc.
76 AC_PATH_PROG(HTML_VIEWER, xdg-open)
77 if test "x$HTML_VIEWER" != x
80 # XXX - the HTML_VIEWER shell variable is the full path of xdg-open.
81 # Define some variable to be that, so we just run that?
83 AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
86 # XXX - we have to define HTML_VIEWER for the prefs.c code that
87 # sets the default value of the Web browser preference, even
88 # though that preference won't be offered.
90 AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
92 AC_PATH_PROG(HTML_VIEWER, htmlview)
93 if test "x$HTML_VIEWER" = x
95 AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
97 AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
101 AC_PATH_PROG(LEX, flex)
102 AC_PATH_PROG(PYTHON, python)
113 if test "x$CC_FOR_BUILD" = x
117 AC_SUBST(CC_FOR_BUILD)
120 AC_PATH_PROG(DOXYGEN, doxygen)
121 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
122 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
126 AC_ARG_WITH([gnutls],
127 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
128 [use gnutls library @<:@default=yes@:>@]),
129 with_gnutls="$withval", with_gnutls="yes")
130 if test "x$with_gnutls" = "xyes"; then
131 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0],
133 echo "gnuTLS found, enabling ssl decryption"
134 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library])
138 echo "gnuTLS not found, disabling ssl decryption"
146 AC_ARG_WITH([gcrypt],
147 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
148 [use gcrypt library @<:@default=yes@:>@]),
149 with_gcrypt="$withval", with_gcrypt="yes")
150 if test "x$with_gcrypt" = "xyes"; then
151 AM_PATH_LIBGCRYPT(1.1.92,
153 echo "libgcrypt found, enabling ipsec decryption"
154 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
158 if test x$libgcrypt_config_prefix != x ; then
159 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
161 echo "libgcrypt not found, disabling ipsec decryption"
169 # FIXME: currently the path argument to with-libsmi is being ignored
173 AC_PATH_PROG(XSLTPROC, xsltproc)
174 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
175 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
178 AC_PATH_PROG(XMLLINT, xmllint)
179 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
180 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
182 # Check for fop (translate .fo to e.g. pdf)
183 AC_PATH_PROG(FOP, fop)
184 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
185 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
188 # Look for something to convert HTML to text (for docbook/)
190 AC_PATH_PROG(ELINKS, elinks)
191 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
192 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
194 ## links: Fails as used in docbook/Makefile.am
195 ## (Rather than fixing things we'll just disable the use of links).
196 ##AC_PATH_PROG(LINKS, links)
197 ##AC_CHECK_PROG(HAVE_LINKS, links, "yes", "no")
198 ##AM_CONDITIONAL(HAVE_LINKS, test x$HAVE_LINKS = xyes)
200 AC_PATH_PROG(LYNX, lynx)
201 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
202 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
205 # Check for hhc (html help compiler)
206 AC_PATH_PROG(HHC, hhc.exe)
207 AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no")
208 AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes)
210 # Check for packaging utilities
211 # For now, we check to see if the various packaging utilites are in our
212 # path. I'm too lazy to write code to go hunt for them. - Gerald
215 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
216 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
217 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
219 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
220 -a x$HAVE_PKGTRANS = xyes ; then
221 HAVE_SVR4_PACKAGING=yes
223 HAVE_SVR4_PACKAGING=no
225 AC_SUBST(HAVE_SVR4_PACKAGING)
228 AC_WIRESHARK_RPM_CHECK
232 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
235 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
236 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
237 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
239 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
240 -a x$HAVE_BLESS = xyes ; then
241 HAVE_OSX_PACKAGING=yes
243 HAVE_OSX_PACKAGING=no
245 AC_SUBST(HAVE_OSX_PACKAGING)
248 # Try to add some additional gcc checks to CFLAGS
250 AC_ARG_ENABLE(extra-gcc-checks,
251 AC_HELP_STRING( [--enable-extra-gcc-checks],
252 [Do additional -W checks in GCC. @<:@default=no@:>@]),
254 wireshark_extra_gcc_flags=$enableval
255 if test $enableval != no
257 AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
258 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
259 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op)
260 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
261 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
262 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
263 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations)
264 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
265 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast)
266 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
267 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress)
268 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
269 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
270 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
271 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
272 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
273 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
274 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas)
275 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls)
276 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla)
277 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat)
278 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init)
280 # epan/dissectors/packet-ncp2222.inc blocks this one
283 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
284 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
285 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
287 # epan/dissectors/packet-afs.c blocks this one for now.
289 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow)
291 # More cleanup needed for this on LP64.
293 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
296 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
297 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -W is now known as -Wextra
298 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
299 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
300 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
301 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign)
302 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
303 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
304 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
305 # Use the faster pre gcc 4.5 floating point precision
306 AC_WIRESHARK_GCC_CFLAGS_CHECK(-fexcess-precision=fast)
308 AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed])
309 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-flto])
310 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr])
311 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program])
314 # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
315 # so we can use _U_ to flag unused function arguments and not get warnings
316 # about them. Otherwise, add '-D_U_=""', so that _U_ used to flag an unused
317 # function argument will compile with non-GCC compilers.
319 if test "x$GCC" = "xyes" ; then
320 CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
322 CFLAGS="-D_U_=\"\" $CFLAGS"
326 # If we're running gcc, will enable a barrier "stop on warning".
327 # This barrier is set for a very large part of the code. However, it is
328 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
330 warnings_as_errors_default="yes"
331 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
332 AC_ARG_ENABLE(warnings-as-errors,
333 AC_HELP_STRING( [--enable-warnings-as-errors],
334 [Treat warnings as errors (only for gcc). @<:@default=yes@:>@]),
336 if test "x$GCC" = "xyes" -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
337 with_warnings_as_errors="yes"
340 with_warnings_as_errors="no"
344 if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
345 with_warnings_as_errors="yes"
348 with_warnings_as_errors="no"
352 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
355 # Add any platform-specific compiler flags needed.
357 AC_MSG_CHECKING(for platform-specific compiler flags)
358 if test "x$GCC" = "xyes" ; then
360 # GCC - do any platform-specific tweaking necessary.
364 # the X11 headers don't automatically include prototype info
365 # and a lot don't include the return type
366 CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15"
367 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
371 # See comments above about Apple's lovely C compiler.
373 CFLAGS="-no-cpp-precomp $CFLAGS"
374 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
377 AC_MSG_RESULT(none needed)
382 # Not GCC - assume it's the vendor's compiler.
387 # HP's ANSI C compiler; flags suggested by Jost Martin.
388 # "-Ae" for ANSI C plus extensions such as "long long".
389 # "+O2", for optimization. XXX - works with "-g"?
391 CFLAGS="-Ae +O2 $CFLAGS"
392 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
396 # It may be called "cc", but it's really a GCC derivative
397 # with a problematic special precompiler and precompiled
398 # headers; turn off the special precompiler, as some
399 # apparently-legal code won't compile with its precompiled
402 CFLAGS="-no-cpp-precomp $CFLAGS"
403 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
406 AC_MSG_RESULT(none needed)
412 # Add any platform-specific linker flags needed.
414 AC_MSG_CHECKING(for platform-specific linker flags)
418 # Add -Wl,-single_module to the LDFLAGS used with shared
419 # libraries, to fix some error that show up in some cases;
420 # some Apple documentation recommends it for most shared
423 LDFLAGS_SHAREDLIB="-Wl,-single_module"
425 # Add -Wl,-search_paths_first to make sure that if we search
426 # directories A and B, in that order, for a given library, a
427 # non-shared version in directory A, rather than a shared
428 # version in directory B, is chosen (so we can use
429 # --with-pcap=/usr/local to force all programs to be linked
430 # with a static version installed in /usr/local/lib rather than
431 # the system version in /usr/lib).
433 LDFLAGS="-Wl,-search_paths_first $LDFLAGS"
434 AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first])
438 # Shared libraries in cygwin/Win32 must never contain
441 LDFLAGS="$LDFLAGS -no-undefined"
442 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
445 AC_MSG_RESULT(none needed)
448 AC_SUBST(LDFLAGS_SHAREDLIB)
450 # Control silent compiling
451 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
454 # On OS X, if we find the headers for Core Foundation, Launch Services,
455 # and Core Services, add -framework options to link with Application
456 # Services (of which Launch Services is a subframework), Core Foundation
457 # (required by the Launch Services APIs), and Core Services, so we can
458 # use them to launch a Web browser from the Help menu and to use
459 # Gestalt() to get the Mac OS X version number.
464 AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services])
466 ac_coreservices_frameworks="-framework CoreServices"
467 ac_launchservices_frameworks="-framework ApplicationServices -framework CoreFoundation $ac_coreservices_frameworks"
468 LIBS="$LIBS $ac_launchservices_frameworks $ac_coreservices_frameworks"
471 # include <CoreFoundation/CFBase.h>
472 # include <CoreFoundation/CFString.h>
473 # include <CoreFoundation/CFURL.h>
474 # include <ApplicationServices/ApplicationServices.h>
475 # include <CoreServices/CoreServices.h>
478 CFStringRef url_CFString;
483 url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII);
484 url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL);
485 status = LSOpenCFURLRef(url_CFURL, NULL);
487 Gestalt(gestaltSystemVersion, &os_version);
489 ac_cv_can_use_osx_frameworks=yes,
490 ac_cv_can_use_osx_frameworks=no,
491 [echo $ac_n "cross compiling; assumed OK... $ac_c"])
492 if test "$ac_cv_can_use_osx_frameworks" = yes ; then
493 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
494 CORESERVICES_FRAMEWORKS="$ac_coreservices_frameworks"
495 LAUNCHSERVICES_FRAMEWORKS="$ac_launchservices_frameworks"
503 AC_SUBST(CORESERVICES_FRAMEWORKS)
504 AC_SUBST(LAUNCHSERVICES_FRAMEWORKS)
507 # If using $prefix we add "$prefix/include" to the include search path
508 # and "$prefix/lib" to the library search path.
510 if test "x$prefix" != "x" ; then
511 AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
512 if test -d $prefix/include ; then
515 # Arrange that we search for header files in "$prefix/include", as
516 # various packages we use may have been installed under "$prefix/include".
518 CFLAGS="$CFLAGS -I$prefix/include"
519 CPPFLAGS="$CPPFLAGS -I$prefix/include"
522 # Arrange that we search for libraries in "$prefix/lib".
524 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
530 dnl Look in /usr/local for header files and libraries ?
531 dnl XXX FIXME don't include /usr/local if it is already in the system
532 dnl search path as this causes gcc 3.2 on Linux to complain about a change
533 dnl of the system search order for includes
534 AC_ARG_ENABLE(usr-local,
535 AC_HELP_STRING( [--enable-usr-local],
536 [look for headers and libs in /usr/local tree. @<:@default=yes@:>@]),
537 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
539 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
540 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
541 if test -d "/usr/local"; then
544 # Arrange that we search for header files in the source directory
545 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
546 # as various packages we use ("libpcap", "zlib", "adns", "pcre")
547 # may have been installed under "/usr/local/include".
549 CFLAGS="$CFLAGS -I/usr/local/include"
550 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
553 # Arrange that we search for libraries in "/usr/local/lib".
555 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
564 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
569 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
570 if test x$LD_LIBRARY_PATH != x ; then
571 LIBS="$LIBS -R$LD_LIBRARY_PATH"
572 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
574 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
580 # Check for versions of "sed" inadequate to handle, in libtool, a list
581 # of object files as large as the list in Wireshark.
583 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
584 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
585 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
586 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
587 # is the only "sed" that comes with Solaris that can handle Wireshark.
589 # Add any checks here that are necessary for other OSes.
591 AC_WIRESHARK_GNU_SED_CHECK
592 if test "$HAVE_GNU_SED" = no ; then
595 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
597 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
599 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
614 # Enable/disable tshark
616 AC_ARG_ENABLE(wireshark,
617 AC_HELP_STRING( [--enable-wireshark],
618 [build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]),
619 enable_wireshark=$enableval,enable_wireshark=yes)
621 AC_ARG_ENABLE(threads,
622 AC_HELP_STRING( [--enable-threads],
623 [use threads in wireshark. @<:@default=no@:>@]),
624 enable_threads=$enableval,enable_threads=no)
625 AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes)
627 AC_ARG_ENABLE(profile-build,
628 AC_HELP_STRING( [--enable-profile-build],
629 [build profile-ready binaries. @<:@default=no@:>@]),
630 enable_profile_build=$enableval,enable_profile_build=no)
631 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
632 AC_MSG_CHECKING(if profile builds must be generated)
633 if test "x$enable_profile_build" = "xyes" ; then
634 if test "x$GCC" = "xyes" ; then
636 CFLAGS=" -pg $CFLAGS"
639 echo "Building profile binaries currently only supported for GCC."
645 # Create DATAFILE_DIR #define for config.h
646 datafiledir=$datadir/wireshark
648 test "x$prefix" = xNONE && prefix=$ac_default_prefix
649 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
650 # Ugly hack, but I don't see how this problem can be solved
651 # properly that DATAFILE_DIR had a value starting with
652 # "${prefix}/" instead of e.g. "/usr/local/"
653 eval eval echo "$datafiledir"
655 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
657 # Create DOC_DIR #define for config.h
659 test "x$prefix" = xNONE && prefix=$ac_default_prefix
660 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
661 # Ugly hack, but I don't see how this problem can be solved
662 # properly that DOC_DIR had a value starting with
663 # "${prefix}/" instead of e.g. "/usr/local/"
664 eval eval echo "$docdir"
666 AC_DEFINE_UNQUOTED(DOC_DIR, "$docdir", [Directory for docs])
668 # GTK checks; we require GTK+ 2.4 or later.
669 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
670 # programs to be built with GTK+.
672 if test "x$enable_wireshark" = "xyes"; then
673 AM_PATH_GTK_2_0(2.4.0,
675 CFLAGS="$CFLAGS $GTK_CFLAGS"
676 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
677 AC_DEFINE(HAVE_GTK, 1, [Define to 1 if compiling with GTK])
678 ], GTK_OK=no, gthread)
683 # GLib checks; we require GLib 2.4 or later, and require gmodule
684 # support, as we need that for dynamically loading plugins.
685 # If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because
686 # AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a
687 # superset of GLIB_CFLAGS. If we didn't find GTK+, it does add
688 # GLIB_CFLAGS to CFLAGS.
689 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
690 # set when generating the Makefile, so we can make programs that require
691 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
692 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
693 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
694 # programs to be built with GLib.
696 if test "$GTK_OK" = "no" ; then
698 # We don't have GTK+.
699 # If they didn't explicitly say "--disable-wireshark", fail (so
700 # that, unless they explicitly indicated that they don't want
701 # Wireshark, we stop so they know they won't be getting
702 # Wireshark unless they fix the GTK+ problem).
704 if test "x$enable_wireshark" = "xyes"; then
705 AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled])
710 AM_PATH_GLIB_2_0(2.4.0,
712 CFLAGS="$CFLAGS $GLIB_CFLAGS"
713 CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
714 ], AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
717 # We have GTK+, and thus will be building Wireshark unless the
718 # user explicitly disabled it.
720 wireshark_bin="wireshark\$(EXEEXT)"
721 wireshark_man="wireshark.1"
722 wireshark_SUBDIRS="codecs gtk"
723 # Don't use GLIB_CFLAGS
724 AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
728 # Check whether GLib includes GRegex support.
729 # We just assume that everybody builds GLib 2.14.0 and later
730 # with GRegex support; it's possible to compile GLib without
731 # GRegex but it doesn't look as if anyone does.
733 AC_MSG_CHECKING(for GLIB - version >= 2.14.0)
734 if test x$PKG_CONFIG != xno ; then
735 ## don't try to run the test against uninstalled libtool libs
736 if $PKG_CONFIG --uninstalled $pkg_config_args; then
737 echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
741 if $PKG_CONFIG --atleast-version 2.14.0 glib-2.0; then
746 AC_MSG_RESULT($have_gregex)
750 # Check whether GLib modules are supported, to determine whether we
751 # can support plugins.
753 AC_MSG_CHECKING(whether GLib supports loadable modules)
754 ac_save_CFLAGS="$CFLAGS"
756 CFLAGS="$CFLAGS $GLIB_CFLAGS"
757 LIBS="$GLIB_LIBS $LIBS"
767 if (g_module_supported())
768 return 0; /* success */
770 return 1; /* failure */
772 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
773 [echo $ac_n "cross compiling; assumed OK... $ac_c"
774 ac_cv_glib_supports_modules=yes])
775 CFLAGS="$ac_save_CFLAGS"
777 if test "$ac_cv_glib_supports_modules" = yes ; then
786 # If we have <dlfcn.h>, check whether we can use dladdr to find a
787 # filename (hopefully, a full pathname, but no guarantees) for
790 if test "$ac_cv_header_dlfcn_h" = "yes"
792 AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable)
793 ac_save_CFLAGS="$CFLAGS"
795 CFLAGS="$CFLAGS $GLIB_CFLAGS"
796 LIBS="$GLIB_LIBS $LIBS"
798 #define _GNU_SOURCE /* required on Linux, sigh */
806 if (!dladdr((void *)main, &info))
807 return 1; /* failure */
808 return 0; /* assume success */
810 ], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no,
811 [echo $ac_n "cross compiling; assumed OK... $ac_c"
812 ac_cv_dladdr_finds_executable_path=yes])
813 CFLAGS="$ac_save_CFLAGS"
815 if test x$ac_cv_dladdr_finds_executable_path = xyes
817 AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable])
819 AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path)
822 if test "x$no_gtk" != "xyes"
825 # We have GTK+; do we want the OS X integration functions and,
826 # if so, do we have them and, if so, which versions do we have,
827 # the old Carbon-based ones or the new Cocoa-based ones?
829 AC_MSG_CHECKING(whether to use OS X integration functions)
831 AC_ARG_WITH(osx-integration,
832 AC_HELP_STRING( [--with-osx-integration],
833 [use OS X integration functions (@<:@default=yes, if available@:>@]),
835 if test $withval = no
837 want_osx_integration=no
839 want_osx_integration=yes
842 want_osx_integration=yes
844 if test "x$want_osx_integration" = "xno"; then
848 AC_WIRESHARK_OSX_INTEGRATION_CHECK
852 AC_SUBST(wireshark_bin)
853 AC_SUBST(wireshark_man)
856 # Enable/disable tshark
858 AC_ARG_ENABLE(tshark,
859 AC_HELP_STRING( [--enable-tshark],
860 [build tshark. @<:@default=yes@:>@]),
861 tshark=$enableval,enable_tshark=yes)
863 if test "x$enable_tshark" = "xyes" ; then
864 tshark_bin="tshark\$(EXEEXT)"
865 tshark_man="tshark.1"
866 wiresharkfilter_man="wireshark-filter.4"
873 AC_SUBST(wiresharkfilter_man)
877 # Enable/disable editcap
879 AC_ARG_ENABLE(editcap,
880 AC_HELP_STRING( [--enable-editcap],
881 [build editcap. @<:@default=yes@:>@]),
882 enable_editcap=$enableval,enable_editcap=yes)
884 if test "x$enable_editcap" = "xyes" ; then
885 editcap_bin="editcap\$(EXEEXT)"
886 editcap_man="editcap.1"
891 AC_SUBST(editcap_bin)
892 AC_SUBST(editcap_man)
894 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
897 # Enable/disable capinfos
899 AC_ARG_ENABLE(capinfos,
900 AC_HELP_STRING( [--enable-capinfos],
901 [build capinfos. @<:@default=yes@:>@]),
902 enable_capinfos=$enableval,enable_capinfos=yes)
904 if test "x$enable_capinfos" = "xyes" ; then
905 capinfos_bin="capinfos\$(EXEEXT)"
906 capinfos_man="capinfos.1"
911 AC_SUBST(capinfos_bin)
912 AC_SUBST(capinfos_man)
915 # Enable/disable mergecap
917 AC_ARG_ENABLE(mergecap,
918 AC_HELP_STRING( [--enable-mergecap],
919 [build mergecap. @<:@default=yes@:>@]),
920 enable_mergecap=$enableval,enable_mergecap=yes)
922 if test "x$enable_mergecap" = "xyes" ; then
923 mergecap_bin="mergecap\$(EXEEXT)"
924 mergecap_man="mergecap.1"
929 AC_SUBST(mergecap_bin)
930 AC_SUBST(mergecap_man)
933 # Enable/disable text2pcap
935 AC_ARG_ENABLE(text2pcap,
936 AC_HELP_STRING( [--enable-text2pcap],
937 [build text2pcap. @<:@default=yes@:>@]),
938 text2pcap=$enableval,enable_text2pcap=yes)
940 if test "x$enable_text2pcap" = "xyes" ; then
941 text2pcap_bin="text2pcap\$(EXEEXT)"
942 text2pcap_man="text2pcap.1"
947 AC_SUBST(text2pcap_bin)
948 AC_SUBST(text2pcap_man)
950 # Enable/disable idl2wrs
952 AC_ARG_ENABLE(idl2wrs,
953 AC_HELP_STRING( [--enable-idl2wrs],
954 [build idl2wrs. @<:@default=yes@:>@]),
955 enable_idl2wrs=$enableval,enable_idl2wrs=yes)
957 if test "x$enable_idl2wrs" = "xyes" ; then
958 idl2wrs_bin="idl2wrs"
959 idl2wrs_man="idl2wrs.1"
964 AC_SUBST(idl2wrs_bin)
965 AC_SUBST(idl2wrs_man)
968 # Enable/disable dftest
970 AC_ARG_ENABLE(dftest,
971 AC_HELP_STRING( [--enable-dftest],
972 [build dftest. @<:@default=yes@:>@]),
973 enable_dftest=$enableval,enable_dftest=yes)
975 if test "x$enable_dftest" = "xyes" ; then
976 dftest_bin="dftest\$(EXEEXT)"
977 dftest_man="dftest.1"
986 # Enable/disable randpkt
988 AC_ARG_ENABLE(randpkt,
989 AC_HELP_STRING( [--enable-randpkt],
990 [build randpkt. @<:@default=yes@:>@]),
991 enable_randpkt=$enableval,enable_randpkt=yes)
993 if test "x$enable_randpkt" = "xyes" ; then
994 randpkt_bin="randpkt\$(EXEEXT)"
995 randpkt_man="randpkt.1"
1000 AC_SUBST(randpkt_bin)
1001 AC_SUBST(randpkt_man)
1005 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
1006 dnl "gethostbyname()".
1007 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
1009 dnl Checks for "connect()", used as a proxy for "socket()" - and
1010 dnl "-lsocket", if we need it to get "connect()".
1011 AC_WIRESHARK_SOCKET_LIB_CHECK
1014 AC_MSG_CHECKING(whether to use libpcap for packet capture)
1017 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
1018 [use libpcap for packet capturing. @<:@default=yes@:>@]),
1020 if test $withval = no
1023 elif test $withval = yes
1034 if test "x$want_pcap" = "xno" ; then
1038 AC_WIRESHARK_PCAP_CHECK
1041 # Enable/disable dumpcap
1044 AC_MSG_CHECKING(whether to build dumpcap)
1046 AC_ARG_ENABLE(dumpcap,
1047 AC_HELP_STRING( [--enable-dumpcap],
1048 [build dumpcap. @<:@default=yes@:>@]),
1049 enable_dumpcap=$enableval,enable_dumpcap=yes)
1051 if test "x$enable_dumpcap" = "xyes" ; then
1052 if test "x$want_pcap" = "xno" ; then
1054 AC_MSG_RESULT(pcap not available - disabling dumpcap)
1062 if test "x$enable_dumpcap" = "xyes" ; then
1063 dumpcap_bin="dumpcap\$(EXEEXT)"
1064 dumpcap_man="dumpcap.1"
1069 AC_SUBST(dumpcap_bin)
1070 AC_SUBST(dumpcap_man)
1072 # Enable/disable rawshark
1075 AC_MSG_CHECKING(whether to build rawshark)
1077 AC_ARG_ENABLE(rawshark,
1078 AC_HELP_STRING( [--enable-rawshark],
1079 [build rawshark. @<:@default=yes@:>@]),
1080 rawshark=$enableval,enable_rawshark=yes)
1082 if test "x$enable_rawshark" = "xyes" ; then
1083 if test "x$want_pcap" = "xno" ; then
1085 AC_MSG_RESULT(pcap not available - disabling rawshark)
1093 if test "x$enable_rawshark" = "xyes" ; then
1094 rawshark_bin="rawshark\$(EXEEXT)"
1095 rawshark_man="rawshark.1"
1100 AC_SUBST(rawshark_bin)
1101 AC_SUBST(rawshark_man)
1104 dnl pcap remote check
1105 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1107 AC_ARG_WITH(pcap-remote,
1108 AC_HELP_STRING([--with-pcap-remote],
1109 [use libpcap remote capturing (requires libpcap)]),
1111 if test $withval = no
1115 want_pcap_remote=yes
1120 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1124 AC_WIRESHARK_PCAP_REMOTE_CHECK
1128 AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
1131 AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
1132 [use zlib (located in directory DIR, if supplied) to read compressed data. @<:@default=yes, if available@:>@]),
1134 if test $withval = no
1137 elif test $withval = yes
1146 # Use zlib if it's present, otherwise don't.
1148 want_zlib=ifavailable
1151 if test "x$want_zlib" = "xno" ; then
1155 AC_WIRESHARK_ZLIB_CHECK
1156 if test "x$want_zlib" = "xno" ; then
1157 AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
1161 if test "x$want_zlib" != "xno" ; then
1162 AC_CHECK_LIB(z, gzclearerr,
1164 AC_DEFINE(HAVE_GZCLEARERR, 1, [Define if we have gzclearerr])
1169 AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
1172 AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@],
1173 [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. Not needed if you have GLib 2.14 or later. @<:@default=yes, if available and GLib < 2.14@:>@]),
1175 if test $withval = no
1178 elif test $withval = yes
1187 # Use libpcre if it's present and GRegex isn't, otherwise don't.
1189 if test $have_gregex = yes ; then
1192 want_pcre=ifavailable
1196 if test "x$want_pcre" = "xno" ; then
1200 AC_WIRESHARK_LIBPCRE_CHECK
1201 if test "x$want_pcre" = "xno" ; then
1202 AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
1208 AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
1211 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1212 [use liblua (located in directory DIR, if supplied) for the lua scripting plugin. @<:@default=yes, if available@:>@]),
1214 if test $withval = no
1217 elif test $withval = yes
1226 # Use liblua by default
1228 want_lua=ifavailable
1231 if test "x$want_lua" = "xno" ; then
1235 AC_WIRESHARK_LIBLUA_CHECK
1236 if test "x$want_lua" = "xno" ; then
1237 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
1240 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
1244 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
1246 AC_ARG_WITH(portaudio,
1247 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1248 [use libportaudio (located in directory DIR, if supplied) for the rtp_player. @<:@default=yes, if available@:>@]),
1250 if test $withval = no
1253 elif test $withval = yes
1258 portaudio_dir=$withval
1262 # Use libportaudio by default
1264 want_portaudio=ifavailable
1267 if test "x$want_portaudio" = "xno" ; then
1271 AC_WIRESHARK_LIBPORTAUDIO_CHECK
1272 if test "x$want_portaudio" = "xno" ; then
1273 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
1276 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1281 AC_HELP_STRING( [--enable-ipv6],
1282 [use ipv6 name resolution, if available. @<:@default=yes@:>@]),
1283 enable_ipv6=$enableval,enable_ipv6=yes)
1285 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
1286 if test "x$enable_ipv6" = "xno" ; then
1290 AC_WIRESHARK_IPV6_STACK
1294 dnl Check if dumpcap should be installed with filesystem capabilities
1295 AC_PATH_PROG(SETCAP, setcap)
1296 AC_ARG_ENABLE(setcap-install,
1297 AC_HELP_STRING( [--enable-setcap-install],
1298 [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
1299 enable_setcap_install=$enableval,enable_setcap_install=no)
1301 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
1302 if test "x$enable_setcap_install" = "xno" ; then
1305 if test "x$SETCAP" = "x" ; then
1306 AC_MSG_RESULT(no. Setcap not found)
1307 elif test "x$enable_dumpcap" = "xno" ; then
1308 AC_MSG_ERROR(Setcap install works only with dumpcap but dumpcap is disabled)
1314 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
1316 dnl Check if dumpcap should be installed setuid
1317 AC_ARG_ENABLE(setuid-install,
1318 AC_HELP_STRING( [--enable-setuid-install],
1319 [install dumpcap as setuid @<:@default=no@:>@]),
1320 enable_setuid_install=$enableval,enable_setuid_install=no)
1322 AC_MSG_CHECKING(whether to install dumpcap setuid)
1323 if test "x$enable_setuid_install" = "xno" ; then
1326 if test "x$enable_setcap_install" = "xyes" ; then
1327 enable_setuid_install=no
1328 AC_MSG_RESULT(no; using setcap instead)
1329 elif test "x$enable_dumpcap" = "xno" ; then
1330 AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
1336 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
1337 AC_CHECK_FUNCS(setresuid setresgid)
1339 dnl ...but our Network Operations group is named "no"!
1341 AC_ARG_WITH(dumpcap-group,
1342 AC_HELP_STRING( [--with-dumpcap-group=GROUP],
1343 [restrict dumpcap to GROUP]),
1345 if test "x$withval" = "xyes"; then
1346 AC_MSG_ERROR([No dumpcap group specified.])
1347 elif test "x$withval" != "xno"; then
1348 AC_MSG_RESULT($withval)
1349 DUMPCAP_GROUP="$withval"
1352 AC_SUBST(DUMPCAP_GROUP)
1353 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
1355 dnl libcap (not libpcap) check
1357 AC_MSG_CHECKING(whether to use the libcap capabilities library)
1360 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
1361 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management. @<:@default=yes, if present@:>@]),
1363 if test "x$withval" = "xno"; then
1365 elif test "x$withval" = "xyes"; then
1367 elif test -d "$withval"; then
1369 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1372 if test "x$with_libcap" = "xno" ; then
1376 AC_WIRESHARK_LIBCAP_CHECK
1378 AC_SUBST(LIBCAP_LIBS)
1380 dnl Checks for header files.
1381 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
1382 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)
1383 AC_CHECK_HEADERS(netinet/in.h)
1384 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
1388 AC_MSG_CHECKING(whether to use SSL library)
1391 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
1392 [use SSL crypto library (located in directory DIR, if supplied). @<:@default=no@:>@]),
1394 if test "x$withval" = "xno"; then
1396 elif test "x$withval" = "xyes"; then
1398 elif test -d "$withval"; then
1400 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1405 if test "x$want_ssl" = "xyes"; then
1407 AC_CHECK_LIB(crypto,EVP_md5,
1412 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
1420 AC_MSG_CHECKING(whether to use kerberos)
1423 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
1424 [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection @<:@default=yes@:>@]),
1426 if test $withval = no
1429 elif test $withval = yes
1438 # Use kerberos if specified, otherwise don't.
1440 want_krb5=ifavailable
1443 if test "x$want_krb5" = "xno" ; then
1447 AC_WIRESHARK_KRB5_CHECK
1453 AC_MSG_CHECKING(whether to use the c-ares library if available)
1456 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
1457 [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]),
1459 if test "x$withval" = "xno"; then
1461 elif test "x$withval" = "xyes"; then
1463 elif test -d "$withval"; then
1465 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1468 if test "x$want_c_ares" = "xno" ; then
1472 AC_WIRESHARK_C_ARES_CHECK
1474 AC_SUBST(C_ARES_LIBS)
1478 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
1481 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
1482 [use GNU ADNS (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1484 if test "x$withval" = "xno"; then
1486 elif test "x$withval" = "xyes"; then
1488 elif test -d "$withval"; then
1490 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1493 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
1497 AC_WIRESHARK_ADNS_CHECK
1503 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
1506 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
1507 [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1509 if test "x$withval" = "xno"; then
1511 elif test "x$withval" = "xyes"; then
1513 elif test -d "$withval"; then
1515 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1518 if test "x$want_geoip" = "xno"; then
1522 AC_WIRESHARK_GEOIP_CHECK
1524 AC_SUBST(GEOIP_LIBS)
1526 dnl Python devel Check
1528 AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
1529 [use python interpreter (installed in DIR, if supplied). @<:@default=yes@:>@ (EXPERIMENTAL)]),
1531 pythondir='${libdir}/wireshark/python/${VERSION}'
1532 if test "x$withval" = "xno"; then
1534 elif test "x$withval" != "xyes"; then
1535 pythondir="$withval"
1537 AC_WIRESHARK_PYTHON_CHECK
1540 AC_WIRESHARK_PYTHON_CHECK
1543 AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes)
1547 # Define WS_VAR_IMPORT appropriately for declarations of external
1548 # variables exported from dynamically-linked libraries.
1550 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
1552 AC_ARG_ENABLE(airpcap,
1553 AC_HELP_STRING( [--enable-airpcap],
1554 [use airpcap in wireshark. @<:@default=yes@:>@]),
1555 enable_airpcap=$enableval
1556 if test x$enable_airpcap != xno; then
1557 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
1561 # Define HAVE_AIRPDCAP
1562 # We'll want to remove this eventually.
1564 AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)])
1566 dnl Checks for typedefs, structures, and compiler characteristics.
1569 # Check how we can get the time zone abbreviation
1570 AC_WIRESHARK_TIMEZONE_ABBREV
1572 # We need to know whether "struct sockaddr" has an "sa_len" member
1573 # for get_interface_list().
1575 AC_WIRESHARK_STRUCT_SA_LEN
1577 # We must know our byte order
1580 # Checks whether "-traditional" is needed when using "ioctl".
1581 # XXX - do we need this?
1582 AC_PROG_GCC_TRADITIONAL
1585 AC_CHECK_FUNC(getopt,
1587 AC_DEFINE(HAVE_GETOPT_H, 1, [Define to 1 if you have the <getopt.h> header file.])
1589 GETOPT_LO="wsgetopt.lo"
1591 if test "$ac_cv_func_getopt" = no ; then
1592 GETOPT_LO="wsgetopt.lo"
1596 AC_CHECK_FUNC(strerror, STRERROR_LO="",
1597 [STRERROR_LO="strerror.lo"
1598 AC_DEFINE(NEED_STRERROR_H, 1, [Define if strerror.h needs to be included])
1600 if test "$ac_cv_func_strerror" = no ; then
1601 STRERROR_LO="strerror.lo"
1603 AC_SUBST(STRERROR_LO)
1605 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_LO="",
1606 STRNCASECMP_LO="strncasecmp.lo")
1607 if test "$ac_cv_func_strncasecmp" = no ; then
1608 STRNCASECMP_LO="strncasecmp.lo"
1610 AC_SUBST(STRNCASECMP_LO)
1612 AC_CHECK_FUNCS(mkstemp mkdtemp)
1614 AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
1616 if test "$have_inet_aton" = no; then
1617 INET_ATON_LO="inet_aton.lo"
1618 AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
1622 AC_SUBST(INET_ATON_LO)
1624 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
1625 dnl check for pre-BIND82 inet_pton() bug.
1626 AC_MSG_CHECKING(for broken inet_pton)
1627 AC_TRY_RUN([#include <sys/types.h>
1628 #include <sys/socket.h>
1629 #include <netinet/in.h>
1630 #include <arpa/inet.h>
1635 /* this should return 0 (error) */
1636 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
1640 }], [AC_MSG_RESULT(ok);
1641 have_inet_pton=yes], [AC_MSG_RESULT(broken);
1642 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
1643 have_inet_pton=no])],
1645 if test "$have_inet_pton" = no; then
1646 INET_PTON_LO="inet_pton.lo"
1650 AC_SUBST(INET_PTON_LO)
1652 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
1653 AC_MSG_CHECKING([for inet_ntop prototype])
1654 AC_TRY_COMPILE([#include <stdio.h>
1655 #include <sys/types.h>
1656 #include <sys/socket.h>
1657 #include <netinet/in.h>
1658 #include <arpa/inet.h>
1660 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
1662 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1663 [Define if inet_ntop() prototype exists])], [
1664 AC_TRY_COMPILE([#include <stdio.h>
1665 #include <sys/types.h>
1666 #include <sys/socket.h>
1667 #include <netinet/in.h>
1668 #include <arpa/inet.h>
1670 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
1672 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1673 [Define if inet_ntop() prototype exists])], [
1674 AC_MSG_RESULT(no)])])
1676 INET_NTOP_LO="inet_ntop.lo"
1677 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
1678 [Define if inet/v6defs.h needs to be included])])
1679 AC_SUBST(INET_NTOP_LO)
1681 AC_CHECK_FUNC(strptime, STRPTIME_LO="",
1682 [STRPTIME_LO="strptime.lo"
1683 AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
1685 if test "$ac_cv_func_strptime" = no ; then
1686 STRPTIME_LO="strptime.lo"
1688 AC_SUBST(STRPTIME_C)
1689 AC_SUBST(STRPTIME_LO)
1691 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
1692 AC_CHECK_FUNCS(issetugid)
1693 AC_CHECK_FUNCS(mmap mprotect sysconf)
1694 AC_CHECK_FUNCS(strtoll)
1696 dnl blank for now, but will be used in future
1697 AC_SUBST(wireshark_SUBDIRS)
1700 dnl check whether plugins should be enabled and, if they should be,
1701 dnl check for plugins directory - stolen from Amanda's configure.in
1703 dnl we don't wish to expand ${libdir} yet
1704 plugindir='${libdir}/wireshark/plugins/${VERSION}'
1705 AC_ARG_WITH(plugins,
1706 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
1707 [support plugins (installed in DIR, if supplied). @<:@default=yes, if possible@:>@]),
1709 if test "x$withval" = "xno"; then
1711 elif test "x$have_plugins" = "xno"; then
1712 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
1713 elif test "x$withval" != "xyes"; then
1714 plugindir="$withval"
1717 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
1718 if test x$have_plugins = xyes
1720 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
1723 CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'"
1726 # The plugin dissectors reside in ./plugins/PROTO/
1729 AC_SUBST(PLUGIN_LIBS)
1733 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
1734 # (autoconf? automake? libtool?) - with the newer version(s), it's
1735 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
1737 # With older version(s) of those tool(s), however, it's not just an
1738 # alias, and the configure scripts don't work without it.
1741 AC_SUBST(LIBTOOL_DEPS)
1743 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
1744 if test x$enable_static = xyes -a x$have_plugins = xyes
1746 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
1748 AC_SUBST(ENABLE_STATIC)
1750 AC_ARG_ENABLE(new-packet-list,
1751 AC_HELP_STRING( [--enable-new-packet-list],
1752 [use new packet list feature. @<:@default=yes@:>@]),
1753 new_packet_list=$enableval,new_packet_list=yes)
1754 AC_MSG_CHECKING(if new packet list is used);
1755 if test "x$new_packet_list" = "xyes" ; then
1757 AC_DEFINE(NEW_PACKET_LIST, 1,
1758 [Use the new packet list code])
1763 dnl Save the cacheable configure results to config.cache before recursing
1766 sinclude(plugins/Custom.m4) dnl
1767 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
1769 AM_CONFIG_HEADER(config.h)
1774 asn1/acp133/Makefile
1776 asn1/ansi_map/Makefile
1777 asn1/ansi_tcap/Makefile
1780 asn1/charging_ase/Makefile
1793 asn1/gsm_map/Makefile
1802 asn1/h450-ros/Makefile
1805 asn1/HI2Operations/Makefile
1809 asn1/kerberos/Makefile
1811 asn1/logotypecertextn/Makefile
1812 asn1/lte-rrc/Makefile
1814 asn1/mpeg-audio/Makefile
1815 asn1/mpeg-pes/Makefile
1817 asn1/ns_cert_exts/Makefile
1822 asn1/pkcs12/Makefile
1823 asn1/pkinit/Makefile
1824 asn1/pkixac/Makefile
1825 asn1/pkix1explicit/Makefile
1826 asn1/pkix1implicit/Makefile
1827 asn1/pkixproxy/Makefile
1828 asn1/pkixqualified/Makefile
1829 asn1/pkixtsp/Makefile
1832 asn1/q932-ros/Makefile
1846 asn1/spnego/Makefile
1852 asn1/wlancertextn/Makefile
1856 asn1/x509af/Makefile
1857 asn1/x509ce/Makefile
1858 asn1/x509if/Makefile
1859 asn1/x509sat/Makefile
1867 epan/dfilter/Makefile
1868 epan/dissectors/Makefile
1869 epan/dissectors/dcerpc/Makefile
1870 epan/dissectors/pidl/Makefile
1871 epan/ftypes/Makefile
1873 epan/wspython/Makefile
1879 packaging/macosx/Info.plist
1880 packaging/macosx/Makefile
1881 packaging/nsis/Makefile
1882 packaging/rpm/Makefile
1883 packaging/rpm/SPECS/Makefile
1884 packaging/rpm/SPECS/wireshark.spec
1885 packaging/svr4/Makefile
1886 packaging/svr4/checkinstall
1887 packaging/svr4/pkginfo
1889 plugins/asn1/Makefile
1890 plugins/docsis/Makefile
1891 plugins/ethercat/Makefile
1892 plugins/giop/Makefile
1893 plugins/gryphon/Makefile
1894 plugins/interlink/Makefile
1895 plugins/irda/Makefile
1896 plugins/m2m/Makefile
1897 plugins/mate/Makefile
1898 plugins/opcua/Makefile
1899 plugins/profinet/Makefile
1900 plugins/sercosiii/Makefile
1901 plugins/stats_tree/Makefile
1902 plugins/unistim/Makefile
1903 plugins/wimax/Makefile
1904 plugins/wimaxasncp/Makefile
1907 tools/lemon/Makefile
1912 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
1917 if test "x$enable_setcap_install" = "xyes" ; then
1918 setcap_message="yes"
1924 if test "x$enable_setuid_install" = "xyes" ; then
1925 setuid_message="yes"
1930 if test "x$DUMPCAP_GROUP" = "x" ; then
1931 dumpcap_group_message="(none)"
1933 dumpcap_group_message="$DUMPCAP_GROUP"
1936 if test "x$want_zlib" = "xno" ; then
1942 if test "x$want_pcre" = "xno" ; then
1943 if test $have_gregex = yes
1945 pcre_message="no (using GRegex instead)"
1953 if test "x$want_lua" = "xyes" ; then
1959 if test "x$want_python" = "xyes"; then
1960 python_message="yes"
1965 if test "x$want_portaudio" = "xyes" ; then
1966 portaudio_message="yes"
1968 portaudio_message="no"
1971 if test "x$want_ssl" = "xno" ; then
1977 if test "x$want_krb5" = "xno" ; then
1980 krb5_message="yes ($ac_krb5_version)"
1983 if test "x$have_good_c_ares" = "xyes" ; then
1984 c_ares_message="yes"
1989 if test "x$have_good_adns" = "xyes" ; then
1995 if test "x$have_good_libcap" = "xyes" ; then
1996 libcap_message="yes"
2001 if test "x$have_good_geoip" = "xyes" ; then
2008 echo "The Wireshark package has been configured with the following options."
2009 echo " Build wireshark : $enable_wireshark"
2010 echo " Build tshark : $enable_tshark"
2011 echo " Build capinfos : $enable_capinfos"
2012 echo " Build editcap : $enable_editcap"
2013 echo " Build dumpcap : $enable_dumpcap"
2014 echo " Build mergecap : $enable_mergecap"
2015 echo " Build text2pcap : $enable_text2pcap"
2016 echo " Build idl2wrs : $enable_idl2wrs"
2017 echo " Build randpkt : $enable_randpkt"
2018 echo " Build dftest : $enable_dftest"
2019 echo " Build rawshark : $enable_rawshark"
2021 echo " Install dumpcap with capabilities : $setcap_message"
2022 echo " Install dumpcap setuid : $setuid_message"
2023 echo " Use dumpcap group : $dumpcap_group_message"
2024 echo " Use plugins : $have_plugins"
2025 echo " Use lua library : $lua_message"
2026 echo " Use python binding : $python_message"
2027 echo " Build rtp_player : $portaudio_message"
2028 echo " Use threads : $enable_threads"
2029 echo " Build profile binaries : $enable_profile_build"
2030 echo " Use pcap library : $want_pcap"
2031 echo " Use zlib library : $zlib_message"
2032 echo " Use pcre library : $pcre_message"
2033 echo " Use kerberos library : $krb5_message"
2034 echo " Use c-ares library : $c_ares_message"
2035 echo " Use GNU ADNS library : $adns_message"
2036 echo " Use SMI MIB library : $libsmi_message"
2037 echo " Use GNU crypto library : $gcrypt_message"
2038 echo " Use SSL crypto library : $ssl_message"
2039 echo " Use IPv6 name resolution : $enable_ipv6"
2040 echo " Use gnutls library : $tls_message"
2041 echo " Use POSIX capabilities library : $libcap_message"
2042 echo " Use GeoIP library : $geoip_message"