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