5 AC_INIT(wireshark, 1.3.4)
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.
35 dnl Work around libtool bug (fixed in the version 1.5a?)
36 AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
39 AC_PATH_PROG(PERL, perl)
41 AC_PATH_PROG(YACCDUMMY, $YACC)
42 if test "x$YACCDUMMY" = x
44 AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
47 AC_PATH_PROG(LEX, flex)
50 AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path)
52 AC_PATH_PROG(POD2MAN, pod2man)
53 if test "x$POD2MAN" = x
56 # The alternative is not to build the man pages....
58 AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
60 AC_PATH_PROG(POD2HTML, pod2html)
61 if test "x$POD2HTML" = x
64 # The alternative is not to build the HTML man pages....
66 AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
70 # XXX - this looks for various HTML viewers on the host, not the target;
71 # we really want to know what's available on the target, for cross-builds.
72 # That would probably require us to, at run time, look for xdg-open and,
73 # if we don't find it, look for mozilla, htmlview, etc.
75 AC_PATH_PROG(HTML_VIEWER, xdg-open)
76 if test "x$HTML_VIEWER" != x
79 # XXX - the HTML_VIEWER shell variable is the full path of xdg-open.
80 # Define some variable to be that, so we just run that?
82 AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
85 # XXX - we have to define HTML_VIEWER for the prefs.c code that
86 # sets the default value of the Web browser preference, even
87 # though that preference won't be offered.
89 AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
91 AC_PATH_PROG(HTML_VIEWER, htmlview)
92 if test "x$HTML_VIEWER" = x
94 AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
96 AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
100 AC_PATH_PROG(LEX, flex)
101 AC_PATH_PROG(PYTHON, python)
112 if test "x$CC_FOR_BUILD" = x
116 AC_SUBST(CC_FOR_BUILD)
119 AC_PATH_PROG(DOXYGEN, doxygen)
120 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
121 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
125 AC_ARG_WITH([gnutls],
126 AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
127 [use gnutls library @<:@default=yes@:>@]),
128 with_gnutls="$withval", with_gnutls="yes")
129 if test "x$with_gnutls" = "xyes"; then
130 PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0],
132 echo "gnuTLS found, enabling ssl decryption"
133 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library])
137 echo echo "gnuTLS not found, disabling ssl decryption"
145 AC_ARG_WITH([gcrypt],
146 AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
147 [use gcrypt library @<:@default=yes@:>@]),
148 with_gcrypt="$withval", with_gcrypt="yes")
149 if test "x$with_gcrypt" = "xyes"; then
150 AM_PATH_LIBGCRYPT(1.1.92,
152 echo "libgcrypt found, enabling ipsec decryption"
153 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
157 if test x$libgcrypt_config_prefix != x ; then
158 AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
160 echo "libgcrypt not found, disabling ipsec decryption"
168 # FIXME: currently the path argument to with-libsmi is being ignored
172 AC_PATH_PROG(XSLTPROC, xsltproc)
173 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
174 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
177 AC_PATH_PROG(XMLLINT, xmllint)
178 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
179 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
181 # Check for fop (translate .fo to e.g. pdf)
182 AC_PATH_PROG(FOP, fop)
183 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
184 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
187 # Look for something to convert HTML to text (for docbook/)
189 AC_PATH_PROG(ELINKS, elinks)
190 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
191 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
193 AC_PATH_PROG(LINKS, links)
194 AC_CHECK_PROG(HAVE_LINKS, links, "yes", "no")
195 AM_CONDITIONAL(HAVE_LINKS, test x$HAVE_LINKS = xyes)
197 AC_PATH_PROG(LYNX, lynx)
198 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
199 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
202 # Check for hhc (html help compiler)
203 AC_PATH_PROG(HHC, hhc.exe)
204 AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no")
205 AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes)
207 # Check for packaging utilities
208 # For now, we check to see if the various packaging utilites are in our
209 # path. I'm too lazy to write code to go hunt for them. - Gerald
212 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
213 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
214 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
216 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
217 -a x$HAVE_PKGTRANS = xyes ; then
218 HAVE_SVR4_PACKAGING=yes
220 HAVE_SVR4_PACKAGING=no
222 AC_SUBST(HAVE_SVR4_PACKAGING)
225 AC_WIRESHARK_RPM_CHECK
229 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
232 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
233 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
234 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
236 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
237 -a x$HAVE_BLESS = xyes ; then
238 HAVE_OSX_PACKAGING=yes
240 HAVE_OSX_PACKAGING=no
242 AC_SUBST(HAVE_OSX_PACKAGING)
245 # Try to add some additional gcc checks to CFLAGS
247 AC_ARG_ENABLE(extra-gcc-checks,
248 AC_HELP_STRING( [--enable-extra-gcc-checks],
249 [Do additional -W checks in GCC. @<:@default=no@:>@]),
251 wireshark_extra_gcc_flags=$enableval
252 if test $enableval != no
254 AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
255 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
256 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op)
257 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
258 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
259 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
260 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations)
261 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
262 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast)
263 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
264 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress)
265 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
266 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
267 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
268 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
269 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
270 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
271 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas)
272 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls)
273 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla)
274 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat)
275 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init)
277 # epan/dissectors/packet-ncp2222.inc blocks this one
280 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
281 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
282 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
284 # epan/dissectors/packet-afs.c blocks this one for now.
286 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow)
288 # More cleanup needed for this on LP64.
290 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
293 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
294 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -W is now known as -Wextra
295 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
296 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
297 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
298 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign)
299 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
300 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
301 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
303 AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed])
304 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-flto])
305 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr])
306 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program])
309 # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
310 # so we can use _U_ to flag unused function arguments and not get warnings
311 # about them. Otherwise, add '-D_U_=""', so that _U_ used to flag an unused
312 # function argument will compile with non-GCC compilers.
314 if test "x$GCC" = "xyes" ; then
315 CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
317 CFLAGS="-D_U_=\"\" $CFLAGS"
321 # If we're running gcc, will enable a barrier "stop on warning".
322 # This barrier is set for a very large part of the code. However, it is
323 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
325 warnings_as_errors_default="yes"
326 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
327 AC_ARG_ENABLE(warnings-as-errors,
328 AC_HELP_STRING( [--enable-warnings-as-errors],
329 [Treat warnings as errors (only for gcc). @<:@default=yes@:>@]),
331 if test "x$GCC" = "xyes" -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
332 with_warnings_as_errors="yes"
335 with_warnings_as_errors="no"
339 if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
340 with_warnings_as_errors="yes"
343 with_warnings_as_errors="no"
347 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
350 # Add any platform-specific compiler flags needed.
352 AC_MSG_CHECKING(for platform-specific compiler flags)
353 if test "x$GCC" = "xyes" ; then
355 # GCC - do any platform-specific tweaking necessary.
359 # the X11 headers don't automatically include prototype info
360 # and a lot don't include the return type
361 CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15"
362 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
366 # See comments above about Apple's lovely C compiler.
368 CFLAGS="-no-cpp-precomp $CFLAGS"
369 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
372 AC_MSG_RESULT(none needed)
377 # Not GCC - assume it's the vendor's compiler.
382 # HP's ANSI C compiler; flags suggested by Jost Martin.
383 # "-Ae" for ANSI C plus extensions such as "long long".
384 # "+O2", for optimization. XXX - works with "-g"?
386 CFLAGS="-Ae +O2 $CFLAGS"
387 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
391 # It may be called "cc", but it's really a GCC derivative
392 # with a problematic special precompiler and precompiled
393 # headers; turn off the special precompiler, as some
394 # apparently-legal code won't compile with its precompiled
397 CFLAGS="-no-cpp-precomp $CFLAGS"
398 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
401 AC_MSG_RESULT(none needed)
407 # Add any platform-specific linker flags needed.
409 AC_MSG_CHECKING(for platform-specific linker flags)
413 # Add -Wl,-single_module to the LDFLAGS used with shared
414 # libraries, to fix some error that show up in some cases;
415 # some Apple documentation recommends it for most shared
418 LDFLAGS_SHAREDLIB="-Wl,-single_module"
420 # Add -Wl,-search_paths_first to make sure that if we search
421 # directories A and B, in that order, for a given library, a
422 # non-shared version in directory A, rather than a shared
423 # version in directory B, is chosen (so we can use
424 # --with-pcap=/usr/local to force all programs to be linked
425 # with a static version installed in /usr/local/lib rather than
426 # the system version in /usr/lib).
428 LDFLAGS="-Wl,-search_paths_first $LDFLAGS"
429 AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first])
433 # Shared libraries in cygwin/Win32 must never contain
436 LDFLAGS="$LDFLAGS -no-undefined"
437 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
440 AC_MSG_RESULT(none needed)
443 AC_SUBST(LDFLAGS_SHAREDLIB)
445 # Control silent compiling
446 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
449 # On OS X, if we find the headers for Core Foundation, Launch Services,
450 # and Core Services, add -framework options to link with Application
451 # Services (of which Launch Services is a subframework), Core Foundation
452 # (required by the Launch Services APIs), and Core Services, so we can
453 # use them to launch a Web browser from the Help menu and to use
454 # Gestalt() to get the Mac OS X version number.
459 AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services])
461 ac_frameworks="-framework ApplicationServices -framework CoreFoundation -framework CoreServices"
462 LIBS="$LIBS $ac_frameworks"
465 # include <CoreFoundation/CFBase.h>
466 # include <CoreFoundation/CFString.h>
467 # include <CoreFoundation/CFURL.h>
468 # include <ApplicationServices/ApplicationServices.h>
469 # include <CoreServices/CoreServices.h>
472 CFStringRef url_CFString;
477 url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII);
478 url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL);
479 status = LSOpenCFURLRef(url_CFURL, NULL);
481 Gestalt(gestaltSystemVersion, &os_version);
483 ac_cv_can_use_osx_frameworks=yes,
484 ac_cv_can_use_osx_frameworks=no,
485 [echo $ac_n "cross compiling; assumed OK... $ac_c"])
486 if test "$ac_cv_can_use_osx_frameworks" = yes ; then
487 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
488 FRAMEWORKS="$ac_frameworks"
499 # If using $prefix we add "$prefix/include" to the include search path
500 # and "$prefix/lib" to the library search path.
502 if test "x$prefix" != "x" ; then
503 AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
504 if test -d $prefix/include ; then
507 # Arrange that we search for header files in "$prefix/include", as
508 # various packages we use may have been installed under "$prefix/include".
510 CFLAGS="$CFLAGS -I$prefix/include"
511 CPPFLAGS="$CPPFLAGS -I$prefix/include"
514 # Arrange that we search for libraries in "$prefix/lib".
516 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
522 dnl Look in /usr/local for header files and libraries ?
523 dnl XXX FIXME don't include /usr/local if it is already in the system
524 dnl search path as this causes gcc 3.2 on Linux to complain about a change
525 dnl of the system search order for includes
526 AC_ARG_ENABLE(usr-local,
527 AC_HELP_STRING( [--enable-usr-local],
528 [look for headers and libs in /usr/local tree. @<:@default=yes@:>@]),
529 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
531 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
532 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
535 # Arrange that we search for header files in the source directory
536 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
537 # as various packages we use ("libpcap", "zlib", "adns", "pcre")
538 # may have been installed under "/usr/local/include".
540 CFLAGS="$CFLAGS -I/usr/local/include"
541 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
544 # Arrange that we search for libraries in "/usr/local/lib".
546 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
552 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
557 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
558 if test x$LD_LIBRARY_PATH != x ; then
559 LIBS="$LIBS -R$LD_LIBRARY_PATH"
560 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
562 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
568 # Check for versions of "sed" inadequate to handle, in libtool, a list
569 # of object files as large as the list in Wireshark.
571 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
572 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
573 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
574 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
575 # is the only "sed" that comes with Solaris that can handle Wireshark.
577 # Add any checks here that are necessary for other OSes.
579 AC_WIRESHARK_GNU_SED_CHECK
580 if test "$HAVE_GNU_SED" = no ; then
583 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
585 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
587 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
602 # Enable/disable tshark
604 AC_ARG_ENABLE(wireshark,
605 AC_HELP_STRING( [--enable-wireshark],
606 [build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]),
607 enable_wireshark=$enableval,enable_wireshark=yes)
609 AC_ARG_ENABLE(threads,
610 AC_HELP_STRING( [--enable-threads],
611 [use threads in wireshark. @<:@default=no@:>@]),
612 enable_threads=$enableval,enable_threads=no)
613 AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes)
615 AC_ARG_ENABLE(profile-build,
616 AC_HELP_STRING( [--enable-profile-build],
617 [build profile-ready binaries. @<:@default=no@:>@]),
618 enable_profile_build=$enableval,enable_profile_build=no)
619 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
620 AC_MSG_CHECKING(if profile builds must be generated)
621 if test "x$enable_profile_build" = "xyes" ; then
622 if test "x$GCC" = "xyes" ; then
624 CFLAGS=" -pg $CFLAGS"
627 echo "Building profile binaries currently only supported for GCC."
633 # Create DATAFILE_DIR #define for config.h
634 datafiledir=$datadir/wireshark
636 test "x$prefix" = xNONE && prefix=$ac_default_prefix
637 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
638 # Ugly hack, but I don't see how this problem can be solved
639 # properly that DATAFILE_DIR had a value starting with
640 # "${prefix}/" instead of e.g. "/usr/local/"
641 eval eval echo "$datafiledir"
643 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
645 # GTK checks; we require GTK+ 2.4 or later.
646 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
647 # programs to be built with GTK+.
649 if test "x$enable_wireshark" = "xyes"; then
650 AM_PATH_GTK_2_0(2.4.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no, gthread)
656 # This doesn't add GLIB_CFLAGS to CFLAGS, because AM_PATH_GTK will add
657 # GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a superset of CFLAGS.
658 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
659 # set when generating the Makefile, so we can make programs that require
660 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
661 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
662 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
663 # programs to be built with GLib.
665 if test "$GTK_OK" = "no" ; then
667 # We don't have GTK+.
668 # If they didn't explicitly say "--disable-wireshark", fail (so
669 # that, unless they explicitly indicated that they don't want
670 # Wireshark, we stop so they know they won't be getting
671 # Wireshark unless they fix the GTK+ problem).
673 if test "x$enable_wireshark" = "xyes"; then
674 AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled])
679 AM_PATH_GLIB_2_0(2.4.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
682 wireshark_bin="wireshark\$(EXEEXT)"
683 wireshark_man="wireshark.1"
684 wireshark_SUBDIRS="codecs gtk"
686 AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
690 # Check whether GLib modules are supported, to determine whether we
691 # can support plugins.
693 AC_MSG_CHECKING(whether GLib supports loadable modules)
694 ac_save_CFLAGS="$CFLAGS"
696 CFLAGS="$CFLAGS $GLIB_CFLAGS"
697 LIBS="$GLIB_LIBS $LIBS"
707 if (g_module_supported())
708 return 0; /* success */
710 return 1; /* failure */
712 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
713 [echo $ac_n "cross compiling; assumed OK... $ac_c"
714 ac_cv_glib_supports_modules=yes])
715 CFLAGS="$ac_save_CFLAGS"
717 if test "$ac_cv_glib_supports_modules" = yes ; then
726 # If we have <dlfcn.h>, check whether we can use dladdr to find a
727 # filename (hopefully, a full pathname, but no guarantees) for
730 if test "$ac_cv_header_dlfcn_h" = "yes"
732 AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable)
733 ac_save_CFLAGS="$CFLAGS"
735 CFLAGS="$CFLAGS $GLIB_CFLAGS"
736 LIBS="$GLIB_LIBS $LIBS"
738 #define _GNU_SOURCE /* required on Linux, sigh */
746 if (!dladdr((void *)main, &info))
747 return 1; /* failure */
748 return 0; /* assume success */
750 ], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no,
751 [echo $ac_n "cross compiling; assumed OK... $ac_c"
752 ac_cv_dladdr_finds_executable_path=yes])
753 CFLAGS="$ac_save_CFLAGS"
755 if test x$ac_cv_dladdr_finds_executable_path = xyes
757 AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable])
759 AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path)
762 dnl IGE Mac integration check
763 AC_MSG_CHECKING(whether to use IGE Mac integration functions)
765 AC_ARG_WITH(ige-mac-integration,
766 AC_HELP_STRING( [--with-ige-mac-integration],
767 [use IGE Mac integration. (@<:@default=yes, if available@:>@]),
769 if test $withval = no
771 want_ige_mac_integration=no
773 want_ige_mac_integration=yes
776 want_ige_mac_integration=yes
778 if test "x$want_ige_mac_integration" = "xno" -o "x$no_gtk" = "xyes" ; then
782 AC_WIRESHARK_IGE_MAC_INTEGRATION_CHECK
786 AC_SUBST(wireshark_bin)
787 AC_SUBST(wireshark_man)
790 # Enable/disable tshark
792 AC_ARG_ENABLE(tshark,
793 AC_HELP_STRING( [--enable-tshark],
794 [build tshark. @<:@default=yes@:>@]),
795 tshark=$enableval,enable_tshark=yes)
797 if test "x$enable_tshark" = "xyes" ; then
798 tshark_bin="tshark\$(EXEEXT)"
799 tshark_man="tshark.1"
800 wiresharkfilter_man="wireshark-filter.4"
807 AC_SUBST(wiresharkfilter_man)
811 # Enable/disable editcap
813 AC_ARG_ENABLE(editcap,
814 AC_HELP_STRING( [--enable-editcap],
815 [build editcap. @<:@default=yes@:>@]),
816 enable_editcap=$enableval,enable_editcap=yes)
818 if test "x$enable_editcap" = "xyes" ; then
819 editcap_bin="editcap\$(EXEEXT)"
820 editcap_man="editcap.1"
825 AC_SUBST(editcap_bin)
826 AC_SUBST(editcap_man)
828 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
831 # Enable/disable capinfos
833 AC_ARG_ENABLE(capinfos,
834 AC_HELP_STRING( [--enable-capinfos],
835 [build capinfos. @<:@default=yes@:>@]),
836 enable_capinfos=$enableval,enable_capinfos=yes)
838 if test "x$enable_capinfos" = "xyes" ; then
839 capinfos_bin="capinfos\$(EXEEXT)"
840 capinfos_man="capinfos.1"
845 AC_SUBST(capinfos_bin)
846 AC_SUBST(capinfos_man)
849 # Enable/disable mergecap
851 AC_ARG_ENABLE(mergecap,
852 AC_HELP_STRING( [--enable-mergecap],
853 [build mergecap. @<:@default=yes@:>@]),
854 enable_mergecap=$enableval,enable_mergecap=yes)
856 if test "x$enable_mergecap" = "xyes" ; then
857 mergecap_bin="mergecap\$(EXEEXT)"
858 mergecap_man="mergecap.1"
863 AC_SUBST(mergecap_bin)
864 AC_SUBST(mergecap_man)
867 # Enable/disable text2pcap
869 AC_ARG_ENABLE(text2pcap,
870 AC_HELP_STRING( [--enable-text2pcap],
871 [build text2pcap. @<:@default=yes@:>@]),
872 text2pcap=$enableval,enable_text2pcap=yes)
874 if test "x$enable_text2pcap" = "xyes" ; then
875 text2pcap_bin="text2pcap\$(EXEEXT)"
876 text2pcap_man="text2pcap.1"
881 AC_SUBST(text2pcap_bin)
882 AC_SUBST(text2pcap_man)
884 # Enable/disable idl2wrs
886 AC_ARG_ENABLE(idl2wrs,
887 AC_HELP_STRING( [--enable-idl2wrs],
888 [build idl2wrs. @<:@default=yes@:>@]),
889 enable_idl2wrs=$enableval,enable_idl2wrs=yes)
891 if test "x$enable_idl2wrs" = "xyes" ; then
892 idl2wrs_bin="idl2wrs"
893 idl2wrs_man="idl2wrs.1"
898 AC_SUBST(idl2wrs_bin)
899 AC_SUBST(idl2wrs_man)
902 # Enable/disable dftest
904 AC_ARG_ENABLE(dftest,
905 AC_HELP_STRING( [--enable-dftest],
906 [build dftest. @<:@default=yes@:>@]),
907 enable_dftest=$enableval,enable_dftest=yes)
909 if test "x$enable_dftest" = "xyes" ; then
910 dftest_bin="dftest\$(EXEEXT)"
917 # Enable/disable randpkt
919 AC_ARG_ENABLE(randpkt,
920 AC_HELP_STRING( [--enable-randpkt],
921 [build randpkt. @<:@default=yes@:>@]),
922 enable_randpkt=$enableval,enable_randpkt=yes)
924 if test "x$enable_randpkt" = "xyes" ; then
925 randpkt_bin="randpkt\$(EXEEXT)"
929 AC_SUBST(randpkt_bin)
933 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
934 dnl "gethostbyname()".
935 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
937 dnl Checks for "connect()", used as a proxy for "socket()" - and
938 dnl "-lsocket", if we need it to get "connect()".
939 AC_WIRESHARK_SOCKET_LIB_CHECK
942 AC_MSG_CHECKING(whether to use libpcap for packet capture)
945 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
946 [use libpcap for packet capturing. @<:@default=yes@:>@]),
948 if test $withval = no
951 elif test $withval = yes
962 if test "x$want_pcap" = "xno" ; then
966 AC_WIRESHARK_PCAP_CHECK
969 # Enable/disable dumpcap
972 AC_MSG_CHECKING(whether to build dumpcap)
974 AC_ARG_ENABLE(dumpcap,
975 AC_HELP_STRING( [--enable-dumpcap],
976 [build dumpcap. @<:@default=yes@:>@]),
977 enable_dumpcap=$enableval,enable_dumpcap=yes)
979 if test "x$enable_dumpcap" = "xyes" ; then
980 if test "x$want_pcap" = "xno" ; then
982 AC_MSG_RESULT(pcap not available - disabling dumpcap)
990 if test "x$enable_dumpcap" = "xyes" ; then
991 dumpcap_bin="dumpcap\$(EXEEXT)"
992 dumpcap_man="dumpcap.1"
997 AC_SUBST(dumpcap_bin)
998 AC_SUBST(dumpcap_man)
1000 # Enable/disable rawshark
1003 AC_MSG_CHECKING(whether to build rawshark)
1005 AC_ARG_ENABLE(rawshark,
1006 AC_HELP_STRING( [--enable-rawshark],
1007 [build rawshark. @<:@default=yes@:>@]),
1008 rawshark=$enableval,enable_rawshark=yes)
1010 if test "x$enable_rawshark" = "xyes" ; then
1011 if test "x$want_pcap" = "xno" ; then
1013 AC_MSG_RESULT(pcap not available - disabling rawshark)
1021 if test "x$enable_rawshark" = "xyes" ; then
1022 rawshark_bin="rawshark\$(EXEEXT)"
1023 rawshark_man="rawshark.1"
1028 AC_SUBST(rawshark_bin)
1029 AC_SUBST(rawshark_man)
1032 dnl pcap remote check
1033 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1035 AC_ARG_WITH(pcap-remote,
1036 [ --with-pcap-remote use libpcap remote capturing (requires libpcap)],
1038 if test $withval = no
1042 want_pcap_remote=yes
1047 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1051 AC_WIRESHARK_PCAP_REMOTE_CHECK
1055 AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
1058 AC_HELP_STRING( [--with-zlib@<:@=DIR@:>@],
1059 [use zlib (located in directory DIR, if supplied) to read compressed data. @<:@default=yes, if available@:>@]),
1061 if test $withval = no
1064 elif test $withval = yes
1073 # Use zlib if it's present, otherwise don't.
1075 want_zlib=ifavailable
1078 if test "x$want_zlib" = "xno" ; then
1082 AC_WIRESHARK_ZLIB_CHECK
1083 if test "x$want_zlib" = "xno" ; then
1084 AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
1090 AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
1093 AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@],
1094 [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. @<:@default=yes, if available@:>@]),
1096 if test $withval = no
1099 elif test $withval = yes
1108 # Use libpcre if it's present, otherwise don't.
1109 # XXX - Should GLib 2.14 take precedence here?
1111 want_pcre=ifavailable
1114 if test "x$want_pcre" = "xno" ; then
1118 AC_WIRESHARK_LIBPCRE_CHECK
1119 if test "x$want_pcre" = "xno" ; then
1120 AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
1126 AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
1129 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1130 [use liblua (located in directory DIR, if supplied) for the lua scripting plugin. @<:@default=yes, if available@:>@]),
1132 if test $withval = no
1135 elif test $withval = yes
1144 # Use liblua by default
1146 want_lua=ifavailable
1149 if test "x$want_lua" = "xno" ; then
1153 AC_WIRESHARK_LIBLUA_CHECK
1154 if test "x$want_lua" = "xno" ; then
1155 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
1158 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
1162 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
1164 AC_ARG_WITH(portaudio,
1165 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1166 [use libportaudio (located in directory DIR, if supplied) for the rtp_player. @<:@default=yes, if available@:>@]),
1168 if test $withval = no
1171 elif test $withval = yes
1176 portaudio_dir=$withval
1180 # Use libportaudio by default
1182 want_portaudio=ifavailable
1185 if test "x$want_portaudio" = "xno" ; then
1189 AC_WIRESHARK_LIBPORTAUDIO_CHECK
1190 if test "x$want_portaudio" = "xno" ; then
1191 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
1194 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1199 AC_HELP_STRING( [--enable-ipv6],
1200 [use ipv6 name resolution, if available. @<:@default=yes@:>@]),
1201 enable_ipv6=$enableval,enable_ipv6=yes)
1203 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
1204 if test "x$enable_ipv6" = "xno" ; then
1208 AC_WIRESHARK_IPV6_STACK
1212 dnl Check if dumpcap should be installed setuid
1213 AC_ARG_ENABLE(setuid-install,
1214 AC_HELP_STRING( [--enable-setuid-install],
1215 [install dumpcap as setuid @<:@default=no@:>@]),
1216 enable_setuid_install=$enableval,enable_setuid_install=no)
1218 AC_MSG_CHECKING(whether to install dumpcap setuid)
1219 if test "x$enable_setuid_install" = "xno" ; then
1222 if test "x$enable_dumpcap" = "xno" ; then
1223 AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
1229 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
1230 AC_CHECK_FUNCS(setresuid setresgid)
1232 dnl libcap (not libpcap) check
1234 AC_MSG_CHECKING(whether to use the libcap capabilities library)
1237 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
1238 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management. @<:@default=yes, if present@:>@]),
1240 if test "x$withval" = "xno"; then
1242 elif test "x$withval" = "xyes"; then
1244 elif test -d "$withval"; then
1246 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1249 if test "x$with_libcap" = "xno" ; then
1253 AC_WIRESHARK_LIBCAP_CHECK
1255 AC_SUBST(LIBCAP_LIBS)
1257 dnl Checks for header files.
1258 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
1259 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)
1260 AC_CHECK_HEADERS(netinet/in.h)
1261 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
1265 AC_MSG_CHECKING(whether to use SSL library)
1268 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
1269 [use SSL crypto library (located in directory DIR, if supplied). @<:@default=no@:>@]),
1271 if test "x$withval" = "xno"; then
1273 elif test "x$withval" = "xyes"; then
1275 elif test -d "$withval"; then
1277 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1282 if test "x$want_ssl" = "xyes"; then
1284 AC_CHECK_LIB(crypto,EVP_md5,
1289 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
1297 AC_MSG_CHECKING(whether to use kerberos)
1300 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
1301 [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection @<:@default=yes@:>@]),
1303 if test $withval = no
1306 elif test $withval = yes
1315 # Use kerberos if specified, otherwise don't.
1317 want_krb5=ifavailable
1320 if test "x$want_krb5" = "xno" ; then
1324 AC_WIRESHARK_KRB5_CHECK
1330 AC_MSG_CHECKING(whether to use the c-ares library if available)
1333 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
1334 [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]),
1336 if test "x$withval" = "xno"; then
1338 elif test "x$withval" = "xyes"; then
1340 elif test -d "$withval"; then
1342 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1345 if test "x$want_c_ares" = "xno" ; then
1349 AC_WIRESHARK_C_ARES_CHECK
1351 AC_SUBST(C_ARES_LIBS)
1355 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
1358 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
1359 [use GNU ADNS (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1361 if test "x$withval" = "xno"; then
1363 elif test "x$withval" = "xyes"; then
1365 elif test -d "$withval"; then
1367 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1370 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
1374 AC_WIRESHARK_ADNS_CHECK
1380 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
1383 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
1384 [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1386 if test "x$withval" = "xno"; then
1388 elif test "x$withval" = "xyes"; then
1390 elif test -d "$withval"; then
1392 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1395 if test "x$want_geoip" = "xno"; then
1399 AC_WIRESHARK_GEOIP_CHECK
1401 AC_SUBST(GEOIP_LIBS)
1403 dnl Python devel Check
1405 AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
1406 [use python interpretor (installed in DIR, if supplied). @<:@default=no@:>@ (EXPERIMENTAL)]),
1408 pythondir='${libdir}/wireshark/python/${VERSION}'
1409 if test "x$withval" = "xno"; then
1411 elif test "x$withval" != "xyes"; then
1412 pythondir="$withval"
1414 AC_WIRESHARK_PYTHON_CHECK
1417 AC_WIRESHARK_PYTHON_CHECK
1420 AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes)
1424 # Define WS_VAR_IMPORT appropriately for declarations of external
1425 # variables exported from dynamically-linked libraries.
1427 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
1429 AC_ARG_ENABLE(airpcap,
1430 AC_HELP_STRING( [--enable-airpcap],
1431 [use airpcap in wireshark. @<:@default=no@:>@]),
1432 enable_airpcap=$enableval
1433 if test x$enable_airpcap != xno; then
1434 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
1438 # Define HAVE_AIRPDCAP
1439 # We'll want to remove this eventually.
1441 AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)])
1443 dnl Checks for typedefs, structures, and compiler characteristics.
1446 # Check how we can get the time zone abbreviation
1447 AC_WIRESHARK_TIMEZONE_ABBREV
1449 # We need to know whether "struct sockaddr" has an "sa_len" member
1450 # for get_interface_list().
1452 AC_WIRESHARK_STRUCT_SA_LEN
1454 # We must know our byte order
1457 # Checks whether "-traditional" is needed when using "ioctl".
1458 # XXX - do we need this?
1459 AC_PROG_GCC_TRADITIONAL
1463 AC_CHECK_FUNC(getopt,
1465 AC_DEFINE(HAVE_GETOPT_H, 1, [Define to 1 if you have the <getopt.h> header file.])
1467 GETOPT_O="wsgetopt.o"
1469 if test "$ac_cv_func_getopt" = no ; then
1470 GETOPT_C="wsgetopt.c"
1471 GETOPT_O="wsgetopt.o"
1476 AC_CHECK_FUNC(strerror, STRERROR_O="",
1477 [STRERROR_O="strerror.o"
1478 AC_DEFINE(NEED_STRERROR_H, 1, [Define if strerror.h needs to be included])
1480 if test "$ac_cv_func_strerror" = no ; then
1481 STRERROR_C="strerror.c"
1482 STRERROR_O="strerror.o"
1484 AC_SUBST(STRERROR_C)
1485 AC_SUBST(STRERROR_O)
1487 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="",
1488 STRNCASECMP_O="strncasecmp.o")
1489 if test "$ac_cv_func_strncasecmp" = no ; then
1490 STRNCASECMP_C="strncasecmp.c"
1491 STRNCASECMP_O="strncasecmp.o"
1493 AC_SUBST(STRNCASECMP_C)
1494 AC_SUBST(STRNCASECMP_O)
1496 AC_CHECK_FUNCS(mkstemp mkdtemp)
1499 # XXX - if inet_aton isn't found, the build fails, with a complaint from
1500 # libtool about inet_aton.lo not being a valid libtool object. We
1501 # probably have to handle it - and all the other replacement functions that
1502 # get built into libwireshark - differently.
1504 AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
1506 if test "$have_inet_aton" = no; then
1507 INET_ATON_C="inet_aton.c"
1508 INET_ATON_O="inet_aton.o"
1509 INET_ATON_LO="inet_aton.lo"
1510 AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
1516 AC_SUBST(INET_ATON_C)
1517 AC_SUBST(INET_ATON_O)
1518 AC_SUBST(INET_ATON_LO)
1520 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
1521 dnl check for pre-BIND82 inet_pton() bug.
1522 AC_MSG_CHECKING(for broken inet_pton)
1523 AC_TRY_RUN([#include <sys/types.h>
1524 #include <sys/socket.h>
1525 #include <netinet/in.h>
1526 #include <arpa/inet.h>
1531 /* this should return 0 (error) */
1532 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
1536 }], [AC_MSG_RESULT(ok);
1537 have_inet_pton=yes], [AC_MSG_RESULT(broken);
1538 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
1539 have_inet_pton=no])],
1541 if test "$have_inet_pton" = no; then
1542 INET_PTON_C="inet_pton.c"
1543 INET_PTON_O="inet_pton.o"
1544 INET_PTON_LO="inet_pton.lo"
1550 AC_SUBST(INET_PTON_C)
1551 AC_SUBST(INET_PTON_O)
1552 AC_SUBST(INET_PTON_LO)
1554 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
1555 AC_MSG_CHECKING([for inet_ntop prototype])
1556 AC_TRY_COMPILE([#include <stdio.h>
1557 #include <sys/types.h>
1558 #include <sys/socket.h>
1559 #include <netinet/in.h>
1560 #include <arpa/inet.h>
1562 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
1564 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1565 [Define if inet_ntop() prototype exists])], [
1566 AC_TRY_COMPILE([#include <stdio.h>
1567 #include <sys/types.h>
1568 #include <sys/socket.h>
1569 #include <netinet/in.h>
1570 #include <arpa/inet.h>
1572 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
1574 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1575 [Define if inet_ntop() prototype exists])], [
1576 AC_MSG_RESULT(no)])])
1579 INET_NTOP_C="inet_ntop.c"
1580 INET_NTOP_O="inet_ntop.o"
1581 INET_NTOP_LO="inet_ntop.lo"
1582 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
1583 [Define if inet/v6defs.h needs to be included])])
1584 AC_SUBST(INET_NTOP_C)
1585 AC_SUBST(INET_NTOP_O)
1586 AC_SUBST(INET_NTOP_LO)
1588 AC_CHECK_FUNC(strptime, STRPTIME_O="",
1589 [STRPTIME_O="strptime.o"
1590 AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
1592 if test "$ac_cv_func_strptime" = no ; then
1593 STRPTIME_C="strptime.c"
1594 STRPTIME_O="strptime.o"
1596 AC_SUBST(STRPTIME_C)
1597 AC_SUBST(STRPTIME_O)
1599 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
1600 AC_CHECK_FUNCS(issetugid)
1601 AC_CHECK_FUNCS(mmap mprotect sysconf)
1603 dnl blank for now, but will be used in future
1604 AC_SUBST(wireshark_SUBDIRS)
1607 dnl check whether plugins should be enabled and, if they should be,
1608 dnl check for plugins directory - stolen from Amanda's configure.in
1610 dnl we don't wish to expand ${libdir} yet
1611 plugindir='${libdir}/wireshark/plugins/${VERSION}'
1612 AC_ARG_WITH(plugins,
1613 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
1614 [support plugins (installed in DIR, if supplied). @<:@default=yes, if possible@:>@]),
1616 if test "x$withval" = "xno"; then
1618 elif test "x$have_plugins" = "xno"; then
1619 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
1620 elif test "x$withval" != "xyes"; then
1621 plugindir="$withval"
1624 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
1625 if test x$have_plugins = xyes
1627 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
1630 CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'"
1633 # The plugin dissectors reside in ./plugins/PROTO/
1636 AC_SUBST(PLUGIN_LIBS)
1640 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
1641 # (autoconf? automake? libtool?) - with the newer version(s), it's
1642 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
1644 # With older version(s) of those tool(s), however, it's not just an
1645 # alias, and the configure scripts don't work without it.
1648 AC_SUBST(LIBTOOL_DEPS)
1650 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
1651 if test x$enable_static = xyes -a x$have_plugins = xyes
1653 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
1655 AC_SUBST(ENABLE_STATIC)
1657 AC_ARG_ENABLE(new-packet-list,
1658 AC_HELP_STRING( [--enable-new-packet-list],
1659 [use new packet list feature. @<:@default=yes@:>@]),
1660 new_packet_list=$enableval,new_packet_list=yes)
1661 AC_MSG_CHECKING(if new packet list is used);
1662 if test "x$new_packet_list" = "xyes" ; then
1664 CFLAGS=" -DNEW_PACKET_LIST $CFLAGS"
1669 dnl Save the cacheable configure results to config.cache before recursing
1672 sinclude(plugins/Custom.m4) dnl
1673 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
1675 AM_CONFIG_HEADER(config.h)
1680 asn1/acp133/Makefile
1682 asn1/ansi_map/Makefile
1683 asn1/ansi_tcap/Makefile
1686 asn1/charging_ase/Makefile
1699 asn1/gsm_map/Makefile
1708 asn1/h450-ros/Makefile
1713 asn1/logotypecertextn/Makefile
1714 asn1/lte-rrc/Makefile
1716 asn1/mpeg-audio/Makefile
1717 asn1/mpeg-pes/Makefile
1719 asn1/ns_cert_exts/Makefile
1724 asn1/pkcs12/Makefile
1725 asn1/pkinit/Makefile
1726 asn1/pkix1explicit/Makefile
1727 asn1/pkix1implicit/Makefile
1728 asn1/pkixproxy/Makefile
1729 asn1/pkixqualified/Makefile
1730 asn1/pkixtsp/Makefile
1733 asn1/q932-ros/Makefile
1746 asn1/spnego/Makefile
1751 asn1/wlancertextn/Makefile
1755 asn1/x509af/Makefile
1756 asn1/x509ce/Makefile
1757 asn1/x509if/Makefile
1758 asn1/x509sat/Makefile
1766 epan/dfilter/Makefile
1767 epan/dissectors/Makefile
1768 epan/ftypes/Makefile
1770 epan/wspython/Makefile
1776 packaging/macosx/Info.plist
1777 packaging/macosx/Makefile
1778 packaging/nsis/Makefile
1779 packaging/rpm/Makefile
1780 packaging/rpm/SPECS/Makefile
1781 packaging/rpm/SPECS/wireshark.spec
1782 packaging/svr4/Makefile
1783 packaging/svr4/checkinstall
1784 packaging/svr4/pkginfo
1786 plugins/asn1/Makefile
1787 plugins/docsis/Makefile
1788 plugins/ethercat/Makefile
1789 plugins/giop/Makefile
1790 plugins/gryphon/Makefile
1791 plugins/irda/Makefile
1792 plugins/m2m/Makefile
1793 plugins/mate/Makefile
1794 plugins/opcua/Makefile
1795 plugins/profinet/Makefile
1796 plugins/sercosiii/Makefile
1797 plugins/stats_tree/Makefile
1798 plugins/unistim/Makefile
1799 plugins/wimax/Makefile
1800 plugins/wimaxasncp/Makefile
1803 tools/lemon/Makefile
1808 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
1813 if test "x$enable_setuid_install" = "xyes" ; then
1814 setuid_message="yes"
1819 if test "x$want_zlib" = "xno" ; then
1825 if test "x$want_pcre" = "xno" ; then
1831 if test "x$want_lua" = "xyes" ; then
1837 if test "x$want_python" = "xyes"; then
1838 python_message="yes"
1843 if test "x$want_portaudio" = "xyes" ; then
1844 portaudio_message="yes"
1846 portaudio_message="no"
1849 if test "x$want_ssl" = "xno" ; then
1855 if test "x$want_krb5" = "xno" ; then
1858 krb5_message="yes ($ac_krb5_version)"
1861 if test "x$have_good_c_ares" = "xyes" ; then
1862 c_ares_message="yes"
1867 if test "x$have_good_adns" = "xyes" ; then
1873 if test "x$have_good_libcap" = "xyes" ; then
1874 libcap_message="yes"
1879 if test "x$have_good_geoip" = "xyes" ; then
1886 echo "The Wireshark package has been configured with the following options."
1887 echo " Build wireshark : $enable_wireshark"
1888 echo " Build tshark : $enable_tshark"
1889 echo " Build capinfos : $enable_capinfos"
1890 echo " Build editcap : $enable_editcap"
1891 echo " Build dumpcap : $enable_dumpcap"
1892 echo " Build mergecap : $enable_mergecap"
1893 echo " Build text2pcap : $enable_text2pcap"
1894 echo " Build idl2wrs : $enable_idl2wrs"
1895 echo " Build randpkt : $enable_randpkt"
1896 echo " Build dftest : $enable_dftest"
1897 echo " Build rawshark : $enable_rawshark"
1899 echo " Install dumpcap setuid : $setuid_message"
1900 echo " Use plugins : $have_plugins"
1901 echo " Use lua library : $lua_message"
1902 echo " Use python binding : $python_message"
1903 echo " Build rtp_player : $portaudio_message"
1904 echo " Use threads : $enable_threads"
1905 echo " Build profile binaries : $enable_profile_build"
1906 echo " Use pcap library : $want_pcap"
1907 echo " Use zlib library : $zlib_message"
1908 echo " Use pcre library : $pcre_message"
1909 echo " Use kerberos library : $krb5_message"
1910 echo " Use c-ares library : $c_ares_message"
1911 echo " Use GNU ADNS library : $adns_message"
1912 echo " Use SMI MIB library : $libsmi_message"
1913 echo " Use GNU crypto library : $gcrypt_message"
1914 echo " Use SSL crypto library : $ssl_message"
1915 echo " Use IPv6 name resolution : $enable_ipv6"
1916 echo " Use gnutls library : $tls_message"
1917 echo " Use POSIX capabilities library : $libcap_message"
1918 echo " Use GeoIP library : $geoip_message"