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)
430 # On OS X, if we find the headers for Core Foundation, Launch Services,
431 # and Core Services, add -framework options to link with Application
432 # Services (of which Launch Services is a subframework), Core Foundation
433 # (required by the Launch Services APIs), and Core Services, so we can
434 # use them to launch a Web browser from the Help menu and to use
435 # Gestalt() to get the Mac OS X version number.
440 AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services])
442 ac_frameworks="-framework ApplicationServices -framework CoreFoundation -framework CoreServices"
443 LIBS="$LIBS $ac_frameworks"
446 # include <CoreFoundation/CFBase.h>
447 # include <CoreFoundation/CFString.h>
448 # include <CoreFoundation/CFURL.h>
449 # include <ApplicationServices/ApplicationServices.h>
450 # include <CoreServices/CoreServices.h>
453 CFStringRef url_CFString;
458 url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII);
459 url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL);
460 status = LSOpenCFURLRef(url_CFURL, NULL);
462 Gestalt(gestaltSystemVersion, &os_version);
464 ac_cv_can_use_osx_frameworks=yes,
465 ac_cv_can_use_osx_frameworks=no,
466 [echo $ac_n "cross compiling; assumed OK... $ac_c"])
467 if test "$ac_cv_can_use_osx_frameworks" = yes ; then
468 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
469 FRAMEWORKS="$ac_frameworks"
480 # If using $prefix we add "$prefix/include" to the include search path
481 # and "$prefix/lib" to the library search path.
483 if test "x$prefix" != "x" ; then
484 AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
485 if test -d $prefix/include ; then
488 # Arrange that we search for header files in "$prefix/include", as
489 # various packages we use may have been installed under "$prefix/include".
491 CFLAGS="$CFLAGS -I$prefix/include"
492 CPPFLAGS="$CPPFLAGS -I$prefix/include"
495 # Arrange that we search for libraries in "$prefix/lib".
497 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
503 dnl Look in /usr/local for header files and libraries ?
504 dnl XXX FIXME don't include /usr/local if it is already in the system
505 dnl search path as this causes gcc 3.2 on Linux to complain about a change
506 dnl of the system search order for includes
507 AC_ARG_ENABLE(usr-local,
508 AC_HELP_STRING( [--enable-usr-local],
509 [look for headers and libs in /usr/local tree. @<:@default=yes@:>@]),
510 ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
512 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
513 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
516 # Arrange that we search for header files in the source directory
517 # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
518 # as various packages we use ("libpcap", "zlib", "adns", "pcre")
519 # may have been installed under "/usr/local/include".
521 CFLAGS="$CFLAGS -I/usr/local/include"
522 CPPFLAGS="$CPPFLAGS -I/usr/local/include"
525 # Arrange that we search for libraries in "/usr/local/lib".
527 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
533 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
538 AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
539 if test x$LD_LIBRARY_PATH != x ; then
540 LIBS="$LIBS -R$LD_LIBRARY_PATH"
541 AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
543 AC_MSG_RESULT(no -- this may be a problem in a few seconds)
549 # Check for versions of "sed" inadequate to handle, in libtool, a list
550 # of object files as large as the list in Wireshark.
552 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
553 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
554 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
555 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
556 # is the only "sed" that comes with Solaris that can handle Wireshark.
558 # Add any checks here that are necessary for other OSes.
560 AC_WIRESHARK_GNU_SED_CHECK
561 if test "$HAVE_GNU_SED" = no ; then
564 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
566 /bin/sed|/usr/bin/sed|/usr/ucb/sed)
568 AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
583 # Enable/disable tshark
585 AC_ARG_ENABLE(wireshark,
586 AC_HELP_STRING( [--enable-wireshark],
587 [build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]),
588 enable_wireshark=$enableval,enable_wireshark=yes)
590 AC_ARG_ENABLE(threads,
591 AC_HELP_STRING( [--enable-threads],
592 [use threads in wireshark. @<:@default=no@:>@]),
593 enable_threads=$enableval,enable_threads=no)
594 AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes)
596 AC_ARG_ENABLE(profile-build,
597 AC_HELP_STRING( [--enable-profile-build],
598 [build profile-ready binaries. @<:@default=no@:>@]),
599 enable_profile_build=$enableval,enable_profile_build=no)
600 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
601 AC_MSG_CHECKING(if profile builds must be generated)
602 if test "x$enable_profile_build" = "xyes" ; then
603 if test "x$GCC" = "xyes" ; then
605 CFLAGS=" -pg $CFLAGS"
608 echo "Building profile binaries currently only supported for GCC."
614 # Create DATAFILE_DIR #define for config.h
615 datafiledir=$datadir/wireshark
617 test "x$prefix" = xNONE && prefix=$ac_default_prefix
618 test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
619 # Ugly hack, but I don't see how this problem can be solved
620 # properly that DATAFILE_DIR had a value starting with
621 # "${prefix}/" instead of e.g. "/usr/local/"
622 eval eval echo "$datafiledir"
624 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
626 # GTK checks; we require GTK+ 2.4 or later.
627 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
628 # programs to be built with GTK+.
630 if test "x$enable_wireshark" = "xyes"; then
631 AM_PATH_GTK_2_0(2.4.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no, gthread)
637 # This doesn't add GLIB_CFLAGS to CFLAGS, because AM_PATH_GTK will add
638 # GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a superset of CFLAGS.
639 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
640 # set when generating the Makefile, so we can make programs that require
641 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
642 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
643 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
644 # programs to be built with GLib.
646 if test "$GTK_OK" = "no" ; then
648 # We don't have GTK+.
649 # If they didn't explicitly say "--disable-wireshark", fail (so
650 # that, unless they explicitly indicated that they don't want
651 # Wireshark, we stop so they know they won't be getting
652 # Wireshark unless they fix the GTK+ problem).
654 if test "x$enable_wireshark" = "xyes"; then
655 AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled])
660 AM_PATH_GLIB_2_0(2.4.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
663 wireshark_bin="wireshark\$(EXEEXT)"
664 wireshark_man="wireshark.1"
665 wireshark_SUBDIRS="codecs gtk"
667 AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
671 # Check whether GLib modules are supported, to determine whether we
672 # can support plugins.
674 AC_MSG_CHECKING(whether GLib supports loadable modules)
675 ac_save_CFLAGS="$CFLAGS"
677 CFLAGS="$CFLAGS $GLIB_CFLAGS"
678 LIBS="$GLIB_LIBS $LIBS"
688 if (g_module_supported())
689 return 0; /* success */
691 return 1; /* failure */
693 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
694 [echo $ac_n "cross compiling; assumed OK... $ac_c"
695 ac_cv_glib_supports_modules=yes])
696 CFLAGS="$ac_save_CFLAGS"
698 if test "$ac_cv_glib_supports_modules" = yes ; then
707 # If we have <dlfcn.h>, check whether we can use dladdr to find a
708 # filename (hopefully, a full pathname, but no guarantees) for
711 if test "$ac_cv_header_dlfcn_h" = "yes"
713 AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable)
714 ac_save_CFLAGS="$CFLAGS"
716 CFLAGS="$CFLAGS $GLIB_CFLAGS"
717 LIBS="$GLIB_LIBS $LIBS"
719 #define _GNU_SOURCE /* required on Linux, sigh */
727 if (!dladdr((void *)main, &info))
728 return 1; /* failure */
729 return 0; /* assume success */
731 ], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no,
732 [echo $ac_n "cross compiling; assumed OK... $ac_c"
733 ac_cv_dladdr_finds_executable_path=yes])
734 CFLAGS="$ac_save_CFLAGS"
736 if test x$ac_cv_dladdr_finds_executable_path = xyes
738 AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable])
740 AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path)
743 dnl IGE Mac integration check
744 AC_MSG_CHECKING(whether to use IGE Mac integration functions)
746 AC_ARG_WITH(ige-mac-integration,
747 AC_HELP_STRING( [--with-ige-mac-integration],
748 [use IGE Mac integration. (@<:@default=yes, if available@:>@]),
750 if test $withval = no
752 want_ige_mac_integration=no
754 want_ige_mac_integration=yes
757 want_ige_mac_integration=yes
759 if test "x$want_ige_mac_integration" = "xno" -o "x$no_gtk" = "xyes" ; then
763 AC_WIRESHARK_IGE_MAC_INTEGRATION_CHECK
767 AC_SUBST(wireshark_bin)
768 AC_SUBST(wireshark_man)
771 # Enable/disable tshark
773 AC_ARG_ENABLE(tshark,
774 AC_HELP_STRING( [--enable-tshark],
775 [build tshark. @<:@default=yes@:>@]),
776 tshark=$enableval,enable_tshark=yes)
778 if test "x$enable_tshark" = "xyes" ; then
779 tshark_bin="tshark\$(EXEEXT)"
780 tshark_man="tshark.1"
781 wiresharkfilter_man="wireshark-filter.4"
788 AC_SUBST(wiresharkfilter_man)
792 # Enable/disable editcap
794 AC_ARG_ENABLE(editcap,
795 AC_HELP_STRING( [--enable-editcap],
796 [build editcap. @<:@default=yes@:>@]),
797 enable_editcap=$enableval,enable_editcap=yes)
799 if test "x$enable_editcap" = "xyes" ; then
800 editcap_bin="editcap\$(EXEEXT)"
801 editcap_man="editcap.1"
806 AC_SUBST(editcap_bin)
807 AC_SUBST(editcap_man)
809 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
812 # Enable/disable capinfos
814 AC_ARG_ENABLE(capinfos,
815 AC_HELP_STRING( [--enable-capinfos],
816 [build capinfos. @<:@default=yes@:>@]),
817 enable_capinfos=$enableval,enable_capinfos=yes)
819 if test "x$enable_capinfos" = "xyes" ; then
820 capinfos_bin="capinfos\$(EXEEXT)"
821 capinfos_man="capinfos.1"
826 AC_SUBST(capinfos_bin)
827 AC_SUBST(capinfos_man)
830 # Enable/disable mergecap
832 AC_ARG_ENABLE(mergecap,
833 AC_HELP_STRING( [--enable-mergecap],
834 [build mergecap. @<:@default=yes@:>@]),
835 enable_mergecap=$enableval,enable_mergecap=yes)
837 if test "x$enable_mergecap" = "xyes" ; then
838 mergecap_bin="mergecap\$(EXEEXT)"
839 mergecap_man="mergecap.1"
844 AC_SUBST(mergecap_bin)
845 AC_SUBST(mergecap_man)
848 # Enable/disable text2pcap
850 AC_ARG_ENABLE(text2pcap,
851 AC_HELP_STRING( [--enable-text2pcap],
852 [build text2pcap. @<:@default=yes@:>@]),
853 text2pcap=$enableval,enable_text2pcap=yes)
855 if test "x$enable_text2pcap" = "xyes" ; then
856 text2pcap_bin="text2pcap\$(EXEEXT)"
857 text2pcap_man="text2pcap.1"
862 AC_SUBST(text2pcap_bin)
863 AC_SUBST(text2pcap_man)
865 # Enable/disable idl2wrs
867 AC_ARG_ENABLE(idl2wrs,
868 AC_HELP_STRING( [--enable-idl2wrs],
869 [build idl2wrs. @<:@default=yes@:>@]),
870 enable_idl2wrs=$enableval,enable_idl2wrs=yes)
872 if test "x$enable_idl2wrs" = "xyes" ; then
873 idl2wrs_bin="idl2wrs"
874 idl2wrs_man="idl2wrs.1"
879 AC_SUBST(idl2wrs_bin)
880 AC_SUBST(idl2wrs_man)
883 # Enable/disable dftest
885 AC_ARG_ENABLE(dftest,
886 AC_HELP_STRING( [--enable-dftest],
887 [build dftest. @<:@default=yes@:>@]),
888 enable_dftest=$enableval,enable_dftest=yes)
890 if test "x$enable_dftest" = "xyes" ; then
891 dftest_bin="dftest\$(EXEEXT)"
898 # Enable/disable randpkt
900 AC_ARG_ENABLE(randpkt,
901 AC_HELP_STRING( [--enable-randpkt],
902 [build randpkt. @<:@default=yes@:>@]),
903 enable_randpkt=$enableval,enable_randpkt=yes)
905 if test "x$enable_randpkt" = "xyes" ; then
906 randpkt_bin="randpkt\$(EXEEXT)"
910 AC_SUBST(randpkt_bin)
914 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
915 dnl "gethostbyname()".
916 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
918 dnl Checks for "connect()", used as a proxy for "socket()" - and
919 dnl "-lsocket", if we need it to get "connect()".
920 AC_WIRESHARK_SOCKET_LIB_CHECK
923 AC_MSG_CHECKING(whether to use libpcap for packet capture)
926 AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
927 [use libpcap for packet capturing. @<:@default=yes@:>@]),
929 if test $withval = no
932 elif test $withval = yes
943 if test "x$want_pcap" = "xno" ; then
947 AC_WIRESHARK_PCAP_CHECK
950 # Enable/disable dumpcap
953 AC_MSG_CHECKING(whether to build dumpcap)
955 AC_ARG_ENABLE(dumpcap,
956 AC_HELP_STRING( [--enable-dumpcap],
957 [build dumpcap. @<:@default=yes@:>@]),
958 enable_dumpcap=$enableval,enable_dumpcap=yes)
960 if test "x$enable_dumpcap" = "xyes" ; then
961 if test "x$want_pcap" = "xno" ; then
963 AC_MSG_RESULT(pcap not available - disabling dumpcap)
971 if test "x$enable_dumpcap" = "xyes" ; then
972 dumpcap_bin="dumpcap\$(EXEEXT)"
973 dumpcap_man="dumpcap.1"
978 AC_SUBST(dumpcap_bin)
979 AC_SUBST(dumpcap_man)
981 # Enable/disable rawshark
984 AC_MSG_CHECKING(whether to build rawshark)
986 AC_ARG_ENABLE(rawshark,
987 AC_HELP_STRING( [--enable-rawshark],
988 [build rawshark. @<:@default=yes@:>@]),
989 rawshark=$enableval,enable_rawshark=yes)
991 if test "x$enable_rawshark" = "xyes" ; then
992 if test "x$want_pcap" = "xno" ; then
994 AC_MSG_RESULT(pcap not available - disabling rawshark)
1002 if test "x$enable_rawshark" = "xyes" ; then
1003 rawshark_bin="rawshark\$(EXEEXT)"
1004 rawshark_man="rawshark.1"
1009 AC_SUBST(rawshark_bin)
1010 AC_SUBST(rawshark_man)
1013 dnl pcap remote check
1014 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1016 AC_ARG_WITH(pcap-remote,
1017 [ --with-pcap-remote use libpcap remote capturing (requires libpcap)],
1019 if test $withval = no
1023 want_pcap_remote=yes
1028 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1032 AC_WIRESHARK_PCAP_REMOTE_CHECK
1036 AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
1039 AC_HELP_STRING( [--with-zlib@<:@=DIR@:>@],
1040 [use zlib (located in directory DIR, if supplied) to read compressed data. @<:@default=yes, if available@:>@]),
1042 if test $withval = no
1045 elif test $withval = yes
1054 # Use zlib if it's present, otherwise don't.
1056 want_zlib=ifavailable
1059 if test "x$want_zlib" = "xno" ; then
1063 AC_WIRESHARK_ZLIB_CHECK
1064 if test "x$want_zlib" = "xno" ; then
1065 AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
1071 AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
1074 AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@],
1075 [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. @<:@default=yes, if available@:>@]),
1077 if test $withval = no
1080 elif test $withval = yes
1089 # Use libpcre if it's present, otherwise don't.
1091 want_pcre=ifavailable
1094 if test "x$want_pcre" = "xno" ; then
1098 AC_WIRESHARK_LIBPCRE_CHECK
1099 if test "x$want_pcre" = "xno" ; then
1100 AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
1106 AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
1109 AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1110 [use liblua (located in directory DIR, if supplied) for the lua scripting plugin. @<:@default=yes, if available@:>@]),
1112 if test $withval = no
1115 elif test $withval = yes
1124 # Use liblua by default
1126 want_lua=ifavailable
1129 if test "x$want_lua" = "xno" ; then
1133 AC_WIRESHARK_LIBLUA_CHECK
1134 if test "x$want_lua" = "xno" ; then
1135 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
1138 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
1142 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
1144 AC_ARG_WITH(portaudio,
1145 AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1146 [use libportaudio (located in directory DIR, if supplied) for the rtp_player. @<:@default=yes, if available@:>@]),
1148 if test $withval = no
1151 elif test $withval = yes
1156 portaudio_dir=$withval
1160 # Use libportaudio by default
1162 want_portaudio=ifavailable
1165 if test "x$want_portaudio" = "xno" ; then
1169 AC_WIRESHARK_LIBPORTAUDIO_CHECK
1170 if test "x$want_portaudio" = "xno" ; then
1171 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
1174 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1179 AC_HELP_STRING( [--enable-ipv6],
1180 [use ipv6 name resolution, if available. @<:@default=yes@:>@]),
1181 enable_ipv6=$enableval,enable_ipv6=yes)
1183 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
1184 if test "x$enable_ipv6" = "xno" ; then
1188 AC_WIRESHARK_IPV6_STACK
1192 dnl Check if dumpcap should be installed setuid
1193 AC_ARG_ENABLE(setuid-install,
1194 AC_HELP_STRING( [--enable-setuid-install],
1195 [install dumpcap as setuid @<:@default=no@:>@]),
1196 enable_setuid_install=$enableval,enable_setuid_install=no)
1198 AC_MSG_CHECKING(whether to install dumpcap setuid)
1199 if test "x$enable_setuid_install" = "xno" ; then
1202 if test "x$enable_dumpcap" = "xno" ; then
1203 AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
1209 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
1210 AC_CHECK_FUNCS(setresuid setresgid)
1212 dnl libcap (not libpcap) check
1214 AC_MSG_CHECKING(whether to use the libcap capabilities library)
1217 AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
1218 [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management. @<:@default=yes, if present@:>@]),
1220 if test "x$withval" = "xno"; then
1222 elif test "x$withval" = "xyes"; then
1224 elif test -d "$withval"; then
1226 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1229 if test "x$with_libcap" = "xno" ; then
1233 AC_WIRESHARK_LIBCAP_CHECK
1235 AC_SUBST(LIBCAP_LIBS)
1237 dnl Checks for header files.
1238 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
1239 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)
1240 AC_CHECK_HEADERS(netinet/in.h)
1241 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
1245 AC_MSG_CHECKING(whether to use SSL library)
1248 AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
1249 [use SSL crypto library (located in directory DIR, if supplied). @<:@default=no@:>@]),
1251 if test "x$withval" = "xno"; then
1253 elif test "x$withval" = "xyes"; then
1255 elif test -d "$withval"; then
1257 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1262 if test "x$want_ssl" = "xyes"; then
1264 AC_CHECK_LIB(crypto,EVP_md5,
1269 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
1277 AC_MSG_CHECKING(whether to use kerberos)
1280 AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
1281 [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection @<:@default=yes@:>@]),
1283 if test $withval = no
1286 elif test $withval = yes
1295 # Use kerberos if specified, otherwise don't.
1297 want_krb5=ifavailable
1300 if test "x$want_krb5" = "xno" ; then
1304 AC_WIRESHARK_KRB5_CHECK
1310 AC_MSG_CHECKING(whether to use the c-ares library if available)
1313 AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
1314 [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns. @<:@default=yes, if present@:>@]),
1316 if test "x$withval" = "xno"; then
1318 elif test "x$withval" = "xyes"; then
1320 elif test -d "$withval"; then
1322 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1325 if test "x$want_c_ares" = "xno" ; then
1329 AC_WIRESHARK_C_ARES_CHECK
1331 AC_SUBST(C_ARES_LIBS)
1335 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
1338 AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
1339 [use GNU ADNS (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1341 if test "x$withval" = "xno"; then
1343 elif test "x$withval" = "xyes"; then
1345 elif test -d "$withval"; then
1347 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1350 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
1354 AC_WIRESHARK_ADNS_CHECK
1360 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
1363 AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
1364 [use GeoIP (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]),
1366 if test "x$withval" = "xno"; then
1368 elif test "x$withval" = "xyes"; then
1370 elif test -d "$withval"; then
1372 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1375 if test "x$want_geoip" = "xno"; then
1379 AC_WIRESHARK_GEOIP_CHECK
1381 AC_SUBST(GEOIP_LIBS)
1383 dnl Python devel Check
1385 AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
1386 [use python interpretor (installed in DIR, if supplied). @<:@default=no@:>@ (EXPERIMENTAL)]),
1388 pythondir='${libdir}/wireshark/python/${VERSION}'
1389 if test "x$withval" = "xno"; then
1391 elif test "x$withval" != "xyes"; then
1392 pythondir="$withval"
1394 AC_WIRESHARK_PYTHON_CHECK
1397 AC_WIRESHARK_PYTHON_CHECK
1400 AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes)
1404 # Define WS_VAR_IMPORT appropriately for declarations of external
1405 # variables exported from dynamically-linked libraries.
1407 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
1409 AC_ARG_ENABLE(airpcap,
1410 AC_HELP_STRING( [--enable-airpcap],
1411 [use airpcap in wireshark. @<:@default=no@:>@]),
1412 enable_airpcap=$enableval
1413 if test x$enable_airpcap != xno; then
1414 AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
1418 # Define HAVE_AIRPDCAP
1419 # We'll want to remove this eventually.
1421 AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)])
1423 dnl Checks for typedefs, structures, and compiler characteristics.
1426 # We need to know whether "struct sockaddr" has an "sa_len" member
1427 # for get_interface_list().
1429 AC_WIRESHARK_STRUCT_SA_LEN
1431 # We must know our byte order
1434 # Checks whether "-traditional" is needed when using "ioctl".
1435 # XXX - do we need this?
1436 AC_PROG_GCC_TRADITIONAL
1440 AC_CHECK_FUNC(getopt,
1442 AC_DEFINE(HAVE_GETOPT_H, 1, [Define to 1 if you have the <getopt.h> header file.])
1444 GETOPT_O="wsgetopt.o"
1446 if test "$ac_cv_func_getopt" = no ; then
1447 GETOPT_C="wsgetopt.c"
1448 GETOPT_O="wsgetopt.o"
1453 AC_CHECK_FUNC(strerror, STRERROR_O="",
1454 [STRERROR_O="strerror.o"
1455 AC_DEFINE(NEED_STRERROR_H, 1, [Define if strerror.h needs to be included])
1457 if test "$ac_cv_func_strerror" = no ; then
1458 STRERROR_C="strerror.c"
1459 STRERROR_O="strerror.o"
1461 AC_SUBST(STRERROR_C)
1462 AC_SUBST(STRERROR_O)
1464 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_O="",
1465 STRNCASECMP_O="strncasecmp.o")
1466 if test "$ac_cv_func_strncasecmp" = no ; then
1467 STRNCASECMP_C="strncasecmp.c"
1468 STRNCASECMP_O="strncasecmp.o"
1470 AC_SUBST(STRNCASECMP_C)
1471 AC_SUBST(STRNCASECMP_O)
1473 AC_CHECK_FUNCS(mkstemp mkdtemp)
1476 # XXX - if inet_aton isn't found, the build fails, with a complaint from
1477 # libtool about inet_aton.lo not being a valid libtool object. We
1478 # probably have to handle it - and all the other replacement functions that
1479 # get built into libwireshark - differently.
1481 AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
1483 if test "$have_inet_aton" = no; then
1484 INET_ATON_C="inet_aton.c"
1485 INET_ATON_O="inet_aton.o"
1486 INET_ATON_LO="inet_aton.lo"
1487 AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
1493 AC_SUBST(INET_ATON_C)
1494 AC_SUBST(INET_ATON_O)
1495 AC_SUBST(INET_ATON_LO)
1497 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
1498 dnl check for pre-BIND82 inet_pton() bug.
1499 AC_MSG_CHECKING(for broken inet_pton)
1500 AC_TRY_RUN([#include <sys/types.h>
1501 #include <sys/socket.h>
1502 #include <netinet/in.h>
1503 #include <arpa/inet.h>
1508 /* this should return 0 (error) */
1509 return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
1513 }], [AC_MSG_RESULT(ok);
1514 have_inet_pton=yes], [AC_MSG_RESULT(broken);
1515 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
1516 have_inet_pton=no])],
1518 if test "$have_inet_pton" = no; then
1519 INET_PTON_C="inet_pton.c"
1520 INET_PTON_O="inet_pton.o"
1521 INET_PTON_LO="inet_pton.lo"
1527 AC_SUBST(INET_PTON_C)
1528 AC_SUBST(INET_PTON_O)
1529 AC_SUBST(INET_PTON_LO)
1531 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
1532 AC_MSG_CHECKING([for inet_ntop prototype])
1533 AC_TRY_COMPILE([#include <stdio.h>
1534 #include <sys/types.h>
1535 #include <sys/socket.h>
1536 #include <netinet/in.h>
1537 #include <arpa/inet.h>
1539 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
1541 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1542 [Define if inet_ntop() prototype exists])], [
1543 AC_TRY_COMPILE([#include <stdio.h>
1544 #include <sys/types.h>
1545 #include <sys/socket.h>
1546 #include <netinet/in.h>
1547 #include <arpa/inet.h>
1549 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
1551 AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1552 [Define if inet_ntop() prototype exists])], [
1553 AC_MSG_RESULT(no)])])
1556 INET_NTOP_C="inet_ntop.c"
1557 INET_NTOP_O="inet_ntop.o"
1558 INET_NTOP_LO="inet_ntop.lo"
1559 AC_DEFINE(NEED_INET_V6DEFS_H, 1,
1560 [Define if inet/v6defs.h needs to be included])])
1561 AC_SUBST(INET_NTOP_C)
1562 AC_SUBST(INET_NTOP_O)
1563 AC_SUBST(INET_NTOP_LO)
1565 AC_CHECK_FUNC(strptime, STRPTIME_O="",
1566 [STRPTIME_O="strptime.o"
1567 AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
1569 if test "$ac_cv_func_strptime" = no ; then
1570 STRPTIME_C="strptime.c"
1571 STRPTIME_O="strptime.o"
1573 AC_SUBST(STRPTIME_C)
1574 AC_SUBST(STRPTIME_O)
1576 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
1577 AC_CHECK_FUNCS(issetugid)
1578 AC_CHECK_FUNCS(mmap mprotect sysconf)
1580 dnl blank for now, but will be used in future
1581 AC_SUBST(wireshark_SUBDIRS)
1584 dnl check whether plugins should be enabled and, if they should be,
1585 dnl check for plugins directory - stolen from Amanda's configure.in
1587 dnl we don't wish to expand ${libdir} yet
1588 plugindir='${libdir}/wireshark/plugins/${VERSION}'
1589 AC_ARG_WITH(plugins,
1590 AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
1591 [support plugins (installed in DIR, if supplied). @<:@default=yes, if possible@:>@]),
1593 if test "x$withval" = "xno"; then
1595 elif test "x$have_plugins" = "xno"; then
1596 AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
1597 elif test "x$withval" != "xyes"; then
1598 plugindir="$withval"
1601 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
1602 if test x$have_plugins = xyes
1604 AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
1607 CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'"
1610 # The plugin dissectors reside in ./plugins/PROTO/
1613 AC_SUBST(PLUGIN_LIBS)
1617 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
1618 # (autoconf? automake? libtool?) - with the newer version(s), it's
1619 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
1621 # With older version(s) of those tool(s), however, it's not just an
1622 # alias, and the configure scripts don't work without it.
1625 AC_SUBST(LIBTOOL_DEPS)
1627 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
1628 if test x$enable_static = xyes -a x$have_plugins = xyes
1630 AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
1632 AC_SUBST(ENABLE_STATIC)
1634 AC_ARG_ENABLE(new-packet-list,
1635 AC_HELP_STRING( [--enable-new-packet-list],
1636 [use new packet list feature. @<:@default=yes@:>@]),
1637 new_packet_list=$enableval,new_packet_list=yes)
1638 AC_MSG_CHECKING(if new packet list is used);
1639 if test "x$new_packet_list" = "xyes" ; then
1641 CFLAGS=" -DNEW_PACKET_LIST $CFLAGS"
1646 dnl Save the cacheable configure results to config.cache before recursing
1649 sinclude(plugins/Custom.m4) dnl
1650 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
1652 AM_CONFIG_HEADER(config.h)
1657 asn1/acp133/Makefile
1659 asn1/ansi_map/Makefile
1660 asn1/ansi_tcap/Makefile
1663 asn1/charging_ase/Makefile
1676 asn1/gsm_map/Makefile
1685 asn1/h450-ros/Makefile
1690 asn1/logotypecertextn/Makefile
1691 asn1/lte-rrc/Makefile
1693 asn1/mpeg-audio/Makefile
1694 asn1/mpeg-pes/Makefile
1696 asn1/ns_cert_exts/Makefile
1701 asn1/pkcs12/Makefile
1702 asn1/pkinit/Makefile
1703 asn1/pkix1explicit/Makefile
1704 asn1/pkix1implicit/Makefile
1705 asn1/pkixproxy/Makefile
1706 asn1/pkixqualified/Makefile
1707 asn1/pkixtsp/Makefile
1710 asn1/q932-ros/Makefile
1723 asn1/spnego/Makefile
1728 asn1/wlancertextn/Makefile
1732 asn1/x509af/Makefile
1733 asn1/x509ce/Makefile
1734 asn1/x509if/Makefile
1735 asn1/x509sat/Makefile
1742 epan/dfilter/Makefile
1743 epan/dissectors/Makefile
1744 epan/ftypes/Makefile
1746 epan/wspython/Makefile
1752 packaging/macosx/Info.plist
1753 packaging/macosx/Makefile
1754 packaging/nsis/Makefile
1755 packaging/rpm/Makefile
1756 packaging/rpm/SPECS/Makefile
1757 packaging/rpm/SPECS/wireshark.spec
1758 packaging/svr4/Makefile
1759 packaging/svr4/checkinstall
1760 packaging/svr4/pkginfo
1762 plugins/asn1/Makefile
1763 plugins/docsis/Makefile
1764 plugins/ethercat/Makefile
1765 plugins/giop/Makefile
1766 plugins/gryphon/Makefile
1767 plugins/irda/Makefile
1768 plugins/m2m/Makefile
1769 plugins/mate/Makefile
1770 plugins/opcua/Makefile
1771 plugins/profinet/Makefile
1772 plugins/sercosiii/Makefile
1773 plugins/stats_tree/Makefile
1774 plugins/unistim/Makefile
1775 plugins/wimax/Makefile
1776 plugins/wimaxasncp/Makefile
1779 tools/lemon/Makefile
1784 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
1789 if test "x$enable_setuid_install" = "xyes" ; then
1790 setuid_message="yes"
1795 if test "x$want_zlib" = "xno" ; then
1801 if test "x$want_pcre" = "xno" ; then
1807 if test "x$want_lua" = "xyes" ; then
1813 if test "x$want_python" = "xyes"; then
1814 python_message="yes"
1819 if test "x$want_portaudio" = "xyes" ; then
1820 portaudio_message="yes"
1822 portaudio_message="no"
1825 if test "x$want_ssl" = "xno" ; then
1831 if test "x$want_krb5" = "xno" ; then
1834 krb5_message="yes ($ac_krb5_version)"
1837 if test "x$have_good_c_ares" = "xyes" ; then
1838 c_ares_message="yes"
1843 if test "x$have_good_adns" = "xyes" ; then
1849 if test "x$have_good_libcap" = "xyes" ; then
1850 libcap_message="yes"
1855 if test "x$have_good_geoip" = "xyes" ; then
1862 echo "The Wireshark package has been configured with the following options."
1863 echo " Build wireshark : $enable_wireshark"
1864 echo " Build tshark : $enable_tshark"
1865 echo " Build capinfos : $enable_capinfos"
1866 echo " Build editcap : $enable_editcap"
1867 echo " Build dumpcap : $enable_dumpcap"
1868 echo " Build mergecap : $enable_mergecap"
1869 echo " Build text2pcap : $enable_text2pcap"
1870 echo " Build idl2wrs : $enable_idl2wrs"
1871 echo " Build randpkt : $enable_randpkt"
1872 echo " Build dftest : $enable_dftest"
1873 echo " Build rawshark : $enable_rawshark"
1875 echo " Install dumpcap setuid : $setuid_message"
1876 echo " Use plugins : $have_plugins"
1877 echo " Use lua library : $lua_message"
1878 echo " Use python binding : $python_message"
1879 echo " Build rtp_player : $portaudio_message"
1880 echo " Use threads : $enable_threads"
1881 echo " Build profile binaries : $enable_profile_build"
1882 echo " Use pcap library : $want_pcap"
1883 echo " Use zlib library : $zlib_message"
1884 echo " Use pcre library : $pcre_message"
1885 echo " Use kerberos library : $krb5_message"
1886 echo " Use c-ares library : $c_ares_message"
1887 echo " Use GNU ADNS library : $adns_message"
1888 echo " Use SMI MIB library : $libsmi_message"
1889 echo " Use GNU crypto library : $gcrypt_message"
1890 echo " Use SSL crypto library : $ssl_message"
1891 echo " Use IPv6 name resolution : $enable_ipv6"
1892 echo " Use gnutls library : $tls_message"
1893 echo " Use POSIX capabilities library : $libcap_message"
1894 echo " Use GeoIP library : $geoip_message"