5 AC_INIT(wireshark, 1.3.3)
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)
186 # Check for hhc (html help compiler)
187 AC_PATH_PROG(HHC, hhc.exe)
188 AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no")
189 AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes)
191 # Check for packaging utilities
192 # For now, we check to see if the various packaging utilites are in our
193 # path. I'm too lazy to write code to go hunt for them. - Gerald
196 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
197 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
198 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
200 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
201 -a x$HAVE_PKGTRANS = xyes ; then
202 HAVE_SVR4_PACKAGING=yes
204 HAVE_SVR4_PACKAGING=no
206 AC_SUBST(HAVE_SVR4_PACKAGING)
209 AC_WIRESHARK_RPM_CHECK
213 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
216 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
217 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
218 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
220 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
221 -a x$HAVE_BLESS = xyes ; then
222 HAVE_OSX_PACKAGING=yes
224 HAVE_OSX_PACKAGING=no
226 AC_SUBST(HAVE_OSX_PACKAGING)
229 # Try to add some additional gcc checks to CFLAGS
231 AC_ARG_ENABLE(extra-gcc-checks,
232 AC_HELP_STRING( [--enable-extra-gcc-checks],
233 [Do additional -W checks in GCC. @<:@default=no@:>@]),
235 wireshark_extra_gcc_flags=$enableval
236 if test $enableval != no
238 AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
239 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
240 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op)
241 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
242 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
243 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
244 # AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations)
245 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
246 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast)
247 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
248 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress)
249 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
250 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
251 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
252 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
253 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
254 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
255 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas)
256 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls)
257 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla)
258 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat)
259 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init)
261 # epan/dissectors/packet-ncp2222.inc blocks this one
264 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
265 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
266 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
268 # epan/dissectors/packet-afs.c blocks this one for now.
270 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow)
272 # More cleanup needed for this on LP64.
274 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
277 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
278 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -W is now known as -Wextra
279 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
280 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
281 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
282 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign)
283 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
284 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
285 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
287 AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed])
288 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-flto])
289 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr])
290 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program])
293 # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
294 # so we can use _U_ to flag unused function arguments and not get warnings
295 # about them. Otherwise, add '-D_U_=""', so that _U_ used to flag an unused
296 # function argument will compile with non-GCC compilers.
298 if test "x$GCC" = "xyes" ; then
299 CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
301 CFLAGS="-D_U_=\"\" $CFLAGS"
305 # If we're running gcc, will enable a barrier "stop on warning".
306 # This barrier is set for a very large part of the code. However, it is
307 # typically not set for "generated" code (flex, ans2wrs, idl2wrs, ...)
309 warnings_as_errors_default="yes"
310 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
311 AC_ARG_ENABLE(warnings-as-errors,
312 AC_HELP_STRING( [--enable-warnings-as-errors],
313 [Treat warnings as errors (only for gcc). @<:@default=yes@:>@]),
315 if test "x$GCC" = "xyes" -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
316 with_warnings_as_errors="yes"
319 with_warnings_as_errors="no"
323 if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
324 with_warnings_as_errors="yes"
327 with_warnings_as_errors="no"
331 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
334 # Add any platform-specific compiler flags needed.
336 AC_MSG_CHECKING(for platform-specific compiler flags)
337 if test "x$GCC" = "xyes" ; then
339 # GCC - do any platform-specific tweaking necessary.
343 # the X11 headers don't automatically include prototype info
344 # and a lot don't include the return type
345 CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15"
346 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
350 # See comments above about Apple's lovely C compiler.
352 CFLAGS="-no-cpp-precomp $CFLAGS"
353 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
356 AC_MSG_RESULT(none needed)
361 # Not GCC - assume it's the vendor's compiler.
366 # HP's ANSI C compiler; flags suggested by Jost Martin.
367 # "-Ae" for ANSI C plus extensions such as "long long".
368 # "+O2", for optimization. XXX - works with "-g"?
370 CFLAGS="-Ae +O2 $CFLAGS"
371 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
375 # It may be called "cc", but it's really a GCC derivative
376 # with a problematic special precompiler and precompiled
377 # headers; turn off the special precompiler, as some
378 # apparently-legal code won't compile with its precompiled
381 CFLAGS="-no-cpp-precomp $CFLAGS"
382 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
385 AC_MSG_RESULT(none needed)
391 # Add any platform-specific linker flags needed.
393 AC_MSG_CHECKING(for platform-specific linker flags)
397 # Add -Wl,-single_module to the LDFLAGS used with shared
398 # libraries, to fix some error that show up in some cases;
399 # some Apple documentation recommends it for most shared
402 LDFLAGS_SHAREDLIB="-Wl,-single_module"
404 # Add -Wl,-search_paths_first to make sure that if we search
405 # directories A and B, in that order, for a given library, a
406 # non-shared version in directory A, rather than a shared
407 # version in directory B, is chosen (so we can use
408 # --with-pcap=/usr/local to force all programs to be linked
409 # with a static version installed in /usr/local/lib rather than
410 # the system version in /usr/lib).
412 LDFLAGS="-Wl,-search_paths_first $LDFLAGS"
413 AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first])
417 # Shared libraries in cygwin/Win32 must never contain
420 LDFLAGS="$LDFLAGS -no-undefined"
421 AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
424 AC_MSG_RESULT(none needed)
427 AC_SUBST(LDFLAGS_SHAREDLIB)
429 # Control silent compiling
430 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
433 # On OS X, if we find the headers for Core Foundation, Launch Services,
434 # and Core Services, add -framework options to link with Application
435 # Services (of which Launch Services is a subframework), Core Foundation
436 # (required by the Launch Services APIs), and Core Services, so we can
437 # use them to launch a Web browser from the Help menu and to use
438 # Gestalt() to get the Mac OS X version number.
443 AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services])
445 ac_frameworks="-framework ApplicationServices -framework CoreFoundation -framework CoreServices"
446 LIBS="$LIBS $ac_frameworks"
449 # include <CoreFoundation/CFBase.h>
450 # include <CoreFoundation/CFString.h>
451 # include <CoreFoundation/CFURL.h>
452 # include <ApplicationServices/ApplicationServices.h>
453 # include <CoreServices/CoreServices.h>
456 CFStringRef url_CFString;
461 url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII);
462 url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL);
463 status = LSOpenCFURLRef(url_CFURL, NULL);
465 Gestalt(gestaltSystemVersion, &os_version);
467 ac_cv_can_use_osx_frameworks=yes,
468 ac_cv_can_use_osx_frameworks=no,
469 [echo $ac_n "cross compiling; assumed OK... $ac_c"])
470 if test "$ac_cv_can_use_osx_frameworks" = yes ; then
471 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
472 FRAMEWORKS="$ac_frameworks"
483 # If using $prefix we add "$prefix/include" to the include search path
484 # and "$prefix/lib" to the library search path.
486 if test "x$prefix" != "x" ; then
487 AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
488 if test -d $prefix/include ; then
491 # Arrange that we search for header files in "$prefix/include", as
492 # various packages we use may have been installed under "$prefix/include".
494 CFLAGS="$CFLAGS -I$prefix/include"
495 CPPFLAGS="$CPPFLAGS -I$prefix/include"
498 # Arrange that we search for libraries in "$prefix/lib".
500 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
506 dnl Look in /usr/local for header files and libraries ?
507 dnl XXX FIXME don't include /usr/local if it is already in the system
508 dnl search path as this causes gcc 3.2 on Linux to complain about a change
509 dnl of the system search order for includes
510 AC_ARG_ENABLE(usr-local,
511 AC_HELP_STRING( [--enable-usr-local],
512 [look for headers and libs in /usr/local tree. @<:@default=yes@:>@]),
513 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
515 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
516 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
519 # Arrange that we search for header files in the source directory
520 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
521 # as various packages we use ("libpcap", "zlib", "adns", "pcre")
522 # may have been installed under "/usr/local/include".
524 CFLAGS="$CFLAGS -I/usr/local/include"
525 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
528 # Arrange that we search for libraries in "/usr/local/lib".
530 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
536 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
541 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
542 if test x$LD_LIBRARY_PATH != x ; then
543 LIBS="$LIBS -R$LD_LIBRARY_PATH"
544 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
546 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
552 # Check for versions of "sed" inadequate to handle, in libtool, a list
553 # of object files as large as the list in Wireshark.
555 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
556 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
557 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
558 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
559 # is the only "sed" that comes with Solaris that can handle Wireshark.
561 # Add any checks here that are necessary for other OSes.
563 AC_WIRESHARK_GNU_SED_CHECK
564 if test "$HAVE_GNU_SED" = no ; then
567 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
569 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
571 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
586 # Enable/disable tshark
588 AC_ARG_ENABLE(wireshark,
589 AC_HELP_STRING( [--enable-wireshark],
590 [build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]),
591 enable_wireshark=$enableval,enable_wireshark=yes)
593 AC_ARG_ENABLE(threads,
594 AC_HELP_STRING( [--enable-threads],
595 [use threads in wireshark. @<:@default=no@:>@]),
596 enable_threads=$enableval,enable_threads=no)
597 AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes)
599 AC_ARG_ENABLE(profile-build,
600 AC_HELP_STRING( [--enable-profile-build],
601 [build profile-ready binaries. @<:@default=no@:>@]),
602 enable_profile_build=$enableval,enable_profile_build=no)
603 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
604 AC_MSG_CHECKING(if profile builds must be generated)
605 if test "x$enable_profile_build" = "xyes" ; then
606 if test "x$GCC" = "xyes" ; then
608 CFLAGS=" -pg $CFLAGS"
611 echo "Building profile binaries currently only supported for GCC."
617 # Create DATAFILE_DIR #define for config.h
618 datafiledir=$datadir/wireshark
620 test "x$prefix" = xNONE && prefix=$ac_default_prefix
621 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
622 # Ugly hack, but I don't see how this problem can be solved
623 # properly that DATAFILE_DIR had a value starting with
624 # "${prefix}/" instead of e.g. "/usr/local/"
625 eval eval echo "$datafiledir"
627 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
629 # GTK checks; we require GTK+ 2.4 or later.
630 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
631 # programs to be built with GTK+.
633 if test "x$enable_wireshark" = "xyes"; then
634 AM_PATH_GTK_2_0(2.4.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no, gthread)
640 # This doesn't add GLIB_CFLAGS to CFLAGS, because AM_PATH_GTK will add
641 # GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a superset of CFLAGS.
642 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
643 # set when generating the Makefile, so we can make programs that require
644 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
645 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
646 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
647 # programs to be built with GLib.
649 if test "$GTK_OK" = "no" ; then
651 # We don't have GTK+.
652 # If they didn't explicitly say "--disable-wireshark", fail (so
653 # that, unless they explicitly indicated that they don't want
654 # Wireshark, we stop so they know they won't be getting
655 # Wireshark unless they fix the GTK+ problem).
657 if test "x$enable_wireshark" = "xyes"; then
658 AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled])
663 AM_PATH_GLIB_2_0(2.4.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
666 wireshark_bin="wireshark\$(EXEEXT)"
667 wireshark_man="wireshark.1"
668 wireshark_SUBDIRS="codecs gtk"
670 AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
674 # Check whether GLib modules are supported, to determine whether we
675 # can support plugins.
677 AC_MSG_CHECKING(whether GLib supports loadable modules)
678 ac_save_CFLAGS="$CFLAGS"
680 CFLAGS="$CFLAGS $GLIB_CFLAGS"
681 LIBS="$GLIB_LIBS $LIBS"
691 if (g_module_supported())
692 return 0; /* success */
694 return 1; /* failure */
696 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
697 [echo $ac_n "cross compiling; assumed OK... $ac_c"
698 ac_cv_glib_supports_modules=yes])
699 CFLAGS="$ac_save_CFLAGS"
701 if test "$ac_cv_glib_supports_modules" = yes ; then
710 # If we have <dlfcn.h>, check whether we can use dladdr to find a
711 # filename (hopefully, a full pathname, but no guarantees) for
714 if test "$ac_cv_header_dlfcn_h" = "yes"
716 AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable)
717 ac_save_CFLAGS="$CFLAGS"
719 CFLAGS="$CFLAGS $GLIB_CFLAGS"
720 LIBS="$GLIB_LIBS $LIBS"
722 #define _GNU_SOURCE /* required on Linux, sigh */
730 if (!dladdr((void *)main, &info))
731 return 1; /* failure */
732 return 0; /* assume success */
734 ], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no,
735 [echo $ac_n "cross compiling; assumed OK... $ac_c"
736 ac_cv_dladdr_finds_executable_path=yes])
737 CFLAGS="$ac_save_CFLAGS"
739 if test x$ac_cv_dladdr_finds_executable_path = xyes
741 AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable])
743 AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path)
746 dnl IGE Mac integration check
747 AC_MSG_CHECKING(whether to use IGE Mac integration functions)
749 AC_ARG_WITH(ige-mac-integration,
750 AC_HELP_STRING( [--with-ige-mac-integration],
751 [use IGE Mac integration. (@<:@default=yes, if available@:>@]),
753 if test $withval = no
755 want_ige_mac_integration=no
757 want_ige_mac_integration=yes
760 want_ige_mac_integration=yes
762 if test "x$want_ige_mac_integration" = "xno" -o "x$no_gtk" = "xyes" ; then
766 AC_WIRESHARK_IGE_MAC_INTEGRATION_CHECK
770 AC_SUBST(wireshark_bin)
771 AC_SUBST(wireshark_man)
774 # Enable/disable tshark
776 AC_ARG_ENABLE(tshark,
777 AC_HELP_STRING( [--enable-tshark],
778 [build tshark. @<:@default=yes@:>@]),
779 tshark=$enableval,enable_tshark=yes)
781 if test "x$enable_tshark" = "xyes" ; then
782 tshark_bin="tshark\$(EXEEXT)"
783 tshark_man="tshark.1"
784 wiresharkfilter_man="wireshark-filter.4"
791 AC_SUBST(wiresharkfilter_man)
795 # Enable/disable editcap
797 AC_ARG_ENABLE(editcap,
798 AC_HELP_STRING( [--enable-editcap],
799 [build editcap. @<:@default=yes@:>@]),
800 enable_editcap=$enableval,enable_editcap=yes)
802 if test "x$enable_editcap" = "xyes" ; then
803 editcap_bin="editcap\$(EXEEXT)"
804 editcap_man="editcap.1"
809 AC_SUBST(editcap_bin)
810 AC_SUBST(editcap_man)
812 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
815 # Enable/disable capinfos
817 AC_ARG_ENABLE(capinfos,
818 AC_HELP_STRING( [--enable-capinfos],
819 [build capinfos. @<:@default=yes@:>@]),
820 enable_capinfos=$enableval,enable_capinfos=yes)
822 if test "x$enable_capinfos" = "xyes" ; then
823 capinfos_bin="capinfos\$(EXEEXT)"
824 capinfos_man="capinfos.1"
829 AC_SUBST(capinfos_bin)
830 AC_SUBST(capinfos_man)
833 # Enable/disable mergecap
835 AC_ARG_ENABLE(mergecap,
836 AC_HELP_STRING( [--enable-mergecap],
837 [build mergecap. @<:@default=yes@:>@]),
838 enable_mergecap=$enableval,enable_mergecap=yes)
840 if test "x$enable_mergecap" = "xyes" ; then
841 mergecap_bin="mergecap\$(EXEEXT)"
842 mergecap_man="mergecap.1"
847 AC_SUBST(mergecap_bin)
848 AC_SUBST(mergecap_man)
851 # Enable/disable text2pcap
853 AC_ARG_ENABLE(text2pcap,
854 AC_HELP_STRING( [--enable-text2pcap],
855 [build text2pcap. @<:@default=yes@:>@]),
856 text2pcap=$enableval,enable_text2pcap=yes)
858 if test "x$enable_text2pcap" = "xyes" ; then
859 text2pcap_bin="text2pcap\$(EXEEXT)"
860 text2pcap_man="text2pcap.1"
865 AC_SUBST(text2pcap_bin)
866 AC_SUBST(text2pcap_man)
868 # Enable/disable idl2wrs
870 AC_ARG_ENABLE(idl2wrs,
871 AC_HELP_STRING( [--enable-idl2wrs],
872 [build idl2wrs. @<:@default=yes@:>@]),
873 enable_idl2wrs=$enableval,enable_idl2wrs=yes)
875 if test "x$enable_idl2wrs" = "xyes" ; then
876 idl2wrs_bin="idl2wrs"
877 idl2wrs_man="idl2wrs.1"
882 AC_SUBST(idl2wrs_bin)
883 AC_SUBST(idl2wrs_man)
886 # Enable/disable dftest
888 AC_ARG_ENABLE(dftest,
889 AC_HELP_STRING( [--enable-dftest],
890 [build dftest. @<:@default=yes@:>@]),
891 enable_dftest=$enableval,enable_dftest=yes)
893 if test "x$enable_dftest" = "xyes" ; then
894 dftest_bin="dftest\$(EXEEXT)"
901 # Enable/disable randpkt
903 AC_ARG_ENABLE(randpkt,
904 AC_HELP_STRING( [--enable-randpkt],
905 [build randpkt. @<:@default=yes@:>@]),
906 enable_randpkt=$enableval,enable_randpkt=yes)
908 if test "x$enable_randpkt" = "xyes" ; then
909 randpkt_bin="randpkt\$(EXEEXT)"
913 AC_SUBST(randpkt_bin)
917 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
918 dnl "gethostbyname()".
919 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
921 dnl Checks for "connect()", used as a proxy for "socket()" - and
922 dnl "-lsocket", if we need it to get "connect()".
923 AC_WIRESHARK_SOCKET_LIB_CHECK
926 AC_MSG_CHECKING(whether to use libpcap for packet capture)
929 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
930 [use libpcap for packet capturing. @<:@default=yes@:>@]),
932 if test $withval = no
935 elif test $withval = yes
946 if test "x$want_pcap" = "xno" ; then
950 AC_WIRESHARK_PCAP_CHECK
953 # Enable/disable dumpcap
956 AC_MSG_CHECKING(whether to build dumpcap)
958 AC_ARG_ENABLE(dumpcap,
959 AC_HELP_STRING( [--enable-dumpcap],
960 [build dumpcap. @<:@default=yes@:>@]),
961 enable_dumpcap=$enableval,enable_dumpcap=yes)
963 if test "x$enable_dumpcap" = "xyes" ; then
964 if test "x$want_pcap" = "xno" ; then
966 AC_MSG_RESULT(pcap not available - disabling dumpcap)
974 if test "x$enable_dumpcap" = "xyes" ; then
975 dumpcap_bin="dumpcap\$(EXEEXT)"
976 dumpcap_man="dumpcap.1"
981 AC_SUBST(dumpcap_bin)
982 AC_SUBST(dumpcap_man)
984 # Enable/disable rawshark
987 AC_MSG_CHECKING(whether to build rawshark)
989 AC_ARG_ENABLE(rawshark,
990 AC_HELP_STRING( [--enable-rawshark],
991 [build rawshark. @<:@default=yes@:>@]),
992 rawshark=$enableval,enable_rawshark=yes)
994 if test "x$enable_rawshark" = "xyes" ; then
995 if test "x$want_pcap" = "xno" ; then
997 AC_MSG_RESULT(pcap not available - disabling rawshark)
1005 if test "x$enable_rawshark" = "xyes" ; then
1006 rawshark_bin="rawshark\$(EXEEXT)"
1007 rawshark_man="rawshark.1"
1012 AC_SUBST(rawshark_bin)
1013 AC_SUBST(rawshark_man)
1016 dnl pcap remote check
1017 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1019 AC_ARG_WITH(pcap-remote,
1020 [ --with-pcap-remote use libpcap remote capturing (requires libpcap)],
1022 if test $withval = no
1026 want_pcap_remote=yes
1031 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1035 AC_WIRESHARK_PCAP_REMOTE_CHECK
1039 AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
1042 AC_HELP_STRING( [--with-zlib@<:@=DIR@:>@],
1043 [use zlib (located in directory DIR, if supplied) to read compressed data. @<:@default=yes, if available@:>@]),
1045 if test $withval = no
1048 elif test $withval = yes
1057 # Use zlib if it's present, otherwise don't.
1059 want_zlib=ifavailable
1062 if test "x$want_zlib" = "xno" ; then
1066 AC_WIRESHARK_ZLIB_CHECK
1067 if test "x$want_zlib" = "xno" ; then
1068 AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
1074 AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
1077 AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@],
1078 [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. @<:@default=yes, if available@:>@]),
1080 if test $withval = no
1083 elif test $withval = yes
1092 # Use libpcre if it's present, otherwise don't.
1093 # XXX - Should GLib 2.14 take precedence here?
1095 want_pcre=ifavailable
1098 if test "x$want_pcre" = "xno" ; then
1102 AC_WIRESHARK_LIBPCRE_CHECK
1103 if test "x$want_pcre" = "xno" ; then
1104 AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
1110 AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
1113 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1114 [use liblua (located in directory DIR, if supplied) for the lua scripting plugin. @<:@default=yes, if available@:>@]),
1116 if test $withval = no
1119 elif test $withval = yes
1128 # Use liblua by default
1130 want_lua=ifavailable
1133 if test "x$want_lua" = "xno" ; then
1137 AC_WIRESHARK_LIBLUA_CHECK
1138 if test "x$want_lua" = "xno" ; then
1139 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
1142 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
1146 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
1148 AC_ARG_WITH(portaudio,
1149 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1150 [use libportaudio (located in directory DIR, if supplied) for the rtp_player. @<:@default=yes, if available@:>@]),
1152 if test $withval = no
1155 elif test $withval = yes
1160 portaudio_dir=$withval
1164 # Use libportaudio by default
1166 want_portaudio=ifavailable
1169 if test "x$want_portaudio" = "xno" ; then
1173 AC_WIRESHARK_LIBPORTAUDIO_CHECK
1174 if test "x$want_portaudio" = "xno" ; then
1175 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
1178 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1183 AC_HELP_STRING( [--enable-ipv6],
1184 [use ipv6 name resolution, if available. @<:@default=yes@:>@]),
1185 enable_ipv6=$enableval,enable_ipv6=yes)
1187 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
1188 if test "x$enable_ipv6" = "xno" ; then
1192 AC_WIRESHARK_IPV6_STACK
1196 dnl Check if dumpcap should be installed setuid
1197 AC_ARG_ENABLE(setuid-install,
1198 AC_HELP_STRING( [--enable-setuid-install],
1199 [install dumpcap as setuid @<:@default=no@:>@]),
1200 enable_setuid_install=$enableval,enable_setuid_install=no)
1202 AC_MSG_CHECKING(whether to install dumpcap setuid)
1203 if test "x$enable_setuid_install" = "xno" ; then
1206 if test "x$enable_dumpcap" = "xno" ; then
1207 AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
1213 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
1214 AC_CHECK_FUNCS(setresuid setresgid)
1216 dnl libcap (not libpcap) check
1218 AC_MSG_CHECKING(whether to use the libcap capabilities library)
1221 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
1222 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management. @<:@default=yes, if present@:>@]),
1224 if test "x$withval" = "xno"; then
1226 elif test "x$withval" = "xyes"; then
1228 elif test -d "$withval"; then
1230 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1233 if test "x$with_libcap" = "xno" ; then
1237 AC_WIRESHARK_LIBCAP_CHECK
1239 AC_SUBST(LIBCAP_LIBS)
1241 dnl Checks for header files.
1242 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
1243 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)
1244 AC_CHECK_HEADERS(netinet/in.h)
1245 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
1249 AC_MSG_CHECKING(whether to use SSL library)
1252 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
1253 [use SSL crypto library (located in directory DIR, if supplied). @<:@default=no@:>@]),
1255 if test "x$withval" = "xno"; then
1257 elif test "x$withval" = "xyes"; then
1259 elif test -d "$withval"; then
1261 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1266 if test "x$want_ssl" = "xyes"; then
1268 AC_CHECK_LIB(crypto,EVP_md5,
1273 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
1281 AC_MSG_CHECKING(whether to use kerberos)
1284 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
1285 [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection @<:@default=yes@:>@]),
1287 if test $withval = no
1290 elif test $withval = yes
1299 # Use kerberos if specified, otherwise don't.
1301 want_krb5=ifavailable
1304 if test "x$want_krb5" = "xno" ; then
1308 AC_WIRESHARK_KRB5_CHECK
1314 AC_MSG_CHECKING(whether to use the c-ares library if available)
1317 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
1318 [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]),
1320 if test "x$withval" = "xno"; then
1322 elif test "x$withval" = "xyes"; then
1324 elif test -d "$withval"; then
1326 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1329 if test "x$want_c_ares" = "xno" ; then
1333 AC_WIRESHARK_C_ARES_CHECK
1335 AC_SUBST(C_ARES_LIBS)
1339 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
1342 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
1343 [use GNU ADNS (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1345 if test "x$withval" = "xno"; then
1347 elif test "x$withval" = "xyes"; then
1349 elif test -d "$withval"; then
1351 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1354 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
1358 AC_WIRESHARK_ADNS_CHECK
1364 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
1367 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
1368 [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1370 if test "x$withval" = "xno"; then
1372 elif test "x$withval" = "xyes"; then
1374 elif test -d "$withval"; then
1376 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1379 if test "x$want_geoip" = "xno"; then
1383 AC_WIRESHARK_GEOIP_CHECK
1385 AC_SUBST(GEOIP_LIBS)
1387 dnl Python devel Check
1389 AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
1390 [use python interpretor (installed in DIR, if supplied). @<:@default=no@:>@ (EXPERIMENTAL)]),
1392 pythondir='${libdir}/wireshark/python/${VERSION}'
1393 if test "x$withval" = "xno"; then
1395 elif test "x$withval" != "xyes"; then
1396 pythondir="$withval"
1398 AC_WIRESHARK_PYTHON_CHECK
1401 AC_WIRESHARK_PYTHON_CHECK
1404 AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes)
1408 # Define WS_VAR_IMPORT appropriately for declarations of external
1409 # variables exported from dynamically-linked libraries.
1411 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
1413 AC_ARG_ENABLE(airpcap,
1414 AC_HELP_STRING( [--enable-airpcap],
1415 [use airpcap in wireshark. @<:@default=no@:>@]),
1416 enable_airpcap=$enableval
1417 if test x$enable_airpcap != xno; then
1418 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
1422 # Define HAVE_AIRPDCAP
1423 # We'll want to remove this eventually.
1425 AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)])
1427 dnl Checks for typedefs, structures, and compiler characteristics.
1430 # Check how we can get the time zone abbreviation
1431 AC_WIRESHARK_TIMEZONE_ABBREV
1433 # We need to know whether "struct sockaddr" has an "sa_len" member
1434 # for get_interface_list().
1436 AC_WIRESHARK_STRUCT_SA_LEN
1438 # We must know our byte order
1441 # Checks whether "-traditional" is needed when using "ioctl".
1442 # XXX - do we need this?
1443 AC_PROG_GCC_TRADITIONAL
1447 AC_CHECK_FUNC(getopt,
1449 AC_DEFINE(HAVE_GETOPT_H, 1, [Define to 1 if you have the <getopt.h> header file.])
1451 GETOPT_O="wsgetopt.o"
1453 if test "$ac_cv_func_getopt" = no ; then
1454 GETOPT_C="wsgetopt.c"
1455 GETOPT_O="wsgetopt.o"
1460 AC_CHECK_FUNC(strerror, STRERROR_O="",
1461 [STRERROR_O="strerror.o"
1462 AC_DEFINE(NEED_STRERROR_H, 1, [Define if strerror.h needs to be included])
1464 if test "$ac_cv_func_strerror" = no ; then
1465 STRERROR_C="strerror.c"
1466 STRERROR_O="strerror.o"
1468 AC_SUBST(STRERROR_C)
1469 AC_SUBST(STRERROR_O)
1471 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="",
1472 STRNCASECMP_O="strncasecmp.o")
1473 if test "$ac_cv_func_strncasecmp" = no ; then
1474 STRNCASECMP_C="strncasecmp.c"
1475 STRNCASECMP_O="strncasecmp.o"
1477 AC_SUBST(STRNCASECMP_C)
1478 AC_SUBST(STRNCASECMP_O)
1480 AC_CHECK_FUNCS(mkstemp mkdtemp)
1483 # XXX - if inet_aton isn't found, the build fails, with a complaint from
1484 # libtool about inet_aton.lo not being a valid libtool object. We
1485 # probably have to handle it - and all the other replacement functions that
1486 # get built into libwireshark - differently.
1488 AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
1490 if test "$have_inet_aton" = no; then
1491 INET_ATON_C="inet_aton.c"
1492 INET_ATON_O="inet_aton.o"
1493 INET_ATON_LO="inet_aton.lo"
1494 AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
1500 AC_SUBST(INET_ATON_C)
1501 AC_SUBST(INET_ATON_O)
1502 AC_SUBST(INET_ATON_LO)
1504 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
1505 dnl check for pre-BIND82 inet_pton() bug.
1506 AC_MSG_CHECKING(for broken inet_pton)
1507 AC_TRY_RUN([#include <sys/types.h>
1508 #include <sys/socket.h>
1509 #include <netinet/in.h>
1510 #include <arpa/inet.h>
1515 /* this should return 0 (error) */
1516 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
1520 }], [AC_MSG_RESULT(ok);
1521 have_inet_pton=yes], [AC_MSG_RESULT(broken);
1522 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
1523 have_inet_pton=no])],
1525 if test "$have_inet_pton" = no; then
1526 INET_PTON_C="inet_pton.c"
1527 INET_PTON_O="inet_pton.o"
1528 INET_PTON_LO="inet_pton.lo"
1534 AC_SUBST(INET_PTON_C)
1535 AC_SUBST(INET_PTON_O)
1536 AC_SUBST(INET_PTON_LO)
1538 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
1539 AC_MSG_CHECKING([for inet_ntop prototype])
1540 AC_TRY_COMPILE([#include <stdio.h>
1541 #include <sys/types.h>
1542 #include <sys/socket.h>
1543 #include <netinet/in.h>
1544 #include <arpa/inet.h>
1546 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
1548 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1549 [Define if inet_ntop() prototype exists])], [
1550 AC_TRY_COMPILE([#include <stdio.h>
1551 #include <sys/types.h>
1552 #include <sys/socket.h>
1553 #include <netinet/in.h>
1554 #include <arpa/inet.h>
1556 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
1558 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1559 [Define if inet_ntop() prototype exists])], [
1560 AC_MSG_RESULT(no)])])
1563 INET_NTOP_C="inet_ntop.c"
1564 INET_NTOP_O="inet_ntop.o"
1565 INET_NTOP_LO="inet_ntop.lo"
1566 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
1567 [Define if inet/v6defs.h needs to be included])])
1568 AC_SUBST(INET_NTOP_C)
1569 AC_SUBST(INET_NTOP_O)
1570 AC_SUBST(INET_NTOP_LO)
1572 AC_CHECK_FUNC(strptime, STRPTIME_O="",
1573 [STRPTIME_O="strptime.o"
1574 AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
1576 if test "$ac_cv_func_strptime" = no ; then
1577 STRPTIME_C="strptime.c"
1578 STRPTIME_O="strptime.o"
1580 AC_SUBST(STRPTIME_C)
1581 AC_SUBST(STRPTIME_O)
1583 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
1584 AC_CHECK_FUNCS(issetugid)
1585 AC_CHECK_FUNCS(mmap mprotect sysconf)
1587 dnl blank for now, but will be used in future
1588 AC_SUBST(wireshark_SUBDIRS)
1591 dnl check whether plugins should be enabled and, if they should be,
1592 dnl check for plugins directory - stolen from Amanda's configure.in
1594 dnl we don't wish to expand ${libdir} yet
1595 plugindir='${libdir}/wireshark/plugins/${VERSION}'
1596 AC_ARG_WITH(plugins,
1597 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
1598 [support plugins (installed in DIR, if supplied). @<:@default=yes, if possible@:>@]),
1600 if test "x$withval" = "xno"; then
1602 elif test "x$have_plugins" = "xno"; then
1603 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
1604 elif test "x$withval" != "xyes"; then
1605 plugindir="$withval"
1608 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
1609 if test x$have_plugins = xyes
1611 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
1614 CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'"
1617 # The plugin dissectors reside in ./plugins/PROTO/
1620 AC_SUBST(PLUGIN_LIBS)
1624 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
1625 # (autoconf? automake? libtool?) - with the newer version(s), it's
1626 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
1628 # With older version(s) of those tool(s), however, it's not just an
1629 # alias, and the configure scripts don't work without it.
1632 AC_SUBST(LIBTOOL_DEPS)
1634 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
1635 if test x$enable_static = xyes -a x$have_plugins = xyes
1637 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
1639 AC_SUBST(ENABLE_STATIC)
1641 AC_ARG_ENABLE(new-packet-list,
1642 AC_HELP_STRING( [--enable-new-packet-list],
1643 [use new packet list feature. @<:@default=yes@:>@]),
1644 new_packet_list=$enableval,new_packet_list=yes)
1645 AC_MSG_CHECKING(if new packet list is used);
1646 if test "x$new_packet_list" = "xyes" ; then
1648 CFLAGS=" -DNEW_PACKET_LIST $CFLAGS"
1653 dnl Save the cacheable configure results to config.cache before recursing
1656 sinclude(plugins/Custom.m4) dnl
1657 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
1659 AM_CONFIG_HEADER(config.h)
1664 asn1/acp133/Makefile
1666 asn1/ansi_map/Makefile
1667 asn1/ansi_tcap/Makefile
1670 asn1/charging_ase/Makefile
1683 asn1/gsm_map/Makefile
1692 asn1/h450-ros/Makefile
1697 asn1/logotypecertextn/Makefile
1698 asn1/lte-rrc/Makefile
1700 asn1/mpeg-audio/Makefile
1701 asn1/mpeg-pes/Makefile
1703 asn1/ns_cert_exts/Makefile
1708 asn1/pkcs12/Makefile
1709 asn1/pkinit/Makefile
1710 asn1/pkix1explicit/Makefile
1711 asn1/pkix1implicit/Makefile
1712 asn1/pkixproxy/Makefile
1713 asn1/pkixqualified/Makefile
1714 asn1/pkixtsp/Makefile
1717 asn1/q932-ros/Makefile
1730 asn1/spnego/Makefile
1735 asn1/wlancertextn/Makefile
1739 asn1/x509af/Makefile
1740 asn1/x509ce/Makefile
1741 asn1/x509if/Makefile
1742 asn1/x509sat/Makefile
1749 epan/dfilter/Makefile
1750 epan/dissectors/Makefile
1751 epan/ftypes/Makefile
1753 epan/wspython/Makefile
1759 packaging/macosx/Info.plist
1760 packaging/macosx/Makefile
1761 packaging/nsis/Makefile
1762 packaging/rpm/Makefile
1763 packaging/rpm/SPECS/Makefile
1764 packaging/rpm/SPECS/wireshark.spec
1765 packaging/svr4/Makefile
1766 packaging/svr4/checkinstall
1767 packaging/svr4/pkginfo
1769 plugins/asn1/Makefile
1770 plugins/docsis/Makefile
1771 plugins/ethercat/Makefile
1772 plugins/giop/Makefile
1773 plugins/gryphon/Makefile
1774 plugins/irda/Makefile
1775 plugins/m2m/Makefile
1776 plugins/mate/Makefile
1777 plugins/opcua/Makefile
1778 plugins/profinet/Makefile
1779 plugins/sercosiii/Makefile
1780 plugins/stats_tree/Makefile
1781 plugins/unistim/Makefile
1782 plugins/wimax/Makefile
1783 plugins/wimaxasncp/Makefile
1786 tools/lemon/Makefile
1791 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
1796 if test "x$enable_setuid_install" = "xyes" ; then
1797 setuid_message="yes"
1802 if test "x$want_zlib" = "xno" ; then
1808 if test "x$want_pcre" = "xno" ; then
1814 if test "x$want_lua" = "xyes" ; then
1820 if test "x$want_python" = "xyes"; then
1821 python_message="yes"
1826 if test "x$want_portaudio" = "xyes" ; then
1827 portaudio_message="yes"
1829 portaudio_message="no"
1832 if test "x$want_ssl" = "xno" ; then
1838 if test "x$want_krb5" = "xno" ; then
1841 krb5_message="yes ($ac_krb5_version)"
1844 if test "x$have_good_c_ares" = "xyes" ; then
1845 c_ares_message="yes"
1850 if test "x$have_good_adns" = "xyes" ; then
1856 if test "x$have_good_libcap" = "xyes" ; then
1857 libcap_message="yes"
1862 if test "x$have_good_geoip" = "xyes" ; then
1869 echo "The Wireshark package has been configured with the following options."
1870 echo " Build wireshark : $enable_wireshark"
1871 echo " Build tshark : $enable_tshark"
1872 echo " Build capinfos : $enable_capinfos"
1873 echo " Build editcap : $enable_editcap"
1874 echo " Build dumpcap : $enable_dumpcap"
1875 echo " Build mergecap : $enable_mergecap"
1876 echo " Build text2pcap : $enable_text2pcap"
1877 echo " Build idl2wrs : $enable_idl2wrs"
1878 echo " Build randpkt : $enable_randpkt"
1879 echo " Build dftest : $enable_dftest"
1880 echo " Build rawshark : $enable_rawshark"
1882 echo " Install dumpcap setuid : $setuid_message"
1883 echo " Use plugins : $have_plugins"
1884 echo " Use lua library : $lua_message"
1885 echo " Use python binding : $python_message"
1886 echo " Build rtp_player : $portaudio_message"
1887 echo " Use threads : $enable_threads"
1888 echo " Build profile binaries : $enable_profile_build"
1889 echo " Use pcap library : $want_pcap"
1890 echo " Use zlib library : $zlib_message"
1891 echo " Use pcre library : $pcre_message"
1892 echo " Use kerberos library : $krb5_message"
1893 echo " Use c-ares library : $c_ares_message"
1894 echo " Use GNU ADNS library : $adns_message"
1895 echo " Use SMI MIB library : $libsmi_message"
1896 echo " Use GNU crypto library : $gcrypt_message"
1897 echo " Use SSL crypto library : $ssl_message"
1898 echo " Use IPv6 name resolution : $enable_ipv6"
1899 echo " Use gnutls library : $tls_message"
1900 echo " Use POSIX capabilities library : $libcap_message"
1901 echo " Use GeoIP library : $geoip_message"