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