Put the optional objects in EXTRA..SOURCES instead of EXTRA_DIST.
[obnox/wireshark/wip.git] / configure.in
1 # $Id$
2 #
3 AC_PREREQ(2.60)
4
5 AC_INIT(wireshark, 1.3.6)
6
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
11 dnl macros.
12 dnl
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.
20 dnl
21 dnl This has to be done *after* AC_INIT, otherwise autogen.sh fails.
22
23 dnl AC_CANONICAL_BUILD
24 dnl AC_CANONICAL_HOST
25 AC_CANONICAL_TARGET
26
27 AM_INIT_AUTOMAKE([1.9 tar-ustar dist-bzip2 no-dist-gzip])
28
29 AM_DISABLE_STATIC
30
31 dnl Checks for programs.
32 AC_PROG_CC
33 AM_PROG_CC_C_O
34 AC_PROG_CXX
35 AC_PROG_CPP
36 dnl Work around libtool bug (fixed in the version 1.5a?)
37 AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
38 AC_LIBTOOL_DLOPEN
39 AC_PROG_LIBTOOL
40 AC_PATH_PROG(PERL, perl)
41 AC_PROG_YACC
42 AC_PATH_PROG(YACCDUMMY, $YACC)
43 if test "x$YACCDUMMY" = x
44 then
45         AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
46 fi
47 AM_PROG_LEX
48 AC_PATH_PROG(LEX, flex)
49 if test "x$LEX" = x
50 then
51         AC_MSG_ERROR(I couldn't find flex; make sure it's installed and in your path)
52 fi
53 AC_PATH_PROG(POD2MAN, pod2man)
54 if test "x$POD2MAN" = x
55 then
56         #
57         # The alternative is not to build the man pages....
58         #
59         AC_MSG_ERROR(I couldn't find pod2man; make sure it's installed and in your path)
60 fi
61 AC_PATH_PROG(POD2HTML, pod2html)
62 if test "x$POD2HTML" = x
63 then
64         #
65         # The alternative is not to build the HTML man pages....
66         #
67         AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
68 fi
69
70 #
71 # XXX - this looks for various HTML viewers on the host, not the target;
72 # we really want to know what's available on the target, for cross-builds.
73 # That would probably require us to, at run time, look for xdg-open and,
74 # if we don't find it, look for mozilla, htmlview, etc.
75 #
76 AC_PATH_PROG(HTML_VIEWER, xdg-open)
77 if test "x$HTML_VIEWER" != x
78 then
79         #
80         # XXX - the HTML_VIEWER shell variable is the full path of xdg-open.
81         # Define some variable to be that, so we just run that?
82         #
83         AC_DEFINE(HAVE_XDG_OPEN, 1, [Define if we have xdg-open])
84
85         #
86         # XXX - we have to define HTML_VIEWER for the prefs.c code that
87         # sets the default value of the Web browser preference, even
88         # though that preference won't be offered.
89         #
90         AC_DEFINE_UNQUOTED(HTML_VIEWER, "xdg-open", [HTML viewer, e.g. mozilla])
91 else
92         AC_PATH_PROG(HTML_VIEWER, htmlview)
93         if test "x$HTML_VIEWER" = x
94         then
95                 AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
96         else
97                 AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
98         fi
99 fi
100
101 AC_PATH_PROG(LEX, flex)
102 AC_PATH_PROG(PYTHON, python)
103
104 AC_SUBST(PERL)
105 AC_SUBST(POD2MAN)
106 AC_SUBST(POD2HTML)
107 AC_SUBST(LEX)
108 AC_SUBST(FLEX_PATH)
109 AC_SUBST(PYTHON)
110 AC_SUBST(XSLTPROC)
111 AC_SUBST(XMLLINT)
112
113 if test "x$CC_FOR_BUILD" = x
114 then
115        CC_FOR_BUILD=$CC
116 fi
117 AC_SUBST(CC_FOR_BUILD)
118
119 # Check for doxygen
120 AC_PATH_PROG(DOXYGEN, doxygen)
121 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
122 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
123
124 # gnu tls
125 tls_message="no"
126 AC_ARG_WITH([gnutls],
127   AC_HELP_STRING( [--with-gnutls=@<:@yes/no@:>@],
128                   [use gnutls library @<:@default=yes@:>@]),
129   with_gnutls="$withval", with_gnutls="yes")
130 if test "x$with_gnutls" = "xyes"; then
131   PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0],
132         [
133                 echo "gnuTLS found, enabling ssl decryption"
134                 AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library])
135                 tls_message="yes"
136         ]
137         , [
138                 echo "gnuTLS not found, disabling ssl decryption"
139                 tls_message="no"
140         ]
141   )
142 fi
143
144 # libgrypt
145 gcrypt_message="no"
146 AC_ARG_WITH([gcrypt],
147   AC_HELP_STRING( [--with-gcrypt=@<:@yes/no@:>@],
148                   [use gcrypt library @<:@default=yes@:>@]),
149   with_gcrypt="$withval", with_gcrypt="yes")
150 if test "x$with_gcrypt" = "xyes"; then
151   AM_PATH_LIBGCRYPT(1.1.92,
152         [
153                 echo "libgcrypt found, enabling ipsec decryption"
154                 AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
155                 gcrypt_message="yes"
156         ]
157         , [
158                 if test x$libgcrypt_config_prefix != x ; then
159                         AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
160                 else
161                         echo "libgcrypt not found, disabling ipsec decryption"
162                         gcrypt_message="no"
163                 fi
164         ]
165   )
166 fi
167
168 # libsmi
169 # FIXME: currently the path argument to with-libsmi is being ignored
170 AX_LIBSMI
171
172 # Check for xsltproc
173 AC_PATH_PROG(XSLTPROC, xsltproc)
174 AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
175 AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
176
177 # Check for xmllint
178 AC_PATH_PROG(XMLLINT, xmllint)
179 AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
180 AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
181
182 # Check for fop (translate .fo to e.g. pdf)
183 AC_PATH_PROG(FOP, fop)
184 AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
185 AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
186
187 #
188 # Look for something to convert HTML to text (for docbook/)
189 #
190 AC_PATH_PROG(ELINKS, elinks)
191 AC_CHECK_PROG(HAVE_ELINKS, elinks, "yes", "no")
192 AM_CONDITIONAL(HAVE_ELINKS, test x$HAVE_ELINKS = xyes)
193
194 ## links: Fails as used in docbook/Makefile.am
195 ## (Rather than fixing things we'll just disable the use of links).
196 ##AC_PATH_PROG(LINKS, links)
197 ##AC_CHECK_PROG(HAVE_LINKS, links, "yes", "no")
198 ##AM_CONDITIONAL(HAVE_LINKS, test x$HAVE_LINKS = xyes)
199
200 AC_PATH_PROG(LYNX, lynx)
201 AC_CHECK_PROG(HAVE_LYNX, lynx, "yes", "no")
202 AM_CONDITIONAL(HAVE_LYNX, test x$HAVE_LYNX = xyes)
203
204
205 # Check for hhc (html help compiler)
206 AC_PATH_PROG(HHC, hhc.exe)
207 AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no")
208 AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes)
209
210 # Check for packaging utilities
211 # For now, we check to see if the various packaging utilites are in our
212 # path.  I'm too lazy to write code to go hunt for them.  -  Gerald
213
214 # SVR4/Solaris
215 AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
216 AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
217 AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
218
219 if test x$HAVE_PKGPROTO = xyes -a x$HAVE_PKGMK = xyes \
220      -a x$HAVE_PKGTRANS = xyes ; then
221   HAVE_SVR4_PACKAGING=yes
222 else
223   HAVE_SVR4_PACKAGING=no
224 fi
225 AC_SUBST(HAVE_SVR4_PACKAGING)
226
227 # RPM
228 AC_WIRESHARK_RPM_CHECK
229 AC_SUBST(HAVE_RPM)
230
231 # Debian
232 AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
233
234 # Mac OS X
235 AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
236 AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
237 AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
238
239 if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
240      -a x$HAVE_BLESS = xyes ; then
241   HAVE_OSX_PACKAGING=yes
242 else
243   HAVE_OSX_PACKAGING=no
244 fi
245 AC_SUBST(HAVE_OSX_PACKAGING)
246
247 #
248 # Try to add some additional gcc checks to CFLAGS
249 #
250 AC_ARG_ENABLE(extra-gcc-checks,
251   AC_HELP_STRING( [--enable-extra-gcc-checks],
252                   [Do additional -W checks in GCC.  @<:@default=no@:>@]),
253 [
254         wireshark_extra_gcc_flags=$enableval
255         if test $enableval != no
256         then
257                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
258                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
259                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wlogical-op)
260                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
261 #               AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
262 #               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
263 #               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunsafe-loop-optimizations)
264                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
265                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast)
266                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
267                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Waddress)
268                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
269                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wattributes)
270                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
271                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdiv-by-zero)
272                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
273                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wignored-qualifiers)
274                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpragmas)
275                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wredundant-decls)
276                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wvla)
277                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wc++-compat)
278                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wjump-misses-init)
279                 #
280                 # epan/dissectors/packet-ncp2222.inc blocks this one
281                 # for now.
282                 #
283                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
284                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
285                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
286                 #
287                 # epan/dissectors/packet-afs.c blocks this one for now.
288                 #
289                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshadow)
290                 #
291                 # More cleanup needed for this on LP64.
292                 #
293                 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
294         fi
295 ],)
296 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) # -W is now known as -Wextra
297 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wextra) # -W is now known as -Wextra
298 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
299 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
300 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
301 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign)
302 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Warray-bounds)
303 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
304 AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wformat-security)
305 # Use the faster pre gcc 4.5 floating point precision
306 AC_WIRESHARK_GCC_CFLAGS_CHECK(-fexcess-precision=fast)
307
308 AC_WIRESHARK_GCC_LDFLAGS_CHECK([-Wl,--as-needed])
309 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-flto])
310 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhopr])
311 # AC_WIRESHARK_GCC_LDFLAGS_CHECK([-fwhole-program])
312
313 #
314 # If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
315 # so we can use _U_ to flag unused function arguments and not get warnings
316 # about them. Otherwise, add '-D_U_=""', so that _U_ used to flag an unused
317 # function argument will compile with non-GCC compilers.
318 #
319 if test "x$GCC" = "xyes" ; then
320   CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
321 else
322   CFLAGS="-D_U_=\"\" $CFLAGS"
323 fi
324
325 #
326 # If we're running gcc, will enable a barrier "stop on warning".
327 # This barrier is set for a very large part of the code. However, it is
328 # typically not set for "generated" code  (flex, ans2wrs, idl2wrs, ...)
329 #
330 warnings_as_errors_default="yes"
331 AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
332 AC_ARG_ENABLE(warnings-as-errors,
333   AC_HELP_STRING( [--enable-warnings-as-errors],
334                   [Treat warnings as errors (only for gcc). @<:@default=yes@:>@]),
335 [
336   if test "x$GCC" = "xyes" -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
337     with_warnings_as_errors="yes"
338     AC_MSG_RESULT(yes)
339   else
340     with_warnings_as_errors="no"
341     AC_MSG_RESULT(no)
342   fi
343 ],
344   if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
345     with_warnings_as_errors="yes"
346     AC_MSG_RESULT(yes)
347   else
348     with_warnings_as_errors="no"
349     AC_MSG_RESULT(no)
350   fi
351 )
352 AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
353
354 #
355 # Add any platform-specific compiler flags needed.
356 #
357 AC_MSG_CHECKING(for platform-specific compiler flags)
358 if test "x$GCC" = "xyes" ; then
359         #
360         # GCC - do any platform-specific tweaking necessary.
361         #
362         case "$host_os" in
363         solaris*)
364                 # the X11 headers don't automatically include prototype info
365                 # and a lot don't include the return type
366                 CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15"
367                 AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
368                 ;;
369         darwin*)
370                 #
371                 # See comments above about Apple's lovely C compiler.
372                 #
373                 CFLAGS="-no-cpp-precomp $CFLAGS"
374                 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
375                 ;;
376         *)
377                 AC_MSG_RESULT(none needed)
378                 ;;
379         esac
380 else
381         #
382         # Not GCC - assume it's the vendor's compiler.
383         #
384         case "$host_os" in
385         hpux*)
386                 #
387                 # HP's ANSI C compiler; flags suggested by Jost Martin.
388                 # "-Ae" for ANSI C plus extensions such as "long long".
389                 # "+O2", for optimization.  XXX - works with "-g"?
390                 #
391                 CFLAGS="-Ae +O2 $CFLAGS"
392                 AC_MSG_RESULT(HP ANSI C compiler - added -Ae +O2)
393                 ;;
394         darwin*)
395                 #
396                 # It may be called "cc", but it's really a GCC derivative
397                 # with a problematic special precompiler and precompiled
398                 # headers; turn off the special precompiler, as some
399                 # apparently-legal code won't compile with its precompiled
400                 # headers.
401                 #
402                 CFLAGS="-no-cpp-precomp $CFLAGS"
403                 AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
404                 ;;
405         *)
406                 AC_MSG_RESULT(none needed)
407                 ;;
408         esac
409 fi
410
411 #
412 # Add any platform-specific linker flags needed.
413 #
414 AC_MSG_CHECKING(for platform-specific linker flags)
415 case "$host_os" in
416 darwin*)
417         #
418         # Add -Wl,-single_module to the LDFLAGS used with shared
419         # libraries, to fix some error that show up in some cases;
420         # some Apple documentation recommends it for most shared
421         # libraries.
422         #
423         LDFLAGS_SHAREDLIB="-Wl,-single_module"
424         #
425         # Add -Wl,-search_paths_first to make sure that if we search
426         # directories A and B, in that order, for a given library, a
427         # non-shared version in directory A, rather than a shared
428         # version in directory B, is chosen (so we can use
429         # --with-pcap=/usr/local to force all programs to be linked
430         # with a static version installed in /usr/local/lib rather than
431         # the system version in /usr/lib).
432         #
433         LDFLAGS="-Wl,-search_paths_first $LDFLAGS"
434         AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first])
435         ;;
436 cygwin*)
437         #
438         # Shared libraries in cygwin/Win32 must never contain
439         # undefined symbols.
440         #
441         LDFLAGS="$LDFLAGS -no-undefined"
442         AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
443         ;;
444 *)
445         AC_MSG_RESULT(none needed)
446         ;;
447 esac
448 AC_SUBST(LDFLAGS_SHAREDLIB)
449
450 # Control silent compiling
451 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([no])])
452
453 #
454 # On OS X, if we find the headers for Core Foundation, Launch Services,
455 # and Core Services, add -framework options to link with Application
456 # Services (of which Launch Services is a subframework), Core Foundation
457 # (required by the Launch Services APIs), and Core Services, so we can
458 # use them to launch a Web browser from the Help menu and to use
459 # Gestalt() to get the Mac OS X version number.
460 #
461 case "$host_os" in
462
463 darwin*)
464         AC_MSG_CHECKING([whether we can build with Core Foundation, Launch Services, and Core Services])
465         ac_save_LIBS="$LIBS"
466         ac_frameworks="-framework ApplicationServices -framework CoreFoundation -framework CoreServices"
467         LIBS="$LIBS $ac_frameworks"
468         AC_TRY_LINK(
469            [
470 #       include <CoreFoundation/CFBase.h>
471 #       include <CoreFoundation/CFString.h>
472 #       include <CoreFoundation/CFURL.h>
473 #       include <ApplicationServices/ApplicationServices.h>
474 #       include <CoreServices/CoreServices.h>
475            ],
476            [
477         CFStringRef url_CFString;
478         CFURLRef url_CFURL;
479         OSStatus status;
480         long os_version;
481
482         url_CFString = CFStringCreateWithCString(NULL, "", kCFStringEncodingASCII);
483         url_CFURL = CFURLCreateWithString(NULL, url_CFString, NULL);
484         status = LSOpenCFURLRef(url_CFURL, NULL);
485
486         Gestalt(gestaltSystemVersion, &os_version);
487            ],
488            ac_cv_can_use_osx_frameworks=yes,
489            ac_cv_can_use_osx_frameworks=no,
490            [echo $ac_n "cross compiling; assumed OK... $ac_c"])
491         if test "$ac_cv_can_use_osx_frameworks" = yes ; then
492                 AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
493                 FRAMEWORKS="$ac_frameworks"
494                 AC_MSG_RESULT(yes)
495         else
496                 AC_MSG_RESULT(no)
497         fi
498         LIBS="$ac_save_LIBS"
499         ;;
500 esac
501 AC_SUBST(FRAMEWORKS)
502
503 #
504 # If using $prefix we add "$prefix/include" to the include search path
505 # and "$prefix/lib" to the library search path.
506 #
507 if test "x$prefix" != "x" ; then
508         AC_MSG_CHECKING(whether to use $prefix for headers and libraries)
509         if test -d $prefix/include ; then
510                 AC_MSG_RESULT(yes)
511                 #
512                 # Arrange that we search for header files in "$prefix/include", as
513                 # various packages we use may have been installed under "$prefix/include".
514                 #
515                 CFLAGS="$CFLAGS -I$prefix/include"
516                 CPPFLAGS="$CPPFLAGS -I$prefix/include"
517
518                 #
519                 # Arrange that we search for libraries in "$prefix/lib".
520                 #
521                 AC_WIRESHARK_ADD_DASH_L(LDFLAGS, $prefix/lib)
522         else
523                 AC_MSG_RESULT(no)
524         fi
525 fi
526
527 dnl Look in /usr/local for header files and libraries ?
528 dnl XXX FIXME don't include /usr/local if it is already in the system
529 dnl search path as this causes gcc 3.2 on Linux to complain about a change
530 dnl of the system search order for includes
531 AC_ARG_ENABLE(usr-local,
532   AC_HELP_STRING( [--enable-usr-local],
533                   [look for headers and libs in /usr/local tree.  @<:@default=yes@:>@]),
534     ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
535
536 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
537 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
538         AC_MSG_RESULT(yes)
539         #
540         # Arrange that we search for header files in the source directory
541         # and in its "wiretap" subdirectory, as well as in "/usr/local/include",
542         # as various packages we use ("libpcap", "zlib", "adns", "pcre")
543         # may have been installed under "/usr/local/include".
544         #
545         CFLAGS="$CFLAGS -I/usr/local/include"
546         CPPFLAGS="$CPPFLAGS -I/usr/local/include"
547
548         #
549         # Arrange that we search for libraries in "/usr/local/lib".
550         #
551         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
552 else
553         AC_MSG_RESULT(no)
554 fi
555
556 #
557 # If we're running Solaris, and LD_LIBRARY_PATH is defined, add it as a
558 # link directory.
559 #
560 case "$host_os" in
561   solaris*)
562     AC_MSG_CHECKING(for LD_LIBRARY_PATH, since you appear to be running Solaris)
563     if test x$LD_LIBRARY_PATH != x ; then
564       LIBS="$LIBS -R$LD_LIBRARY_PATH"
565       AC_MSG_RESULT(yes -- added LD_LIBRARY_PATH to run-time linker path)
566     else
567       AC_MSG_RESULT(no -- this may be a problem in a few seconds)
568     fi
569   ;;
570 esac
571
572 #
573 # Check for versions of "sed" inadequate to handle, in libtool, a list
574 # of object files as large as the list in Wireshark.
575 #
576 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
577 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
578 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
579 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
580 # is the only "sed" that comes with Solaris that can handle Wireshark.
581 #
582 # Add any checks here that are necessary for other OSes.
583 #
584 AC_WIRESHARK_GNU_SED_CHECK
585 if test "$HAVE_GNU_SED" = no ; then
586         case "$host_os" in
587         solaris*)
588                 AC_MSG_CHECKING(whether one of /usr/bin/sed or /bin/sed or /usr/ucb/sed will be used)
589                 case `which sed` in
590                         /bin/sed|/usr/bin/sed|/usr/ucb/sed)
591                         AC_MSG_RESULT(yes)
592                         AC_MSG_ERROR([change your path to search /usr/xpg4/bin or directory containing GNU sed before /usr/bin (and /bin and /usr/ucb)])
593                         ;;
594
595                         *)
596                         AC_MSG_RESULT(no)
597                         ;;
598                 esac
599                 ;;
600
601         *)
602                 :
603                 ;;
604         esac
605 fi
606
607 # Enable/disable tshark
608
609 AC_ARG_ENABLE(wireshark,
610   AC_HELP_STRING( [--enable-wireshark],
611                   [build GTK+-based wireshark.  @<:@default=yes, if GTK+ available@:>@]),
612     enable_wireshark=$enableval,enable_wireshark=yes)
613
614 AC_ARG_ENABLE(threads,
615   AC_HELP_STRING( [--enable-threads],
616                   [use threads in wireshark.  @<:@default=no@:>@]),
617     enable_threads=$enableval,enable_threads=no)
618 AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes)
619
620 AC_ARG_ENABLE(profile-build,
621   AC_HELP_STRING( [--enable-profile-build],
622                   [build profile-ready binaries.  @<:@default=no@:>@]),
623     enable_profile_build=$enableval,enable_profile_build=no)
624 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
625 AC_MSG_CHECKING(if profile builds must be generated)
626 if test "x$enable_profile_build" = "xyes" ; then
627         if test "x$GCC" = "xyes" ; then
628                 AC_MSG_RESULT(yes)
629                 CFLAGS=" -pg $CFLAGS"
630         else
631                 AC_MSG_RESULT(no)
632                 echo "Building profile binaries currently only supported for GCC."
633         fi
634 else
635         AC_MSG_RESULT(no)
636 fi
637
638 # Create DATAFILE_DIR #define for config.h
639 datafiledir=$datadir/wireshark
640 datafiledir=`(
641     test "x$prefix" = xNONE && prefix=$ac_default_prefix
642     test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
643     # Ugly hack, but I don't see how this problem can be solved
644     # properly that DATAFILE_DIR had a value starting with
645     # "${prefix}/" instead of e.g. "/usr/local/"
646     eval eval echo "$datafiledir"
647 )`
648 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
649
650 # GTK checks; we require GTK+ 2.4 or later.
651 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
652 # programs to be built with GTK+.
653 #
654 if test "x$enable_wireshark" = "xyes"; then
655         AM_PATH_GTK_2_0(2.4.0,
656         [
657                 CFLAGS="$CFLAGS $GTK_CFLAGS"
658                 CXXFLAGS="$CXXFLAGS $GTK_CFLAGS"
659         ], GTK_OK=no, gthread)
660 else
661         GTK_OK=no
662 fi
663
664 # GLib checks; we require GLib 2.4 or later, and require gmodule
665 # support, as we need that for dynamically loading plugins.
666 # If we found GTK+, this doesn't add GLIB_CFLAGS to CFLAGS, because
667 # AM_PATH_GTK will add GTK_CFLAGS to CFLAGS, and GTK_CFLAGS is a
668 # superset of GLIB_CFLAGS.  If we didn't find GTK+, it does add
669 # GLIB_CFLAGS to CFLAGS.
670 # However, this means that both @GLIB_LIBS@ and @GTK_LIBS@ will be
671 # set when generating the Makefile, so we can make programs that require
672 # only GLib link with @GLIB_LIBS@ and make programs that require GTK+
673 # link with @GTK_LIBS@ (which includes @GLIB_LIBS@).
674 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
675 # programs to be built with GLib.
676 #
677 if test "$GTK_OK" = "no" ; then
678         #
679         # We don't have GTK+.
680         # If they didn't explicitly say "--disable-wireshark", fail (so
681         # that, unless they explicitly indicated that they don't want
682         # Wireshark, we stop so they know they won't be getting
683         # Wireshark unless they fix the GTK+ problem).
684         #
685         if test "x$enable_wireshark" = "xyes"; then
686                 AC_MSG_ERROR([GTK+ 2.4 or later isn't available, so Wireshark can't be compiled])
687         fi
688         wireshark_bin=""
689         wireshark_man=""
690         # Use GLIB_CFLAGS
691         AM_PATH_GLIB_2_0(2.4.0,
692         [
693                 CFLAGS="$CFLAGS $GLIB_CFLAGS"
694                 CXXFLAGS="$CXXFLAGS $GLIB_CFLAGS"
695         ], AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
696 else
697         #
698         # We have GTK+, and thus will be building Wireshark unless the
699         # user explicitly disabled it.
700         #
701         wireshark_bin="wireshark\$(EXEEXT)"
702         wireshark_man="wireshark.1"
703         wireshark_SUBDIRS="codecs gtk"
704         # Don't use GLIB_CFLAGS
705         AM_PATH_GLIB_2_0(2.4.0, , AC_MSG_ERROR(GLib 2.4 or later distribution not found.), gmodule)
706 fi
707
708 #
709 # Check whether GLib includes GRegex support.
710 # We just assume that everybody builds GLib 2.14.0 and later
711 # with GRegex support; it's possible to compile GLib without
712 # GRegex but it doesn't look as if anyone does.
713 #
714 AC_MSG_CHECKING(for GLIB - version >= 2.14.0)
715 if test x$PKG_CONFIG != xno ; then
716     ## don't try to run the test against uninstalled libtool libs
717     if $PKG_CONFIG --uninstalled $pkg_config_args; then
718         echo "Will use uninstalled version of GLib found in PKG_CONFIG_PATH"
719         enable_glibtest=no
720     fi
721
722     if $PKG_CONFIG --atleast-version 2.14.0 glib-2.0; then
723         have_gregex=yes
724     else
725         have_gregex=no
726     fi
727     AC_MSG_RESULT($have_gregex)
728 fi
729
730 #
731 # Check whether GLib modules are supported, to determine whether we
732 # can support plugins.
733 #
734 AC_MSG_CHECKING(whether GLib supports loadable modules)
735 ac_save_CFLAGS="$CFLAGS"
736 ac_save_LIBS="$LIBS"
737 CFLAGS="$CFLAGS $GLIB_CFLAGS"
738 LIBS="$GLIB_LIBS $LIBS"
739 AC_TRY_RUN([
740 #include <glib.h>
741 #include <gmodule.h>
742 #include <stdio.h>
743 #include <stdlib.h>
744
745 int
746 main ()
747 {
748   if (g_module_supported())
749     return 0;   /* success */
750   else
751     return 1;   /* failure */
752 }
753 ], ac_cv_glib_supports_modules=yes, ac_cv_glib_supports_modules=no,
754    [echo $ac_n "cross compiling; assumed OK... $ac_c"
755     ac_cv_glib_supports_modules=yes])
756 CFLAGS="$ac_save_CFLAGS"
757 LIBS="$ac_save_LIBS"
758 if test "$ac_cv_glib_supports_modules" = yes ; then
759   AC_MSG_RESULT(yes)
760   have_plugins=yes
761 else
762   AC_MSG_RESULT(no)
763   have_plugins=no
764 fi
765
766 #
767 # If we have <dlfcn.h>, check whether we can use dladdr to find a
768 # filename (hopefully, a full pathname, but no guarantees) for
769 # the executable.
770 #
771 if test "$ac_cv_header_dlfcn_h" = "yes"
772 then
773         AC_MSG_CHECKING(whether dladdr can be used to find the pathname of an executable)
774         ac_save_CFLAGS="$CFLAGS"
775         ac_save_LIBS="$LIBS"
776         CFLAGS="$CFLAGS $GLIB_CFLAGS"
777         LIBS="$GLIB_LIBS $LIBS"
778         AC_TRY_RUN([
779 #define _GNU_SOURCE     /* required on Linux, sigh */
780 #include <dlfcn.h>
781
782 int
783 main(void)
784 {
785         Dl_info info;
786
787         if (!dladdr((void *)main, &info))
788                 return 1;       /* failure */
789         return 0;               /* assume success */
790 }
791 ], ac_cv_dladdr_finds_executable_path=yes, ac_cv_dladdr_finds_executable_path=no,
792    [echo $ac_n "cross compiling; assumed OK... $ac_c"
793     ac_cv_dladdr_finds_executable_path=yes])
794         CFLAGS="$ac_save_CFLAGS"
795         LIBS="$ac_save_LIBS"
796         if test x$ac_cv_dladdr_finds_executable_path = xyes
797         then
798                 AC_DEFINE(DLADDR_FINDS_EXECUTABLE_PATH, 1, [Define if dladdr can be used to find the path of the executable])
799         fi
800         AC_MSG_RESULT($ac_cv_dladdr_finds_executable_path)
801 fi
802
803 if test "x$no_gtk" != "xyes"
804 then
805     #
806     # We have GTK+; do we want the OS X integration functions and,
807     # if so, do we have them and, if so, which versions do we have,
808     # the old Carbon-based ones or the new Cocoa-based ones?
809     #
810     AC_MSG_CHECKING(whether to use OS X integration functions)
811
812     AC_ARG_WITH(osx-integration,
813       AC_HELP_STRING( [--with-osx-integration],
814                       [use OS X integration functions (@<:@default=yes, if available@:>@]),
815     [
816         if test $withval = no
817         then
818             want_osx_integration=no
819         else
820             want_osx_integration=yes
821         fi
822     ],[
823         want_osx_integration=yes
824     ])
825     if test "x$want_osx_integration" = "xno"; then
826         AC_MSG_RESULT(no)
827     else
828         AC_MSG_RESULT(yes)
829         AC_WIRESHARK_OSX_INTEGRATION_CHECK
830     fi
831 fi
832
833 AC_SUBST(wireshark_bin)
834 AC_SUBST(wireshark_man)
835
836
837 # Enable/disable tshark
838
839 AC_ARG_ENABLE(tshark,
840   AC_HELP_STRING( [--enable-tshark],
841                   [build tshark.  @<:@default=yes@:>@]),
842     tshark=$enableval,enable_tshark=yes)
843
844 if test "x$enable_tshark" = "xyes" ; then
845         tshark_bin="tshark\$(EXEEXT)"
846         tshark_man="tshark.1"
847         wiresharkfilter_man="wireshark-filter.4"
848 else
849         tshark_bin=""
850         tshark_man=""
851 fi
852 AC_SUBST(tshark_bin)
853 AC_SUBST(tshark_man)
854 AC_SUBST(wiresharkfilter_man)
855
856
857
858 # Enable/disable editcap
859
860 AC_ARG_ENABLE(editcap,
861   AC_HELP_STRING( [--enable-editcap],
862                   [build editcap.  @<:@default=yes@:>@]),
863     enable_editcap=$enableval,enable_editcap=yes)
864
865 if test "x$enable_editcap" = "xyes" ; then
866         editcap_bin="editcap\$(EXEEXT)"
867         editcap_man="editcap.1"
868 else
869         editcap_bin=""
870         editcap_man=""
871 fi
872 AC_SUBST(editcap_bin)
873 AC_SUBST(editcap_man)
874
875 # Enabling/disabling of dumpcap is done later (after we know if we have PCAP
876 # or not)
877
878 # Enable/disable capinfos
879
880 AC_ARG_ENABLE(capinfos,
881   AC_HELP_STRING( [--enable-capinfos],
882                   [build capinfos.  @<:@default=yes@:>@]),
883     enable_capinfos=$enableval,enable_capinfos=yes)
884
885 if test "x$enable_capinfos" = "xyes" ; then
886         capinfos_bin="capinfos\$(EXEEXT)"
887         capinfos_man="capinfos.1"
888 else
889         capinfos_bin=""
890         capinfos_man=""
891 fi
892 AC_SUBST(capinfos_bin)
893 AC_SUBST(capinfos_man)
894
895
896 # Enable/disable mergecap
897
898 AC_ARG_ENABLE(mergecap,
899   AC_HELP_STRING( [--enable-mergecap],
900                   [build mergecap.  @<:@default=yes@:>@]),
901     enable_mergecap=$enableval,enable_mergecap=yes)
902
903 if test "x$enable_mergecap" = "xyes" ; then
904         mergecap_bin="mergecap\$(EXEEXT)"
905         mergecap_man="mergecap.1"
906 else
907         mergecap_bin=""
908         mergecap_man=""
909 fi
910 AC_SUBST(mergecap_bin)
911 AC_SUBST(mergecap_man)
912
913
914 # Enable/disable text2pcap
915
916 AC_ARG_ENABLE(text2pcap,
917   AC_HELP_STRING( [--enable-text2pcap],
918                   [build text2pcap.  @<:@default=yes@:>@]),
919     text2pcap=$enableval,enable_text2pcap=yes)
920
921 if test "x$enable_text2pcap" = "xyes" ; then
922         text2pcap_bin="text2pcap\$(EXEEXT)"
923         text2pcap_man="text2pcap.1"
924 else
925         text2pcap_bin=""
926         text2pcap_man=""
927 fi
928 AC_SUBST(text2pcap_bin)
929 AC_SUBST(text2pcap_man)
930
931 # Enable/disable idl2wrs
932
933 AC_ARG_ENABLE(idl2wrs,
934   AC_HELP_STRING( [--enable-idl2wrs],
935                   [build idl2wrs.  @<:@default=yes@:>@]),
936     enable_idl2wrs=$enableval,enable_idl2wrs=yes)
937
938 if test "x$enable_idl2wrs" = "xyes" ; then
939         idl2wrs_bin="idl2wrs"
940         idl2wrs_man="idl2wrs.1"
941 else
942         idl2wrs_bin=""
943         idl2wrs_man=""
944 fi
945 AC_SUBST(idl2wrs_bin)
946 AC_SUBST(idl2wrs_man)
947
948
949 # Enable/disable dftest
950
951 AC_ARG_ENABLE(dftest,
952   AC_HELP_STRING( [--enable-dftest],
953                   [build dftest.  @<:@default=yes@:>@]),
954     enable_dftest=$enableval,enable_dftest=yes)
955
956 if test "x$enable_dftest" = "xyes" ; then
957         dftest_bin="dftest\$(EXEEXT)"
958 else
959         dftest_bin=""
960 fi
961 AC_SUBST(dftest_bin)
962
963
964 # Enable/disable randpkt
965
966 AC_ARG_ENABLE(randpkt,
967   AC_HELP_STRING( [--enable-randpkt],
968                   [build randpkt.  @<:@default=yes@:>@]),
969     enable_randpkt=$enableval,enable_randpkt=yes)
970
971 if test "x$enable_randpkt" = "xyes" ; then
972         randpkt_bin="randpkt\$(EXEEXT)"
973 else
974         randpkt_bin=""
975 fi
976 AC_SUBST(randpkt_bin)
977
978
979
980 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
981 dnl "gethostbyname()".
982 AC_WIRESHARK_GETHOSTBY_LIB_CHECK
983
984 dnl Checks for "connect()", used as a proxy for "socket()" - and
985 dnl "-lsocket", if we need it to get "connect()".
986 AC_WIRESHARK_SOCKET_LIB_CHECK
987
988 dnl pcap check
989 AC_MSG_CHECKING(whether to use libpcap for packet capture)
990
991 AC_ARG_WITH(pcap,
992   AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
993                   [use libpcap for packet capturing.  @<:@default=yes@:>@]),
994 [
995         if test $withval = no
996         then
997                 want_pcap=no
998         elif test $withval = yes
999         then
1000                 want_pcap=yes
1001         else
1002                 want_pcap=yes
1003                 pcap_dir=$withval
1004         fi
1005 ],[
1006         want_pcap=yes
1007         pcap_dir=
1008 ])
1009 if test "x$want_pcap" = "xno" ; then
1010         AC_MSG_RESULT(no)
1011 else
1012         AC_MSG_RESULT(yes)
1013         AC_WIRESHARK_PCAP_CHECK
1014 fi
1015
1016 # Enable/disable dumpcap
1017
1018 dnl dumpcap check
1019 AC_MSG_CHECKING(whether to build dumpcap)
1020
1021 AC_ARG_ENABLE(dumpcap,
1022   AC_HELP_STRING( [--enable-dumpcap],
1023                   [build dumpcap.  @<:@default=yes@:>@]),
1024     enable_dumpcap=$enableval,enable_dumpcap=yes)
1025
1026 if test "x$enable_dumpcap" = "xyes" ; then
1027         if test "x$want_pcap" = "xno" ; then
1028                 enable_dumpcap=no
1029                 AC_MSG_RESULT(pcap not available - disabling dumpcap)
1030         else
1031                 AC_MSG_RESULT(yes)
1032         fi
1033 else
1034         AC_MSG_RESULT(no)
1035 fi
1036
1037 if test "x$enable_dumpcap" = "xyes" ; then
1038         dumpcap_bin="dumpcap\$(EXEEXT)"
1039         dumpcap_man="dumpcap.1"
1040 else
1041         dumpcap_bin=""
1042         dumpcap_man=""
1043 fi
1044 AC_SUBST(dumpcap_bin)
1045 AC_SUBST(dumpcap_man)
1046
1047 # Enable/disable rawshark
1048
1049 dnl rawshark check
1050 AC_MSG_CHECKING(whether to build rawshark)
1051
1052 AC_ARG_ENABLE(rawshark,
1053   AC_HELP_STRING( [--enable-rawshark],
1054                   [build rawshark.  @<:@default=yes@:>@]),
1055     rawshark=$enableval,enable_rawshark=yes)
1056
1057 if test "x$enable_rawshark" = "xyes" ; then
1058         if test "x$want_pcap" = "xno" ; then
1059                 enable_rawshark=no
1060                 AC_MSG_RESULT(pcap not available - disabling rawshark)
1061         else
1062                 AC_MSG_RESULT(yes)
1063         fi
1064 else
1065         AC_MSG_RESULT(no)
1066 fi
1067
1068 if test "x$enable_rawshark" = "xyes" ; then
1069         rawshark_bin="rawshark\$(EXEEXT)"
1070         rawshark_man="rawshark.1"
1071 else
1072         rawshark_bin=""
1073         rawshark_man=""
1074 fi
1075 AC_SUBST(rawshark_bin)
1076 AC_SUBST(rawshark_man)
1077
1078
1079 dnl pcap remote check
1080 AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
1081
1082 AC_ARG_WITH(pcap-remote,
1083     AC_HELP_STRING([--with-pcap-remote],
1084                    [use libpcap remote capturing (requires libpcap)]),
1085 [
1086     if test $withval = no
1087     then
1088         want_pcap_remote=no
1089     else
1090         want_pcap_remote=yes
1091     fi
1092 ],[
1093     want_pcap_remote=no
1094 ])
1095 if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
1096     AC_MSG_RESULT(no)
1097 else
1098     AC_MSG_RESULT(yes)
1099     AC_WIRESHARK_PCAP_REMOTE_CHECK
1100 fi
1101
1102 dnl zlib check
1103 AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
1104
1105 AC_ARG_WITH(zlib,
1106   AC_HELP_STRING([--with-zlib@<:@=DIR@:>@],
1107                  [use zlib (located in directory DIR, if supplied) to read compressed data.  @<:@default=yes, if available@:>@]),
1108 [
1109         if test $withval = no
1110         then
1111                 want_zlib=no
1112         elif test $withval = yes
1113         then
1114                 want_zlib=yes
1115         else
1116                 want_zlib=yes
1117                 zlib_dir=$withval
1118         fi
1119 ],[
1120         #
1121         # Use zlib if it's present, otherwise don't.
1122         #
1123         want_zlib=ifavailable
1124         zlib_dir=
1125 ])
1126 if test "x$want_zlib" = "xno" ; then
1127         AC_MSG_RESULT(no)
1128 else
1129         AC_MSG_RESULT(yes)
1130         AC_WIRESHARK_ZLIB_CHECK
1131         if test "x$want_zlib" = "xno" ; then
1132                 AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
1133         fi
1134 fi
1135
1136
1137 dnl pcre check
1138 AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
1139
1140 AC_ARG_WITH(pcre,
1141   AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@],
1142                   [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions. Not needed if you have GLib 2.14 or later. @<:@default=yes, if available and GLib < 2.14@:>@]),
1143 [
1144         if test $withval = no
1145         then
1146                 want_pcre=no
1147         elif test $withval = yes
1148         then
1149                 want_pcre=yes
1150         else
1151                 want_pcre=yes
1152                 pcre_dir=$withval
1153         fi
1154 ],[
1155         #
1156         # Use libpcre if it's present and GRegex isn't, otherwise don't.
1157         #
1158         if test $have_gregex = yes ; then
1159                 want_pcre=no
1160         else
1161                 want_pcre=ifavailable
1162         fi
1163         pcre_dir=
1164 ])
1165 if test "x$want_pcre" = "xno" ; then
1166         AC_MSG_RESULT(no)
1167 else
1168         AC_MSG_RESULT(yes)
1169         AC_WIRESHARK_LIBPCRE_CHECK
1170         if test "x$want_pcre" = "xno" ; then
1171                 AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
1172         fi
1173 fi
1174
1175
1176 dnl lua check
1177 AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
1178
1179 AC_ARG_WITH(lua,
1180   AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
1181                   [use liblua (located in directory DIR, if supplied) for the lua scripting plugin.  @<:@default=yes, if available@:>@]),
1182 [
1183         if test $withval = no
1184         then
1185                 want_lua=no
1186         elif test $withval = yes
1187         then
1188                 want_lua=yes
1189         else
1190                 want_lua=yes
1191                 lua_dir=$withval
1192         fi
1193 ],[
1194         #
1195         # Use liblua by default
1196         #
1197         want_lua=ifavailable
1198         lua_dir=
1199 ])
1200 if test "x$want_lua" = "xno" ; then
1201         AC_MSG_RESULT(no)
1202 else
1203         AC_MSG_RESULT(yes)
1204         AC_WIRESHARK_LIBLUA_CHECK
1205         if test "x$want_lua" = "xno" ; then
1206                 AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
1207         fi
1208 fi
1209 AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
1210
1211
1212 dnl portaudio check
1213 AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
1214
1215 AC_ARG_WITH(portaudio,
1216   AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
1217                   [use libportaudio (located in directory DIR, if supplied) for the rtp_player.  @<:@default=yes, if available@:>@]),
1218 [
1219         if test $withval = no
1220         then
1221                 want_portaudio=no
1222         elif test $withval = yes
1223         then
1224                 want_portaudio=yes
1225         else
1226                 want_portaudio=yes
1227                 portaudio_dir=$withval
1228         fi
1229 ],[
1230         #
1231         # Use libportaudio by default
1232         #
1233         want_portaudio=ifavailable
1234         portaudio_dir=
1235 ])
1236 if test "x$want_portaudio" = "xno" ; then
1237         AC_MSG_RESULT(no)
1238 else
1239         AC_MSG_RESULT(yes)
1240         AC_WIRESHARK_LIBPORTAUDIO_CHECK
1241         if test "x$want_portaudio" = "xno" ; then
1242                 AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
1243         fi
1244 fi
1245 AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
1246
1247
1248 dnl ipv6 check
1249 AC_ARG_ENABLE(ipv6,
1250   AC_HELP_STRING( [--enable-ipv6],
1251                   [use ipv6 name resolution, if available.  @<:@default=yes@:>@]),
1252     enable_ipv6=$enableval,enable_ipv6=yes)
1253
1254 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
1255 if test "x$enable_ipv6" = "xno" ; then
1256         AC_MSG_RESULT(no)
1257 else
1258         AC_MSG_RESULT(yes)
1259         AC_WIRESHARK_IPV6_STACK
1260 fi
1261
1262
1263 dnl Check if dumpcap should be installed with filesystem capabilities
1264 AC_PATH_PROG(SETCAP, setcap)
1265 AC_ARG_ENABLE(setcap-install,
1266   AC_HELP_STRING( [--enable-setcap-install],
1267                   [install dumpcap with cap_net_admin and cap_net_raw @<:@default=no@:>@]),
1268     enable_setcap_install=$enableval,enable_setcap_install=no)
1269
1270 AC_MSG_CHECKING(whether to install dumpcap with cap_net_admin and cap_net_raw capabilities)
1271 if test "x$enable_setcap_install" = "xno" ; then
1272         AC_MSG_RESULT(no)
1273 else
1274         if test "x$SETCAP" = "x" ; then
1275                 AC_MSG_RESULT(no. Setcap not found)
1276         elif test "x$enable_dumpcap" = "xno" ; then
1277                 AC_MSG_ERROR(Setcap install works only with dumpcap but dumpcap is disabled)
1278         else
1279                 AC_MSG_RESULT(yes)
1280         fi
1281 fi
1282
1283 AM_CONDITIONAL(SETCAP_INSTALL, test x$enable_setcap_install = xyes)
1284
1285 dnl Check if dumpcap should be installed setuid
1286 AC_ARG_ENABLE(setuid-install,
1287   AC_HELP_STRING( [--enable-setuid-install],
1288                   [install dumpcap as setuid @<:@default=no@:>@]),
1289     enable_setuid_install=$enableval,enable_setuid_install=no)
1290
1291 AC_MSG_CHECKING(whether to install dumpcap setuid)
1292 if test "x$enable_setuid_install" = "xno" ; then
1293         AC_MSG_RESULT(no)
1294 else
1295         if test "x$enable_setcap_install" = "xyes" ; then
1296                 enable_setuid_install=no
1297                 AC_MSG_RESULT(no; using setcap instead)
1298         elif test "x$enable_dumpcap" = "xno" ; then
1299                 AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
1300         else
1301                 AC_MSG_RESULT(yes)
1302         fi
1303 fi
1304
1305 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
1306 AC_CHECK_FUNCS(setresuid setresgid)
1307
1308 dnl ...but our Network Operations group is named "no"!
1309 DUMPCAP_GROUP=''
1310 AC_ARG_WITH(dumpcap-group,
1311   AC_HELP_STRING( [--with-dumpcap-group=GROUP],
1312                   [restrict dumpcap to GROUP]),
1313 [
1314   if test "x$withval" = "xyes"; then
1315       AC_MSG_ERROR([No dumpcap group specified.])
1316   elif test "x$withval" != "xno"; then
1317       AC_MSG_RESULT($withval)
1318       DUMPCAP_GROUP="$withval"
1319   fi
1320 ])
1321 AC_SUBST(DUMPCAP_GROUP)
1322 AM_CONDITIONAL(HAVE_DUMPCAP_GROUP, test x$DUMPCAP_GROUP != x)
1323
1324 dnl libcap (not libpcap) check
1325 LIBCAP_LIBS=''
1326 AC_MSG_CHECKING(whether to use the libcap capabilities library)
1327
1328 AC_ARG_WITH(libcap,
1329   AC_HELP_STRING( [--with-libcap@<:@=DIR@:>@],
1330                   [use libcap (located in directory DIR, if supplied) for POSIX.1e capabilities management.   @<:@default=yes, if present@:>@]),
1331 [
1332 if   test "x$withval" = "xno";  then
1333         want_libcap=no
1334 elif test "x$withval" = "xyes"; then
1335         want_libcap=yes
1336 elif test -d "$withval"; then
1337         want_libcap=yes
1338         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1339 fi
1340 ])
1341 if test "x$with_libcap" = "xno" ; then
1342         AC_MSG_RESULT(no)
1343 else
1344         AC_MSG_RESULT(yes)
1345         AC_WIRESHARK_LIBCAP_CHECK
1346 fi
1347 AC_SUBST(LIBCAP_LIBS)
1348
1349 dnl Checks for header files.
1350 AC_CHECK_HEADERS(direct.h dirent.h fcntl.h grp.h inttypes.h netdb.h pwd.h stdarg.h stddef.h unistd.h)
1351 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)
1352 AC_CHECK_HEADERS(netinet/in.h)
1353 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
1354
1355 dnl SSL Check
1356 SSL_LIBS=''
1357 AC_MSG_CHECKING(whether to use SSL library)
1358
1359 AC_ARG_WITH(ssl,
1360   AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
1361                   [use SSL crypto library (located in directory DIR, if supplied).   @<:@default=no@:>@]),
1362 [
1363 if test "x$withval" = "xno";  then
1364         want_ssl=no
1365 elif test "x$withval" = "xyes"; then
1366         want_ssl=yes
1367 elif test -d "$withval"; then
1368         want_ssl=yes
1369         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1370 fi
1371 ],[
1372         want_ssl=no
1373 ])
1374 if test "x$want_ssl" = "xyes"; then
1375         AC_MSG_RESULT(yes)
1376         AC_CHECK_LIB(crypto,EVP_md5,
1377             [
1378                 SSL_LIBS=-lcrypto
1379             ],
1380             [
1381                 AC_MSG_ERROR([SSL crypto library was requested, but is not available])
1382             ])
1383 else
1384         AC_MSG_RESULT(no)
1385 fi
1386 AC_SUBST(SSL_LIBS)
1387
1388 dnl kerberos check
1389 AC_MSG_CHECKING(whether to use kerberos)
1390
1391 AC_ARG_WITH(krb5,
1392   AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
1393                   [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection  @<:@default=yes@:>@]),
1394 [
1395         if test $withval = no
1396         then
1397                 want_krb5=no
1398         elif test $withval = yes
1399         then
1400                 want_krb5=yes
1401         else
1402                 want_krb5=yes
1403                 krb5_dir=$withval
1404         fi
1405 ],[
1406         #
1407         # Use kerberos if specified, otherwise don't.
1408         #
1409         want_krb5=ifavailable
1410         krb5_dir=
1411 ])
1412 if test "x$want_krb5" = "xno" ; then
1413         AC_MSG_RESULT(no)
1414 else
1415         AC_MSG_RESULT(yes)
1416         AC_WIRESHARK_KRB5_CHECK
1417 fi
1418
1419
1420 dnl c-ares Check
1421 C_ARES_LIBS=''
1422 AC_MSG_CHECKING(whether to use the c-ares library if available)
1423
1424 AC_ARG_WITH(c-ares,
1425   AC_HELP_STRING( [--with-c-ares@<:@=DIR@:>@],
1426                   [use c-ares (located in directory DIR, if supplied). Supersedes --with-adns.   @<:@default=yes, if present@:>@]),
1427 [
1428 if   test "x$withval" = "xno";  then
1429         want_c_ares=no
1430 elif test "x$withval" = "xyes"; then
1431         want_c_ares=yes
1432 elif test -d "$withval"; then
1433         want_c_ares=yes
1434         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1435 fi
1436 ])
1437 if test "x$want_c_ares" = "xno" ; then
1438         AC_MSG_RESULT(no)
1439 else
1440         AC_MSG_RESULT(yes)
1441         AC_WIRESHARK_C_ARES_CHECK
1442 fi
1443 AC_SUBST(C_ARES_LIBS)
1444
1445 dnl ADNS Check
1446 ADNS_LIBS=''
1447 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
1448
1449 AC_ARG_WITH(adns,
1450   AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
1451                   [use GNU ADNS (located in directory DIR, if supplied).   @<:@default=yes, if present@:>@]),
1452 [
1453 if   test "x$withval" = "xno";  then
1454         want_adns=no
1455 elif test "x$withval" = "xyes"; then
1456         want_adns=yes
1457 elif test -d "$withval"; then
1458         want_adns=yes
1459         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1460 fi
1461 ])
1462 if test "x$want_adns" = "xno" -o "x$have_good_c_ares" = "xyes" ; then
1463         AC_MSG_RESULT(no)
1464 else
1465         AC_MSG_RESULT(yes)
1466         AC_WIRESHARK_ADNS_CHECK
1467 fi
1468 AC_SUBST(ADNS_LIBS)
1469
1470 dnl GEOIP Check
1471 GEOIP_LIBS=''
1472 AC_MSG_CHECKING(whether to use the GeoIP IP address mapping library if available)
1473
1474 AC_ARG_WITH(geoip,
1475   AC_HELP_STRING( [--with-geoip@<:@=DIR@:>@],
1476                   [use GeoIP (located in directory DIR, if supplied).   @<:@default=yes, if present@:>@]),
1477 [
1478 if   test "x$withval" = "xno";  then
1479         want_geoip=no
1480 elif test "x$withval" = "xyes"; then
1481         want_geoip=yes
1482 elif test -d "$withval"; then
1483         want_geoip=yes
1484         AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
1485 fi
1486 ])
1487 if test "x$want_geoip" = "xno"; then
1488         AC_MSG_RESULT(no)
1489 else
1490         AC_MSG_RESULT(yes)
1491         AC_WIRESHARK_GEOIP_CHECK
1492 fi
1493 AC_SUBST(GEOIP_LIBS)
1494
1495 dnl Python devel Check
1496 AC_ARG_WITH(python,
1497     AC_HELP_STRING( [--with-python@<:@=DIR@:>@],
1498                     [use python interpretor (installed in DIR, if supplied). @<:@default=no@:>@ (EXPERIMENTAL)]),
1499 [
1500 pythondir='${libdir}/wireshark/python/${VERSION}'
1501 if test "x$withval" = "xno"; then
1502   want_python=no
1503 elif test "x$withval" != "xyes"; then
1504   pythondir="$withval"
1505   want_python=yes
1506   AC_WIRESHARK_PYTHON_CHECK
1507 else
1508   want_python=yes
1509   AC_WIRESHARK_PYTHON_CHECK
1510 fi
1511 ])
1512 AM_CONDITIONAL(HAVE_LIBPY, test x$want_python = xyes)
1513 AC_SUBST(pythondir)
1514
1515 #
1516 # Define WS_VAR_IMPORT appropriately for declarations of external
1517 # variables exported from dynamically-linked libraries.
1518 #
1519 AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
1520
1521 AC_ARG_ENABLE(airpcap,
1522   AC_HELP_STRING( [--enable-airpcap],
1523                   [use airpcap in wireshark.  @<:@default=no@:>@]),
1524   enable_airpcap=$enableval
1525   if test x$enable_airpcap != xno; then
1526         AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
1527   fi
1528 )
1529 #
1530 # Define HAVE_AIRPDCAP
1531 # We'll want to remove this eventually.
1532 #
1533 AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)])
1534
1535 dnl Checks for typedefs, structures, and compiler characteristics.
1536 # AC_C_CONST
1537
1538 # Check how we can get the time zone abbreviation
1539 AC_WIRESHARK_TIMEZONE_ABBREV
1540
1541 # We need to know whether "struct sockaddr" has an "sa_len" member
1542 # for get_interface_list().
1543
1544 AC_WIRESHARK_STRUCT_SA_LEN
1545
1546 # We must know our byte order
1547 AC_C_BIGENDIAN
1548
1549 # Checks whether "-traditional" is needed when using "ioctl".
1550 # XXX - do we need this?
1551 AC_PROG_GCC_TRADITIONAL
1552
1553 GETOPT_LO=""
1554 AC_CHECK_FUNC(getopt,
1555   [GETOPT_LO=""
1556    AC_DEFINE(HAVE_GETOPT_H, 1, [Define to 1 if you have the <getopt.h> header file.])
1557   ],
1558   GETOPT_LO="wsgetopt.lo"
1559 )
1560 if test "$ac_cv_func_getopt" = no ; then
1561   GETOPT_LO="wsgetopt.lo"
1562 fi
1563 AC_SUBST(GETOPT_LO)
1564
1565 AC_CHECK_FUNC(strerror, STRERROR_LO="",
1566   [STRERROR_LO="strerror.lo"
1567    AC_DEFINE(NEED_STRERROR_H, 1, [Define if strerror.h needs to be included])
1568 ])
1569 if test "$ac_cv_func_strerror" = no ; then
1570   STRERROR_LO="strerror.lo"
1571 fi
1572 AC_SUBST(STRERROR_LO)
1573
1574 AC_CHECK_FUNC(strncasecmp, STRNCASECMP_LO="",
1575   STRNCASECMP_LO="strncasecmp.lo")
1576 if test "$ac_cv_func_strncasecmp" = no ; then
1577   STRNCASECMP_LO="strncasecmp.lo"
1578 fi
1579 AC_SUBST(STRNCASECMP_LO)
1580
1581 AC_CHECK_FUNCS(mkstemp mkdtemp)
1582
1583 AC_SEARCH_LIBS(inet_aton, [socket nsl], have_inet_aton=yes,
1584     have_inet_aton=no)
1585 if test "$have_inet_aton" = no; then
1586   INET_ATON_LO="inet_aton.lo"
1587   AC_DEFINE(NEED_INET_ATON_H, 1, [Define if inet/aton.h needs to be included])
1588 else
1589   INET_ATON_LO=""
1590 fi
1591 AC_SUBST(INET_ATON_LO)
1592
1593 AC_SEARCH_LIBS(inet_pton, [socket nsl], [
1594   dnl check for pre-BIND82 inet_pton() bug.
1595   AC_MSG_CHECKING(for broken inet_pton)
1596   AC_TRY_RUN([#include <sys/types.h>
1597 #include <sys/socket.h>
1598 #include <netinet/in.h>
1599 #include <arpa/inet.h>
1600 int main()
1601 {
1602 #ifdef AF_INET6
1603   char buf[16];
1604   /* this should return 0 (error) */
1605   return inet_pton(AF_INET6, "0:1:2:3:4:5:6:7:", buf);
1606 #else
1607   return 1;
1608 #endif
1609 }], [AC_MSG_RESULT(ok);
1610 have_inet_pton=yes], [AC_MSG_RESULT(broken);
1611 have_inet_pton=no], [AC_MSG_RESULT(cross compiling, assume it is broken);
1612 have_inet_pton=no])],
1613 have_inet_pton=no)
1614 if test "$have_inet_pton" = no; then
1615   INET_PTON_LO="inet_pton.lo"
1616 else
1617   INET_PTON_LO=""
1618 fi
1619 AC_SUBST(INET_PTON_LO)
1620
1621 AC_SEARCH_LIBS(inet_ntop, [socket nsl], [
1622   AC_MSG_CHECKING([for inet_ntop prototype])
1623   AC_TRY_COMPILE([#include <stdio.h>
1624 #include <sys/types.h>
1625 #include <sys/socket.h>
1626 #include <netinet/in.h>
1627 #include <arpa/inet.h>
1628
1629 extern const char *inet_ntop(int, const void *, char *, size_t);],, [
1630     AC_MSG_RESULT(yes)
1631     AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1632     [Define if inet_ntop() prototype exists])], [
1633     AC_TRY_COMPILE([#include <stdio.h>
1634 #include <sys/types.h>
1635 #include <sys/socket.h>
1636 #include <netinet/in.h>
1637 #include <arpa/inet.h>
1638
1639 extern const char *inet_ntop(int, const void *, char *, socklen_t);],, [
1640       AC_MSG_RESULT(yes)
1641       AC_DEFINE(HAVE_INET_NTOP_PROTO, 1,
1642       [Define if inet_ntop() prototype exists])], [
1643       AC_MSG_RESULT(no)])])
1644   INET_NTOP_LO=""], [
1645   INET_NTOP_LO="inet_ntop.lo"
1646   AC_DEFINE(NEED_INET_V6DEFS_H, 1,
1647   [Define if inet/v6defs.h needs to be included])])
1648 AC_SUBST(INET_NTOP_LO)
1649
1650 AC_CHECK_FUNC(strptime, STRPTIME_LO="",
1651   [STRPTIME_LO="strptime.lo"
1652    AC_DEFINE(NEED_STRPTIME_H, 1, [Define if strptime.h needs to be included])
1653 ])
1654 if test "$ac_cv_func_strptime" = no ; then
1655   STRPTIME_LO="strptime.lo"
1656 fi
1657 AC_SUBST(STRPTIME_C)
1658 AC_SUBST(STRPTIME_LO)
1659
1660 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
1661 AC_CHECK_FUNCS(issetugid)
1662 AC_CHECK_FUNCS(mmap mprotect sysconf)
1663 AC_CHECK_FUNCS(strtoll)
1664
1665 dnl blank for now, but will be used in future
1666 AC_SUBST(wireshark_SUBDIRS)
1667
1668 dnl
1669 dnl check whether plugins should be enabled and, if they should be,
1670 dnl check for plugins directory - stolen from Amanda's configure.in
1671 dnl
1672 dnl we don't wish to expand ${libdir} yet
1673 plugindir='${libdir}/wireshark/plugins/${VERSION}'
1674 AC_ARG_WITH(plugins,
1675   AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
1676                   [support plugins (installed in DIR, if supplied).   @<:@default=yes, if possible@:>@]),
1677 [
1678   if test "x$withval" = "xno"; then
1679     have_plugins=no
1680   elif test "x$have_plugins" = "xno"; then
1681       AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
1682   elif test "x$withval" != "xyes"; then
1683       plugindir="$withval"
1684   fi
1685 ])
1686 AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
1687 if test x$have_plugins = xyes
1688 then
1689   AC_DEFINE(HAVE_PLUGINS, 1, [Define if plugins are enabled])
1690 fi
1691 AC_SUBST(plugindir)
1692 CPPFLAGS="$CPPFLAGS '-DPLUGIN_DIR=\"\$(plugindir)\"'"
1693
1694 #
1695 # The plugin dissectors reside in ./plugins/PROTO/
1696 #
1697 PLUGIN_LIBS=""
1698 AC_SUBST(PLUGIN_LIBS)
1699
1700 dnl libtool defs
1701 #
1702 # Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
1703 # (autoconf?  automake?  libtool?) - with the newer version(s), it's
1704 # just an alias for AC_PROG_LIBTOOL, which is called earlier.
1705 #
1706 # With older version(s) of those tool(s), however, it's not just an
1707 # alias, and the configure scripts don't work without it.
1708 #
1709 AM_PROG_LIBTOOL
1710 AC_SUBST(LIBTOOL_DEPS)
1711
1712 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
1713 if test x$enable_static = xyes -a x$have_plugins = xyes
1714 then
1715   AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
1716 fi
1717 AC_SUBST(ENABLE_STATIC)
1718
1719 AC_ARG_ENABLE(new-packet-list,
1720   AC_HELP_STRING( [--enable-new-packet-list],
1721                   [use new packet list feature.  @<:@default=yes@:>@]),
1722                   new_packet_list=$enableval,new_packet_list=yes)
1723 AC_MSG_CHECKING(if new packet list is used);
1724 if test "x$new_packet_list" = "xyes" ; then
1725         AC_MSG_RESULT(yes)
1726         CFLAGS=" -DNEW_PACKET_LIST $CFLAGS"
1727 else
1728         AC_MSG_RESULT(no)
1729 fi
1730
1731 dnl Save the cacheable configure results to config.cache before recursing
1732 AC_CACHE_SAVE
1733
1734 sinclude(plugins/Custom.m4) dnl
1735 ifdef(_CUSTOM_AC_OUTPUT_,, define(_CUSTOM_AC_OUTPUT_, )) dnl
1736
1737 AM_CONFIG_HEADER(config.h)
1738 AC_OUTPUT(
1739   Makefile
1740   doxygen.cfg
1741   asn1/Makefile
1742   asn1/acp133/Makefile
1743   asn1/acse/Makefile
1744   asn1/ansi_map/Makefile
1745   asn1/ansi_tcap/Makefile
1746   asn1/camel/Makefile
1747   asn1/cdt/Makefile
1748   asn1/charging_ase/Makefile
1749   asn1/cmip/Makefile
1750   asn1/cmp/Makefile
1751   asn1/crmf/Makefile
1752   asn1/cms/Makefile
1753   asn1/dap/Makefile
1754   asn1/disp/Makefile
1755   asn1/dop/Makefile
1756   asn1/dsp/Makefile
1757   asn1/ess/Makefile
1758   asn1/ftam/Makefile
1759   asn1/gnm/Makefile
1760   asn1/goose/Makefile
1761   asn1/gsm_map/Makefile
1762   asn1/h225/Makefile
1763   asn1/h235/Makefile
1764   asn1/h245/Makefile
1765   asn1/h248/Makefile
1766   asn1/h282/Makefile
1767   asn1/h283/Makefile
1768   asn1/h323/Makefile
1769   asn1/h450/Makefile
1770   asn1/h450-ros/Makefile
1771   asn1/h460/Makefile
1772   asn1/h501/Makefile
1773   asn1/HI2Operations/Makefile
1774   asn1/hnbap/Makefile
1775   asn1/inap/Makefile
1776   asn1/kerberos/Makefile
1777   asn1/ldap/Makefile
1778   asn1/logotypecertextn/Makefile
1779   asn1/lte-rrc/Makefile
1780   asn1/mms/Makefile
1781   asn1/mpeg-audio/Makefile
1782   asn1/mpeg-pes/Makefile
1783   asn1/nbap/Makefile
1784   asn1/ns_cert_exts/Makefile
1785   asn1/ocsp/Makefile
1786   asn1/p7/Makefile
1787   asn1/pcap/Makefile
1788   asn1/pkcs1/Makefile
1789   asn1/pkcs12/Makefile
1790   asn1/pkinit/Makefile
1791   asn1/pkixac/Makefile
1792   asn1/pkix1explicit/Makefile
1793   asn1/pkix1implicit/Makefile
1794   asn1/pkixproxy/Makefile
1795   asn1/pkixqualified/Makefile
1796   asn1/pkixtsp/Makefile
1797   asn1/pres/Makefile
1798   asn1/q932/Makefile
1799   asn1/q932-ros/Makefile
1800   asn1/qsig/Makefile
1801   asn1/ranap/Makefile
1802   asn1/rnsap/Makefile
1803   asn1/ros/Makefile
1804   asn1/rrc/Makefile
1805   asn1/rrlp/Makefile
1806   asn1/rtse/Makefile
1807   asn1/rua/Makefile
1808   asn1/s1ap/Makefile
1809   asn1/s4406/Makefile
1810   asn1/sabp/Makefile
1811   asn1/smrse/Makefile
1812   asn1/snmp/Makefile
1813   asn1/spnego/Makefile
1814   asn1/t125/Makefile
1815   asn1/t38/Makefile
1816   asn1/tcap/Makefile
1817   asn1/ulp/Makefile
1818   asn1/wlancertextn/Makefile
1819   asn1/x2ap/Makefile
1820   asn1/x411/Makefile
1821   asn1/x420/Makefile
1822   asn1/x509af/Makefile
1823   asn1/x509ce/Makefile
1824   asn1/x509if/Makefile
1825   asn1/x509sat/Makefile
1826   asn1/x721/Makefile
1827   doc/Makefile
1828   docbook/Makefile
1829   epan/Makefile
1830   epan/crc/Makefile
1831   epan/crypt/Makefile
1832   epan/doxygen.cfg
1833   epan/dfilter/Makefile
1834   epan/dissectors/Makefile
1835   epan/dissectors/dcerpc/Makefile
1836   epan/dissectors/pidl/Makefile
1837   epan/ftypes/Makefile
1838   epan/wslua/Makefile
1839   epan/wspython/Makefile
1840   codecs/Makefile
1841   gtk/Makefile
1842   gtk/doxygen.cfg
1843   help/Makefile
1844   packaging/Makefile
1845   packaging/macosx/Info.plist
1846   packaging/macosx/Makefile
1847   packaging/nsis/Makefile
1848   packaging/rpm/Makefile
1849   packaging/rpm/SPECS/Makefile
1850   packaging/rpm/SPECS/wireshark.spec
1851   packaging/svr4/Makefile
1852   packaging/svr4/checkinstall
1853   packaging/svr4/pkginfo
1854   plugins/Makefile
1855   plugins/asn1/Makefile
1856   plugins/docsis/Makefile
1857   plugins/ethercat/Makefile
1858   plugins/giop/Makefile
1859   plugins/gryphon/Makefile
1860   plugins/interlink/Makefile
1861   plugins/irda/Makefile
1862   plugins/m2m/Makefile
1863   plugins/mate/Makefile
1864   plugins/opcua/Makefile
1865   plugins/profinet/Makefile
1866   plugins/sercosiii/Makefile
1867   plugins/stats_tree/Makefile
1868   plugins/unistim/Makefile
1869   plugins/wimax/Makefile
1870   plugins/wimaxasncp/Makefile
1871   tools/Makefile
1872   tools/idl2wrs.sh
1873   tools/lemon/Makefile
1874   wiretap/Makefile
1875   wsutil/Makefile
1876   _CUSTOM_AC_OUTPUT_
1877   ,)
1878 dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
1879
1880
1881 # Pretty messages
1882
1883 if test "x$enable_setcap_install" = "xyes" ; then
1884         setcap_message="yes"
1885 else
1886         setcap_message="no"
1887 fi
1888
1889
1890 if test "x$enable_setuid_install" = "xyes" ; then
1891         setuid_message="yes"
1892 else
1893         setuid_message="no"
1894 fi
1895
1896 if test "x$DUMPCAP_GROUP" = "x" ; then
1897         dumpcap_group_message="(none)"
1898 else
1899         dumpcap_group_message="$DUMPCAP_GROUP"
1900 fi
1901
1902 if test "x$want_zlib" = "xno" ; then
1903         zlib_message="no"
1904 else
1905         zlib_message="yes"
1906 fi
1907
1908 if test "x$want_pcre" = "xno" ; then
1909         if test $have_gregex = yes
1910         then
1911                 pcre_message="no (using GRegex instead)"
1912         else
1913                 pcre_message="no"
1914         fi
1915 else
1916         pcre_message="yes"
1917 fi
1918
1919 if test "x$want_lua" = "xyes" ; then
1920         lua_message="yes"
1921 else
1922         lua_message="no"
1923 fi
1924
1925 if test "x$want_python" = "xyes"; then
1926         python_message="yes"
1927 else
1928         python_message="no"
1929 fi
1930
1931 if test "x$want_portaudio" = "xyes" ; then
1932         portaudio_message="yes"
1933 else
1934         portaudio_message="no"
1935 fi
1936
1937 if test "x$want_ssl" = "xno" ; then
1938         ssl_message="no"
1939 else
1940         ssl_message="yes"
1941 fi
1942
1943 if test "x$want_krb5" = "xno" ; then
1944         krb5_message="no"
1945 else
1946         krb5_message="yes ($ac_krb5_version)"
1947 fi
1948
1949 if test "x$have_good_c_ares" = "xyes" ; then
1950         c_ares_message="yes"
1951 else
1952         c_ares_message="no"
1953 fi
1954
1955 if test "x$have_good_adns" = "xyes" ; then
1956         adns_message="yes"
1957 else
1958         adns_message="no"
1959 fi
1960
1961 if test "x$have_good_libcap" = "xyes" ; then
1962         libcap_message="yes"
1963 else
1964         libcap_message="no"
1965 fi
1966
1967 if test "x$have_good_geoip" = "xyes" ; then
1968         geoip_message="yes"
1969 else
1970         geoip_message="no"
1971 fi
1972
1973 echo ""
1974 echo "The Wireshark package has been configured with the following options."
1975 echo "                    Build wireshark : $enable_wireshark"
1976 echo "                       Build tshark : $enable_tshark"
1977 echo "                     Build capinfos : $enable_capinfos"
1978 echo "                      Build editcap : $enable_editcap"
1979 echo "                      Build dumpcap : $enable_dumpcap"
1980 echo "                     Build mergecap : $enable_mergecap"
1981 echo "                    Build text2pcap : $enable_text2pcap"
1982 echo "                      Build idl2wrs : $enable_idl2wrs"
1983 echo "                      Build randpkt : $enable_randpkt"
1984 echo "                       Build dftest : $enable_dftest"
1985 echo "                     Build rawshark : $enable_rawshark"
1986 echo ""
1987 echo "  Install dumpcap with capabilities : $setcap_message"
1988 echo "             Install dumpcap setuid : $setuid_message"
1989 echo "                  Use dumpcap group : $dumpcap_group_message"
1990 echo "                        Use plugins : $have_plugins"
1991 echo "                    Use lua library : $lua_message"
1992 echo "                 Use python binding : $python_message"
1993 echo "                   Build rtp_player : $portaudio_message"
1994 echo "                        Use threads : $enable_threads"
1995 echo "             Build profile binaries : $enable_profile_build"
1996 echo "                   Use pcap library : $want_pcap"
1997 echo "                   Use zlib library : $zlib_message"
1998 echo "                   Use pcre library : $pcre_message"
1999 echo "               Use kerberos library : $krb5_message"
2000 echo "                 Use c-ares library : $c_ares_message"
2001 echo "               Use GNU ADNS library : $adns_message"
2002 echo "                Use SMI MIB library : $libsmi_message"
2003 echo "             Use GNU crypto library : $gcrypt_message"
2004 echo "             Use SSL crypto library : $ssl_message"
2005 echo "           Use IPv6 name resolution : $enable_ipv6"
2006 echo "                 Use gnutls library : $tls_message"
2007 echo "     Use POSIX capabilities library : $libcap_message"
2008 echo "                  Use GeoIP library : $geoip_message"