there was a syntax error introduced in this file which made it
[obnox/wireshark/wip.git] / configure.in
index f6e4c579e80e9fe0b51543f8ea597ebf3abb6d6f..0cdfa14146de0eaf6eba1da84e9537321623c851 100644 (file)
@@ -1,14 +1,20 @@
 # $Id$
 #
-AC_INIT(etypes.h)
+AC_INIT(cfile.h)
 
 AC_PREREQ(2.52)
 
 dnl Check for CPU / vendor / OS
-AC_CANONICAL_HOST
+dnl The user is encouraged to use either `AC_CANONICAL_BUILD', or
+dnl `AC_CANONICAL_HOST', or `AC_CANONICAL_TARGET', depending on the
+dnl needs.  Using `AC_CANONICAL_TARGET' is enough to run the two other
+dnl macros.
+
+dnl AC_CANONICAL_HOST
+dnl AC_CANONICAL_BUILD
 AC_CANONICAL_TARGET
 
-AM_INIT_AUTOMAKE(ethereal, 0.10.9)
+AM_INIT_AUTOMAKE(wireshark, 0.99.6)
 
 AM_DISABLE_STATIC
 
@@ -38,6 +44,14 @@ then
        #
        AC_MSG_ERROR(I couldn't find pod2html; make sure it's installed and in your path)
 fi
+AC_PATH_PROG(HTML_VIEWER, htmlview)
+if test "x$HTML_VIEWER" = x
+then
+       AC_DEFINE_UNQUOTED(HTML_VIEWER, "mozilla", [HTML viewer, e.g. mozilla])
+else
+       AC_DEFINE_UNQUOTED(HTML_VIEWER, "htmlview", [HTML viewer, e.g. mozilla])
+fi
+
 AC_PATH_PROG(LEX, flex)
 AC_PATH_PROG(PYTHON, python)
 
@@ -47,12 +61,74 @@ AC_SUBST(POD2HTML)
 AC_SUBST(LEX)
 AC_SUBST(FLEX_PATH)
 AC_SUBST(PYTHON)
+AC_SUBST(XSLTPROC)
+AC_SUBST(XMLLINT)
+
+if test "x$CC_FOR_BUILD" = x
+then
+       CC_FOR_BUILD=$CC
+fi
+AC_SUBST(CC_FOR_BUILD)
 
 # Check for doxygen
 AC_PATH_PROG(DOXYGEN, doxygen)
 AC_CHECK_PROG(HAVE_DOXYGEN, doxygen, "yes", "no")
 AM_CONDITIONAL(HAVE_DOXYGEN, test x$HAVE_DOXYGEN = xyes)
 
+# gnu tls
+AM_PATH_LIBGNUTLS(1.0.0,
+        [
+                echo "gnuTLS found, enabling ssl decryption"
+                AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library])
+                tls_message="yes"
+        ]
+        , [
+                if test x$libgnutls_config_prefix != x ; then
+                       AC_MSG_ERROR([[gnuTLS not found; install gnuTLS-devel package for your system]])
+                else
+                        echo echo "gnuTLS not found, disabling ssl decryption"
+                        tls_message="no"
+                fi
+        ]
+)
+
+# libgrypt
+AM_PATH_LIBGCRYPT(1.1.42,
+        [
+                echo "libgcrypt found, enabling ipsec decryption"
+                AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define to use libgcrypt])
+                gcrypt_message="yes"
+        ]
+        , [
+                if test x$libgcrypt_config_prefix != x ; then
+                       AC_MSG_ERROR([[libgcrypt not found; install libgcrypt-devel package for your system]])
+                else
+                        echo echo "libgcrypt not found, disabling ipsec decryption"
+                        gcrypt_message="no"
+                fi
+        ]
+)
+
+# Check for xsltproc
+AC_PATH_PROG(XSLTPROC, xsltproc)
+AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, "yes", "no")
+AM_CONDITIONAL(HAVE_XSLTPROC, test x$HAVE_XSLTPROC = xyes)
+
+# Check for xmllint
+AC_PATH_PROG(XMLLINT, xmllint)
+AC_CHECK_PROG(HAVE_XMLLINT, xmllint, "yes", "no")
+AM_CONDITIONAL(HAVE_XMLLINT, test x$HAVE_XMLLINT = xyes)
+
+# Check for fop (translate .fo to e.g. pdf)
+AC_PATH_PROG(FOP, fop)
+AC_CHECK_PROG(HAVE_FOP, fop, "yes", "no")
+AM_CONDITIONAL(HAVE_FOP, test x$HAVE_FOP = xyes)
+
+# Check for hhc (html help compiler)
+AC_PATH_PROG(HHC, hhc.exe)
+AC_CHECK_PROG(HAVE_HHC, hhc.exe, "yes", "no")
+AM_CONDITIONAL(HAVE_HHC, test x$HAVE_HHC = xyes)
+
 # Check for packaging utilities
 # For now, we check to see if the various packaging utilites are in our
 # path.  I'm too lazy to write code to go hunt for them.  -  Gerald
@@ -68,42 +144,103 @@ else
 fi
 AC_SUBST(HAVE_SVR4_PACKAGING)
 
-AC_ETHEREAL_RPM_CHECK
+AC_WIRESHARK_RPM_CHECK
 AC_SUBST(HAVE_RPM)
 
 #
-# If we're running gcc, add '-Wall -W' to CFLAGS, and add
-# '-D_U_="__attribute__((unused))"' as well, so we can use _U_ to
-# flag unused function arguments and not get warnings about them.
-# If "--with-extra-gcc-checks" was specified, add "-Wcast-qual
-# -Wcast-align" as well.  (Add more checks here in the future?)
-#
-# Otherwise, add '-D_U_=""', so that _U_ used to flag an unused function
-# argument will compile with non-GCC compilers.
+# Try to add some additional gcc checks to CFLAGS
 #
-AC_ARG_WITH(extra-gcc-checks,
-[  --with-extra-gcc-checks Do additional -W checks in GCC.  [default=no]],
+AC_ARG_ENABLE(extra-gcc-checks,
+  AC_HELP_STRING( [--enable-extra-gcc-checks],
+                 [Do additional -W checks in GCC.  @<:@default=no@:>@]),
 [
-       if test $withval != no
+       wireshark_extra_gcc_flags=$enableval
+       if test $enableval != no
        then
-               ethereal_extra_gcc_flags=" -Wcast-qual -Wcast-align -Wbad-function-cast -pedantic -Wstrict-prototypes"
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-long-long)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wbad-function-cast)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-qual)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wwrite-strings)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wshorten-64-to-32)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wstrict-prototypes)
+               AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wmissing-declarations)
        fi
 ],)
-AC_MSG_CHECKING(to see if we can add '-Wall -W$ethereal_extra_gcc_flags' to CFLAGS)
-if test x$GCC != x ; then
-  CFLAGS="-D_U_=\"__attribute__((unused))\" -Wall -W$ethereal_extra_gcc_flags $CFLAGS"
-  AC_MSG_RESULT(yes)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wdeclaration-after-statement)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wendif-labels)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wpointer-arith)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-pointer-sign)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wcast-align)
+
+#
+# If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
+# so we can use _U_ to flag unused function arguments and not get warnings
+# about them. Otherwise, add '-D_U_=""', so that _U_ used to flag an unused
+# function argument will compile with non-GCC compilers.
+#
+if test "x$GCC" = "xyes" ; then
+  CFLAGS="-D_U_=\"__attribute__((unused))\" $CFLAGS"
 else
   CFLAGS="-D_U_=\"\" $CFLAGS"
-  AC_MSG_RESULT(no)
 fi
 
+#
+# If we're running gcc, will enable a barrier "stop on warning". 
+# This barrier is set for a very large part of the code. However, it is
+# typically not set for "generated" code  (lex, ans2wrs, idl2wrs, ...)
+#
+AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
+AC_ARG_ENABLE(warnings-as-errors,
+  AC_HELP_STRING( [--enable-warnings-as-errors], 
+                 [Treat warnings as errors (only for gcc). @<:@default=yes@:>@]),
+[
+  if test "x$GCC" = "xyes" -a "x$enableval" == "xyes" -a "x$wireshark_extra_gcc_flags" != "xyes"; then
+    with_warnings_as_errors="yes"
+    AC_MSG_RESULT(yes)
+  else
+    with_warnings_as_errors="no"
+    AC_MSG_RESULT(no)
+  fi
+],
+  if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x"; then
+    with_warnings_as_errors="yes"
+    AC_MSG_RESULT(yes)
+  else
+    with_warnings_as_errors="no"
+    AC_MSG_RESULT(no)
+  fi
+)
+AM_CONDITIONAL(HAVE_WARNINGS_AS_ERRORS, test "x$with_warnings_as_errors" = "xyes")
+
 #
 # Add any platform-specific compiler flags needed.
 #
 AC_MSG_CHECKING(for platform-specific compiler flags)
-if test "x$GCC" = x
-then
+if test "x$GCC" = "xyes" ; then
+       #
+       # GCC - do any platform-specific tweaking necessary.
+       #
+       case "$host_os" in
+       solaris*)
+               # the X11 headers don't automatically include prototype info
+               # and a lot don't include the return type
+               CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15"
+               AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
+               ;;
+       darwin*)
+               #
+               # See comments above about Apple's lovely C compiler.
+               #
+               CFLAGS="-no-cpp-precomp $CFLAGS"
+               AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
+               ;;
+       *)
+               AC_MSG_RESULT(none needed)
+               ;;
+       esac
+else
        #
        # Not GCC - assume it's the vendor's compiler.
        #
@@ -132,35 +269,47 @@ then
                AC_MSG_RESULT(none needed)
                ;;
        esac
-else
-       case "$host_os" in
-       solaris*)
-               # the X11 headers don't automatically include prototype info
-               # and a lot don't include the return type
-               CFLAGS="$CFLAGS -Wno-return-type -DFUNCPROTO=15"
-               AC_MSG_RESULT(GCC on Solaris - added -Wno-return-type -DFUNCPROTO=15)
-               ;;
-       darwin*)
-               #
-               # See comments above about Apple's lovely C compiler.
-               #
-               CFLAGS="-no-cpp-precomp $CFLAGS"
-               AC_MSG_RESULT(Apple GCC - added -no-cpp-precomp)
-               ;;
-       cygwin*)
-               #
-               # Shared libraries in cygwin/Win32 must never contain
-               # undefined symbols.
-               #
-               LDFLAGS="$LDFLAGS -no-undefined"
-               AC_MSG_RESULT(CygWin GCC - added -no-undefined to LDFLAGS)
-               ;;
-       *)
-               AC_MSG_RESULT(none needed)
-               ;;
-       esac
 fi
 
+#
+# Add any platform-specific linker flags needed.
+#
+AC_MSG_CHECKING(for platform-specific linker flags)
+case "$host_os" in
+darwin*)
+       #
+       # Add -Wl,-single_module to the LDFLAGS used with shared
+       # libraries, to fix some error that show up in some cases;
+       # some Apple documentation recommends it for most shared
+       # libraries.
+       #
+       LDFLAGS_SHAREDLIB="-Wl,-single_module"
+       #
+       # Add -Wl,-search_paths_first to make sure that if we search
+       # directories A and B, in that order, for a given library, a
+       # non-shared version in directory A, rather than a shared
+       # version in directory B, is chosen (so we can use
+       # --with-pcap=/usr/local to force all programs to be linked
+       # with a static version installed in /usr/local/lib rather than
+       # the system version in /usr/lib).
+       #
+       LDFLAGS="-Wl,-search_paths_first $LDFLAGS"
+       AC_MSG_RESULT([Apple linker - added -Wl,-single_module and -Wl,-search_paths_first])
+       ;;
+cygwin*)
+       #
+       # Shared libraries in cygwin/Win32 must never contain
+       # undefined symbols.
+       #
+       LDFLAGS="$LDFLAGS -no-undefined"
+       AC_MSG_RESULT(CygWin GNU ld - added -no-undefined)
+       ;;
+*)
+       AC_MSG_RESULT(none needed)
+       ;;
+esac
+AC_SUBST(LDFLAGS_SHAREDLIB)
+
 #
 # On OS X, if we find the headers for Core Foundation and Launch Services,
 # add -framework options to link with Application Services (of which
@@ -216,7 +365,9 @@ dnl XXX FIXME don't include /usr/local if it is already in the system
 dnl search path as this causes gcc 3.2 on Linux to complain about a change
 dnl of the system search order for includes
 AC_ARG_ENABLE(usr-local,
-[  --enable-usr-local      look for headers and libs in /usr/local tree.  [default=yes]],ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
+  AC_HELP_STRING( [--enable-usr-local],
+                  [look for headers and libs in /usr/local tree.  @<:@default=yes@:>@]),
+    ac_cv_enable_usr_local=$enableval,ac_cv_enable_usr_local=yes)
 
 AC_MSG_CHECKING(whether to use /usr/local for headers and libraries)
 if test "x$ac_cv_enable_usr_local" = "xyes" ; then
@@ -233,7 +384,7 @@ if test "x$ac_cv_enable_usr_local" = "xyes" ; then
        #
        # Arrange that we search for libraries in "/usr/local/lib".
        #
-       AC_ETHEREAL_ADD_DASH_L(LDFLAGS, /usr/local/lib)
+       AC_WIRESHARK_ADD_DASH_L(LDFLAGS, /usr/local/lib)
 else
        AC_MSG_RESULT(no)
 fi
@@ -256,17 +407,17 @@ esac
 
 #
 # Check for versions of "sed" inadequate to handle, in libtool, a list
-# of object files as large as the list in Ethereal.
+# of object files as large as the list in Wireshark.
 #
 # On Solaris, we check for "/bin/sed", "/usr/bin/sed", and "/usr/ucb/sed",
 # as both "/usr/bin/sed" (which is also "/bin/sed", as "/bin" is just a
 # symlink to "/usr/bin", but people may have "/bin" before "/usr/bin" in
 # their search path) and "/usr/ucb/sed" are inadequate; "/usr/xpg4/bin/sed"
-# is the only "sed" that comes with Solaris that can handle Ethereal.
+# is the only "sed" that comes with Solaris that can handle Wireshark.
 #
 # Add any checks here that are necessary for other OSes.
 #
-AC_ETHEREAL_GNU_SED_CHECK
+AC_WIRESHARK_GNU_SED_CHECK
 if test "$HAVE_GNU_SED" = no ; then
        case "$host_os" in
        solaris*)
@@ -289,25 +440,33 @@ if test "$HAVE_GNU_SED" = no ; then
        esac
 fi
 
-# Enable/disable tethereal
+# Enable/disable tshark
 
-AC_ARG_ENABLE(ethereal,
-[  --enable-ethereal       build GTK+-based ethereal.  [default=yes]],enable_ethereal=$enableval,enable_ethereal=yes)
+AC_ARG_ENABLE(wireshark,
+  AC_HELP_STRING( [--enable-wireshark],
+                  [build GTK+-based wireshark.  @<:@default=yes, if GTK+ available@:>@]),
+    enable_wireshark=$enableval,enable_wireshark=ifgtkavailable)
 
 AC_ARG_ENABLE(gtk2,
-[  --disable-gtk2          build Glib1/Gtk1+-based (t)ethereal.  [default=no]],enable_gtk2=$enableval,enable_gtk2=yes)
+  AC_HELP_STRING( [--disable-gtk2],
+                  [build Glib1/Gtk1+-based wireshark/tshark.  @<:@default=no@:>@]),
+    enable_gtk2=$enableval,enable_gtk2=yes)
 AM_CONDITIONAL(USE_GTK2, test x$enable_gtk2 = xyes)
 
 AC_ARG_ENABLE(threads,
-[  --enable-threads        use threads in ethereal.  [default=no]],enable_threads=$enableval,enable_threads=no)
+  AC_HELP_STRING( [--enable-threads],
+                  [use threads in wireshark.  @<:@default=no@:>@]),
+    enable_threads=$enableval,enable_threads=no)
 AM_CONDITIONAL(USE_THREADS, test x$enable_threads = xyes)
 
 AC_ARG_ENABLE(profile-build,
-[  --enable-profile-build  build profile-ready binaries.  [default=no]],enable_profile_build=$enableval,enable_profile_build=no)
+  AC_HELP_STRING( [--enable-profile-build],
+                 [build profile-ready binaries.  @<:@default=no@:>@]),
+    enable_profile_build=$enableval,enable_profile_build=no)
 AM_CONDITIONAL(USE_PROFILE_BUILD, test x$enable_profile_build = xyes)
 AC_MSG_CHECKING(if profile builds must be generated)
 if test "x$enable_profile_build" = "xyes" ; then
-       if test -n "$GCC" ; then
+       if test "x$GCC" = "xyes" ; then
                AC_MSG_RESULT(yes)
                CFLAGS=" -pg $CFLAGS"
        else
@@ -319,11 +478,14 @@ else
 fi
 
 # Create DATAFILE_DIR #define for config.h
-datafiledir=$datadir/ethereal
+datafiledir=$datadir/wireshark
 datafiledir=`(
     test "x$prefix" = xNONE && prefix=$ac_default_prefix
     test "x$exec_prefix" = xNONE && exec_prefix=${prefix}
-    eval echo "$datafiledir"
+    # Ugly hack, but I don't see how this problem can be solved
+    # properly that DATAFILE_DIR had a value starting with
+    # "${prefix}/" instead of e.g. "/usr/local/"
+    eval eval echo "$datafiledir"
 )`
 AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
 
@@ -331,10 +493,12 @@ AC_DEFINE_UNQUOTED(DATAFILE_DIR,"$datafiledir", [Directory for data])
 # We don't add $GLIB_LIBS to LIBS, because we don't want to force all
 # programs to be built with GTK+.
 #
-if test "x$enable_gtk2" = "xyes" -a "x$enable_ethereal" = "xyes" ; then
+if test "x$enable_gtk2" = "xyes" -a \
+    "(" "x$enable_wireshark" = "xyes" -o "x$enable_wireshark" = "xifgtkavailable" ")"; then
        GTK_OK=two
        AM_PATH_GTK_2_0(2.0.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no, gthread)
-elif test "x$enable_gtk2" != "xyes" -a "x$enable_ethereal" = "xyes" ; then
+elif test "x$enable_gtk2" != "xyes" \
+    -a "(" "x$enable_wireshark" = "xyes" -o "x$enable_wireshark" = "xifgtkavailable" ")"; then
        GTK_OK=one
        AM_PATH_GTK(1.2.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no )
 else
@@ -352,9 +516,18 @@ fi
 # programs to be built with GLib.
 #
 if test "$GTK_OK" = "no" ; then
-       enable_ethereal="no"
-       ethereal_bin=""
-       ethereal_man=""
+       #
+       # We don't have GTK+.
+       # If they explicitly said "--enable-wireshark", fail (so that if
+       # they insist on building Wireshark, we don't drive on and build
+       # only TShark, we stop so they can fix the GTK+ problem).
+       #
+       if test "x$enable_wireshark" = "xyes"; then
+               AC_MSG_ERROR([GTK+ isn't available, so Wireshark can't be compiled])
+       fi
+       enable_wireshark="no"
+       wireshark_bin=""
+       wireshark_man=""
        # Honor GLIB_CFLAGS
        if test "x$enable_gtk2" = "xyes" ; then
                AM_PATH_GLIB_2_0(2.0.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib2 distribution not found.), gmodule)
@@ -362,9 +535,9 @@ if test "$GTK_OK" = "no" ; then
                AM_PATH_GLIB(1.2.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib distribution not found.), gmodule)
        fi
 else
-       ethereal_bin="ethereal\$(EXEEXT)"
-       ethereal_man="ethereal.1"
-        ethereal_SUBDIRS="gtk"
+       wireshark_bin="wireshark\$(EXEEXT)"
+       wireshark_man="wireshark.1"
+        wireshark_SUBDIRS="codecs gtk"
        # Honor GLIB_CFLAGS
        if test "$GTK_OK" = "two" ; then
                AM_PATH_GLIB_2_0(2.0.0, , AC_MSG_ERROR(GLib distribution not found.), gmodule)
@@ -388,7 +561,7 @@ AC_TRY_RUN([
 #include <stdio.h>
 #include <stdlib.h>
 
-int 
+int
 main ()
 {
   if (g_module_supported())
@@ -433,17 +606,18 @@ AC_CHECK_HEADERS(inttypes.h,
              printf("%" PRId64 "\n", (gint64)1);
              printf("%" PRIo64 "\n", (guint64)1);
              printf("%" PRIx64 "\n", (guint64)1);
+             printf("%" PRIX64 "\n", (guint64)1);
              printf("%" PRIu64 "\n", (guint64)1);
            }
          ]])
       ],
       [
        AC_MSG_RESULT(yes)
-       ac_ethereal_inttypes_h_defines_formats=yes
+       ac_wireshark_inttypes_h_defines_formats=yes
       ],
       [
        AC_MSG_RESULT(no)
-       ac_ethereal_inttypes_h_defines_formats=no
+       ac_wireshark_inttypes_h_defines_formats=no
       ])
   ],
   [
@@ -451,16 +625,16 @@ AC_CHECK_HEADERS(inttypes.h,
     # We don't have inttypes.h, so it obviously can't define those
     # macros.
     #
-    ac_ethereal_inttypes_h_defines_formats=no
+    ac_wireshark_inttypes_h_defines_formats=no
   ])
-if test "$ac_ethereal_inttypes_h_defines_formats" = yes; then
+if test "$ac_wireshark_inttypes_h_defines_formats" = yes; then
   AC_DEFINE(INTTYPES_H_DEFINES_FORMATS,,[Define if <inttypes.h> defines PRI[doxu]64 macros])
 else
-  AC_ETHEREAL_CHECK_64BIT_FORMAT(ll,
+  AC_WIRESHARK_CHECK_64BIT_FORMAT(ll,
     [
-      AC_ETHEREAL_CHECK_64BIT_FORMAT(L,
+      AC_WIRESHARK_CHECK_64BIT_FORMAT(L,
        [
-         AC_ETHEREAL_CHECK_64BIT_FORMAT(q,
+         AC_WIRESHARK_CHECK_64BIT_FORMAT(q,
            [
              AC_MSG_ERROR([neither %llx nor %Lx nor %qx worked on a 64-bit integer])
            ])
@@ -468,36 +642,40 @@ else
     ])
 fi
 
-AC_SUBST(ethereal_bin)
-AC_SUBST(ethereal_man)
+AC_SUBST(wireshark_bin)
+AC_SUBST(wireshark_man)
 
 rdps_bin="rdps\$(EXEEXT)"
 AC_SUBST(rdps_bin)
 
 
-# Enable/disable tethereal
+# Enable/disable tshark
 
-AC_ARG_ENABLE(tethereal,
-[  --enable-tethereal      build tethereal.  [default=yes]],tethereal=$enableval,enable_tethereal=yes)
+AC_ARG_ENABLE(tshark,
+  AC_HELP_STRING( [--enable-tshark],
+                  [build tshark.  @<:@default=yes@:>@]),
+    tshark=$enableval,enable_tshark=yes)
 
-if test "x$enable_tethereal" = "xyes" ; then
-       tethereal_bin="tethereal\$(EXEEXT)"
-       tethereal_man="tethereal.1"
-       etherealfilter_man="ethereal-filter.4"
+if test "x$enable_tshark" = "xyes" ; then
+       tshark_bin="tshark\$(EXEEXT)"
+       tshark_man="tshark.1"
+       wiresharkfilter_man="wireshark-filter.4"
 else
-       tethereal_bin=""
-       tethereal_man=""
+       tshark_bin=""
+       tshark_man=""
 fi
-AC_SUBST(tethereal_bin)
-AC_SUBST(tethereal_man)
-AC_SUBST(etherealfilter_man)
+AC_SUBST(tshark_bin)
+AC_SUBST(tshark_man)
+AC_SUBST(wiresharkfilter_man)
 
 
 
 # Enable/disable editcap
 
 AC_ARG_ENABLE(editcap,
-[  --enable-editcap        build editcap.  [default=yes]],enable_editcap=$enableval,enable_editcap=yes)
+  AC_HELP_STRING( [--enable-editcap],
+                  [build editcap.  @<:@default=yes@:>@]),
+    enable_editcap=$enableval,enable_editcap=yes)
 
 if test "x$enable_editcap" = "xyes" ; then
        editcap_bin="editcap\$(EXEEXT)"
@@ -510,10 +688,30 @@ AC_SUBST(editcap_bin)
 AC_SUBST(editcap_man)
 
 
+# Enable/disable dumpcap
+
+AC_ARG_ENABLE(dumpcap,
+  AC_HELP_STRING( [--enable-dumpcap],
+                  [build dumpcap.  @<:@default=yes@:>@]),
+    enable_dumpcap=$enableval,enable_dumpcap=yes)
+
+if test "x$enable_dumpcap" = "xyes" ; then
+       dumpcap_bin="dumpcap\$(EXEEXT)"
+       dumpcap_man="dumpcap.1"
+else
+       dumpcap_bin=""
+       dumpcap_man=""
+fi
+AC_SUBST(dumpcap_bin)
+AC_SUBST(dumpcap_man)
+
+
 # Enable/disable capinfos
 
 AC_ARG_ENABLE(capinfos,
-[  --enable-capinfos        build capinfos.  [default=yes]],enable_capinfos=$enableval,enable_capinfos=yes)
+  AC_HELP_STRING( [--enable-capinfos],
+                  [build capinfos.  @<:@default=yes@:>@]),
+    enable_capinfos=$enableval,enable_capinfos=yes)
 
 if test "x$enable_capinfos" = "xyes" ; then
        capinfos_bin="capinfos\$(EXEEXT)"
@@ -529,7 +727,9 @@ AC_SUBST(capinfos_man)
 # Enable/disable mergecap
 
 AC_ARG_ENABLE(mergecap,
-[  --enable-mergecap       build mergecap.  [default=yes]],enable_mergecap=$enableval,enable_mergecap=yes)
+  AC_HELP_STRING( [--enable-mergecap],
+                  [build mergecap.  @<:@default=yes@:>@]),
+    enable_mergecap=$enableval,enable_mergecap=yes)
 
 if test "x$enable_mergecap" = "xyes" ; then
        mergecap_bin="mergecap\$(EXEEXT)"
@@ -545,7 +745,9 @@ AC_SUBST(mergecap_man)
 # Enable/disable text2pcap
 
 AC_ARG_ENABLE(text2pcap,
-[  --enable-text2pcap      build text2pcap.  [default=yes]],text2pcap=$enableval,enable_text2pcap=yes)
+  AC_HELP_STRING( [--enable-text2pcap],
+                  [build text2pcap.  @<:@default=yes@:>@]),
+    text2pcap=$enableval,enable_text2pcap=yes)
 
 if test "x$enable_text2pcap" = "xyes" ; then
        text2pcap_bin="text2pcap\$(EXEEXT)"
@@ -557,26 +759,30 @@ fi
 AC_SUBST(text2pcap_bin)
 AC_SUBST(text2pcap_man)
 
-# Enable/disable idl2eth
+# Enable/disable idl2wrs
 
-AC_ARG_ENABLE(idl2eth,
-[  --enable-idl2eth        build idl2eth.  [default=yes]],enable_idl2eth=$enableval,enable_idl2eth=yes)
+AC_ARG_ENABLE(idl2wrs,
+  AC_HELP_STRING( [--enable-idl2wrs],
+                  [build idl2wrs.  @<:@default=yes@:>@]),
+    enable_idl2wrs=$enableval,enable_idl2wrs=yes)
 
-if test "x$enable_idl2eth" = "xyes" ; then
-       idl2eth_bin="idl2eth"
-       idl2eth_man="idl2eth.1"
+if test "x$enable_idl2wrs" = "xyes" ; then
+       idl2wrs_bin="idl2wrs"
+       idl2wrs_man="idl2wrs.1"
 else
-       idl2eth_bin=""
-       idl2eth_man=""
+       idl2wrs_bin=""
+       idl2wrs_man=""
 fi
-AC_SUBST(idl2eth_bin)
-AC_SUBST(idl2eth_man)
+AC_SUBST(idl2wrs_bin)
+AC_SUBST(idl2wrs_man)
 
 
 # Enable/disable dftest
 
 AC_ARG_ENABLE(dftest,
-[  --enable-dftest         build dftest.  [default=yes]],enable_dftest=$enableval,enable_dftest=yes)
+  AC_HELP_STRING( [--enable-dftest],
+                  [build dftest.  @<:@default=yes@:>@]),
+    enable_dftest=$enableval,enable_dftest=yes)
 
 if test "x$enable_dftest" = "xyes" ; then
        dftest_bin="dftest\$(EXEEXT)"
@@ -589,7 +795,9 @@ AC_SUBST(dftest_bin)
 # Enable/disable randpkt
 
 AC_ARG_ENABLE(randpkt,
-[  --enable-randpkt        build randpkt.  [default=no]],enable_randpkt=$enableval,enable_randpkt=no)
+  AC_HELP_STRING( [--enable-randpkt],
+                  [build randpkt.  @<:@default=yes@:>@]),
+    enable_randpkt=$enableval,enable_randpkt=yes)
 
 if test "x$enable_randpkt" = "xyes" ; then
        randpkt_bin="randpkt\$(EXEEXT)"
@@ -601,19 +809,18 @@ AC_SUBST(randpkt_bin)
 
 dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
 dnl "gethostbyname()".
-AC_ETHEREAL_GETHOSTBY_LIB_CHECK
+AC_WIRESHARK_GETHOSTBY_LIB_CHECK
 
 dnl Checks for "connect()", used as a proxy for "socket()" - and
 dnl "-lsocket", if we need it to get "connect()".
-AC_ETHEREAL_SOCKET_LIB_CHECK
+AC_WIRESHARK_SOCKET_LIB_CHECK
 
 dnl pcap check
 AC_MSG_CHECKING(whether to use libpcap for packet capture)
 
 AC_ARG_WITH(pcap,
-changequote(<<, >>)dnl
-<<  --with-pcap[=DIR]       use libpcap for packet capturing.  [default=yes]>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-pcap@<:@=DIR@:>@],
+                  [use libpcap for packet capturing.  @<:@default=yes@:>@]),
 [
        if test $withval = no
        then
@@ -633,16 +840,15 @@ if test "x$want_pcap" = "xno" ; then
        AC_MSG_RESULT(no)
 else
        AC_MSG_RESULT(yes)
-       AC_ETHEREAL_PCAP_CHECK
+       AC_WIRESHARK_PCAP_CHECK
 fi
 
 dnl zlib check
 AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
 
 AC_ARG_WITH(zlib,
-changequote(<<, >>)dnl
-<<  --with-zlib[=DIR]       use zlib (located in directory DIR, if supplied) to read compressed data.  [default=yes, if present]>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-zlib@<:@=DIR@:>@],
+                  [use zlib (located in directory DIR, if supplied) to read compressed data.  @<:@default=yes, if available@:>@]),
 [
        if test $withval = no
        then
@@ -658,14 +864,14 @@ changequote([, ])dnl
        #
        # Use zlib if it's present, otherwise don't.
        #
-       want_zlib=ifpresent
+       want_zlib=ifavailable
        zlib_dir=
 ])
 if test "x$want_zlib" = "xno" ; then
         AC_MSG_RESULT(no)
 else
         AC_MSG_RESULT(yes)
-        AC_ETHEREAL_ZLIB_CHECK
+        AC_WIRESHARK_ZLIB_CHECK
        if test "x$want_zlib" = "xno" ; then
                AC_MSG_RESULT(zlib not found - disabling compressed capture file support)
        fi
@@ -676,9 +882,8 @@ dnl pcre check
 AC_MSG_CHECKING(whether to use libpcre for regular expressions in dfilters)
 
 AC_ARG_WITH(pcre,
-changequote(<<, >>)dnl
-<<  --with-pcre[=DIR]       use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions.  [default=yes, if present]>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-pcre@<:@=DIR@:>@],
+                  [use libpcre (located in directory DIR, if supplied) to use in dfilter regular expressions.  @<:@default=yes, if available@:>@]),
 [
        if test $withval = no
        then
@@ -694,42 +899,122 @@ changequote([, ])dnl
        #
        # Use libpcre if it's present, otherwise don't.
        #
-       want_pcre=ifpresent
+       want_pcre=ifavailable
        pcre_dir=
 ])
 if test "x$want_pcre" = "xno" ; then
         AC_MSG_RESULT(no)
 else
         AC_MSG_RESULT(yes)
-        AC_ETHEREAL_LIBPCRE_CHECK
+        AC_WIRESHARK_LIBPCRE_CHECK
        if test "x$want_pcre" = "xno" ; then
                AC_MSG_RESULT(libpcre not found - disabling support for perl compatible regular expressions in dfilters)
        fi
 fi
 
 
+dnl lua check
+AC_MSG_CHECKING(whether to use liblua for the lua scripting plugin)
+
+AC_ARG_WITH(lua,
+  AC_HELP_STRING( [--with-lua@<:@=DIR@:>@],
+                  [use liblua (located in directory DIR, if supplied) for the lua scripting plugin.  @<:@default=no@:>@]),
+[
+       if test $withval = no
+       then
+               want_lua=no
+       elif test $withval = yes
+       then
+               want_lua=yes
+       else
+               want_lua=yes
+               lua_dir=$withval
+       fi
+],[
+       #
+       # Don't use liblua by default (it isn't ready yet)
+       #
+       want_lua=no
+       lua_dir=
+])
+if test "x$want_lua" = "xno" ; then
+       AC_MSG_RESULT(no)
+else
+       AC_MSG_RESULT(yes)
+       AC_WIRESHARK_LIBLUA_CHECK
+       if test "x$want_lua" = "xno" ; then
+               AC_MSG_RESULT(liblua not found - disabling support for the lua scripting plugin)
+       fi
+fi
+AM_CONDITIONAL(HAVE_LIBLUA, test x$want_lua = xyes)
+
+
+dnl portaudio check
+AC_MSG_CHECKING(whether to use libportaudio for the rtp_player)
+
+AC_ARG_WITH(portaudio,
+  AC_HELP_STRING( [--with-portaudio@<:@=DIR@:>@],
+                  [use libportaudio (located in directory DIR, if supplied) for the rtp_player.  @<:@default=yes, if available@:>@]),
+[
+       if test $withval = no
+       then
+               want_portaudio=no
+       elif test $withval = yes
+       then
+               want_portaudio=yes
+       else
+               want_portaudio=yes
+               portaudio_dir=$withval
+       fi
+],[
+       #
+       # Use libportaudio by default
+       #
+       want_portaudio=ifavailable
+       portaudio_dir=
+])
+if test "x$want_portaudio" = "xno" ; then
+       AC_MSG_RESULT(no)
+else
+       AC_MSG_RESULT(yes)
+       AC_WIRESHARK_LIBPORTAUDIO_CHECK
+       if test "x$want_portaudio" = "xno" ; then
+               AC_MSG_RESULT(libportaudio not found - disabling support for the rtp_player)
+       fi
+fi
+AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
+
+
 dnl ipv6 check
 AC_ARG_ENABLE(ipv6,
-[  --enable-ipv6           use ipv6 name resolution, if available.  [default=yes]],enable_ipv6=$enableval,enable_ipv6=yes)
+  AC_HELP_STRING( [--enable-ipv6],
+                  [use ipv6 name resolution, if available.  @<:@default=yes@:>@]),
+    enable_ipv6=$enableval,enable_ipv6=yes)
 
 AC_MSG_CHECKING(whether to enable ipv6 name resolution if available)
 if test "x$enable_ipv6" = "xno" ; then
        AC_MSG_RESULT(no)
 else
        AC_MSG_RESULT(yes)
-       AC_ETHEREAL_IPV6_STACK
+       AC_WIRESHARK_IPV6_STACK
 fi
 
 
-dnl Check if ethereal should be installed setuid
+dnl Check if wireshark should be installed setuid
 AC_ARG_ENABLE(setuid-install,
-[  --enable-setuid-install install ethereal as setuid. DANGEROUS!!! [default=no]],enable_setuid_install=$enableval,enable_setuid_install=no)
+  AC_HELP_STRING( [--enable-setuid-install],
+                  [install wireshark as setuid. DANGEROUS!!! @<:@default=no@:>@]),
+    enable_setuid_install=$enableval,enable_setuid_install=no)
 
-AC_MSG_CHECKING(whether to install ethereal setuid)
+AC_MSG_CHECKING(whether to install wireshark setuid)
 if test "x$enable_setuid_install" = "xno" ; then
        AC_MSG_RESULT(no)
 else
-       AC_MSG_RESULT(yes)
+       if test "x$enable_dumpcap" = "xno" ; then
+               AC_MSG_ERROR(Setuid install works only with --enable-dumpcap, but dumpcap disabled)
+       else
+               AC_MSG_RESULT(yes)
+       fi
 fi
 
 AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
@@ -740,16 +1025,17 @@ AC_CHECK_HEADERS(direct.h dirent.h fcntl.h netdb.h stdarg.h stddef.h unistd.h)
 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)
 AC_CHECK_HEADERS(netinet/in.h)
 AC_CHECK_HEADERS(arpa/inet.h arpa/nameser.h)
-AC_CHECK_HEADERS(iconv.h)
+
+dnl iconv check
+AM_ICONV
 
 dnl SSL Check
 SSL_LIBS=''
 AC_MSG_CHECKING(whether to use SSL library)
 
 AC_ARG_WITH(ssl,
-changequote(<<, >>)dnl
-<<  --with-ssl[=DIR]        use SSL crypto library (located in directory DIR, if supplied).   [default=no]>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-ssl@<:@=DIR@:>@],
+                  [use SSL crypto library (located in directory DIR, if supplied).   @<:@default=no@:>@]),
 [
 if test "x$withval" = "xno";  then
        want_ssl=no
@@ -757,7 +1043,7 @@ elif test "x$withval" = "xyes"; then
        want_ssl=yes
 elif test -d "$withval"; then
        want_ssl=yes
-       AC_ETHEREAL_ADD_DASH_L(LDFLAGS, ${withval}/lib)
+       AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
 fi
 ],[
        want_ssl=no
@@ -776,117 +1062,48 @@ else
 fi
 AC_SUBST(SSL_LIBS)
 
-dnl UCD SNMP/NET-SNMP Check
+dnl Net-SNMP Check
 SNMP_LIBS=''
 
 AC_ARG_WITH(net-snmp,
-changequote(<<, >>)dnl
-<<  --with-net-snmp=PATH    use NET-SNMP library, with PATH as the location of the net-snmp-config shell script that comes with the net-snmp package.>>,
-changequote([, ])dnl
-[netsnmpconfig=$withval]
-)
-
-AC_ARG_WITH(ucd-snmp,
-changequote(<<, >>)dnl
-<<  --with-ucd-snmp[=DIR]   use UCD SNMP client library (located in directory DIR, if supplied).  [default=yes, if present]>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-net-snmp@<:@=PATH@:>@],
+                  [use Net-SNMP library (with PATH as the location of the net-snmp-config shell script that comes with the net-snmp package, if supplied)  @<:@default=yes, if available@:>@]),
 [
        if test $withval = no
        then
-               want_ucdsnmp=no
+               want_netsnmp=no
        elif test $withval = yes
        then
-               want_ucdsnmp=yes
+               want_netsnmp=yes
        else
-               want_ucdsnmp=yes
-               ucdsnmp_dir=$withval
+               want_netsnmp=yes
+               netsnmpconfig="$withval"
        fi
 ],[
        #
-       # Set "want_ucdsnmp" to "ifpresent" to make the default "use it
+       # Set "want_netsnmp" to "ifavailable" to make the default "use it
        # if you find it, otherwise don't".
        #
-       want_ucdsnmp=ifpresent
-       ucdsnmp_dir=
+       want_netsnmp=ifavailable
 ])
 
-dnl try net-snmp first
-AC_MSG_CHECKING(whether to use NET-SNMP library if available)
-if test "x$netsnmpconfig" != "xno" ; then
-       AC_MSG_RESULT(yes)
-       dnl get the net-snmp-config binary
-       if test "x$netsnmpconfig" = "xyes" -o "x$netsnmpconfig" = "x" ; then
-               dnl search for it
-               AC_PATH_PROG(NETSNMPCONFIG,net-snmp-config)
-       else
-               NETSNMPCONFIG=$netsnmpconfig
-               if test ! -x $NETSNMPCONFIG -o ! -f $NETSNMPCONFIG ; then
-                       NETSNMPCONFIG=$netsnmpconfig/bin/net-snmp-config
-                       if test ! -x $NETSNMPCONFIG -o ! -f $NETSNMPCONFIG ; then
-                               AC_MSG_ERROR(Invalid net-snmp-config: $netsnmpconfig)
-                       fi
-               fi
-       fi
-else
+#
+# Try Net-SNMP
+#
+AC_MSG_CHECKING(whether to use Net-SNMP library)
+if test "x$want_netsnmp" = "xno" ; then
        AC_MSG_RESULT(no)
-fi
-
-if test "x$NETSNMPCONFIG" != "xno" -a "x$NETSNMPCONFIG" != "x" -a -x "$NETSNMPCONFIG" ; then
-       dnl other choices for flags to use here: could also use
-       dnl --prefix or --exec-prefix if you don't want the full list.
-
-       #
-       # Save the current settings of CFLAGS and CPPFLAGS, and add
-       # the output of "$NETSNMPCONFIG --cflags" to it, so that when
-       # searching for the Net-SNMP headers, we look in whatever
-       # directory that output specifies.
-       #
-       ethereal_save_CFLAGS="$CFLAGS"
-       ethereal_save_CPPFLAGS="$CPPFLAGS"
-       CFLAGS="$CFLAGS `$NETSNMPCONFIG --cflags`"
-       CPPFLAGS="$CPPFLAGS `$NETSNMPCONFIG --cflags`"
-
-       AC_CHECK_HEADERS(net-snmp/net-snmp-config.h net-snmp/library/default_store.h)
-       if test "x$ac_cv_header_net_snmp_net_snmp_config_h" = "xyes" -a "x$ac_cv_header_net_snmp_library_default_store_h" = "xyes" ; then
-               SNMP_LIBS=`$NETSNMPCONFIG --libs`
-               if echo "$SNMP_LIBS" | grep crypto >/dev/null  && test "x$SSL_LIBS" = "x"; then
-                       AC_MSG_RESULT(Net-SNMP requires openssl but ssl not enabled - disabling Net-SNMP)
-                       CFLAGS="$ethereal_save_CFLAGS"
-                       CPPFLAGS="$ethereal_save_CPPFLAGS"
-                       SNMP_LIBS=
-                       NETSNMPCONFIG="no"
-               else
-                       AC_DEFINE(HAVE_NET_SNMP, 1, [Define to enable support for NET-SNMP])
-                       have_net_snmp="yes"
-               fi
-       else
-               # technically, we should retry ucd-snmp but it's
-               # unlikely they have installed net-snmp-config and not
-               # the net-snmp headers but do have the ucd-snmp
-               # headers.  This would likely be a broken system to
-               # try and use anyway.
-               NETSNMPCONFIG="no"
-
-               #
-               # Restore the versions of CFLAGS and CPPFLAGS before
-               # we added the output of '$NETSNMPCONFIG --cflags",
-               # as we didn't actually find Net-SNMP there.
-               #
-               CFLAGS="$ethereal_save_CFLAGS"
-               CPPFLAGS="$ethereal_save_CPPFLAGS"
-       fi      
 else
-       AC_MSG_CHECKING(whether to use UCD SNMP library if available)
-       if test "x$want_ucdsnmp" = "xno" ; then
-               AC_MSG_RESULT(no)
+       if test "x$want_netsnmp" = "xifavailable" ; then
+               AC_MSG_RESULT([yes, if available])
        else
                AC_MSG_RESULT(yes)
-               AC_ETHEREAL_UCDSNMP_CHECK
        fi
+       AC_WIRESHARK_NETSNMP_CHECK
 fi
 
-if test "x$have_net_snmp" = "xyes" || test "x$have_ucd_snmp" = "xyes"; then
-       AC_DEFINE(HAVE_SOME_SNMP, 1, [Define to 1 if some SNMP support is to be used])
+if test "x$have_net_snmp" = "xyes"; then
+       AC_DEFINE(HAVE_NET_SNMP, 1, [Define to 1 if Net-SNMP support is to be used])
 fi
 
 AC_SUBST(SNMP_LIBS)
@@ -896,9 +1113,8 @@ dnl kerberos check
 AC_MSG_CHECKING(whether to use kerberos)
 
 AC_ARG_WITH(krb5,
-changequote(<<, >>)dnl
-<<  --with-krb5[=DIR]       use kerberos (located in directory DIR, if supplied) to use in kerberos dissection  [default=yes]>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-krb5@<:@=DIR@:>@],
+                  [use kerberos (located in directory DIR, if supplied) to use in kerberos dissection  @<:@default=yes@:>@]),
 [
        if test $withval = no
        then
@@ -914,33 +1130,53 @@ changequote([, ])dnl
        #
        # Use kerberos if specified, otherwise don't.
        #
-       want_krb5=ifpresent
+       want_krb5=ifavailable
        krb5_dir=
 ])
 if test "x$want_krb5" = "xno" ; then
        AC_MSG_RESULT(no)
 else
        AC_MSG_RESULT(yes)
-       AC_ETHEREAL_KRB5_CHECK
+       AC_WIRESHARK_KRB5_CHECK
 fi
 
 
 dnl ADNS Check
 ADNS_LIBS=''
 AC_MSG_CHECKING(whether to use the GNU ADNS library if available)
+
+AC_ARG_WITH(adns,
+  AC_HELP_STRING( [--with-adns@<:@=DIR@:>@],
+                  [use GNU ADNS (located in directory DIR, if supplied).   @<:@default=yes, if present@:>@]),
+[
+if   test "x$withval" = "xno";  then
+       want_adns=no
+elif test "x$withval" = "xyes"; then
+       want_adns=yes
+elif test -d "$withval"; then
+       want_adns=yes
+       AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
+fi
+])
 if test "x$with_adns" = "xno" ; then
        AC_MSG_RESULT(no)
 else
        AC_MSG_RESULT(yes)
-       AC_ETHEREAL_ADNS_CHECK
+       AC_WIRESHARK_ADNS_CHECK
 fi
 AC_SUBST(ADNS_LIBS)
 
 #
-# Define ETH_VAR_IMPORT appropriately for declarations of external
+# Define WS_VAR_IMPORT appropriately for declarations of external
 # variables exported from dynamically-linked libraries.
 #
-AC_DEFINE(ETH_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
+AC_DEFINE(WS_VAR_IMPORT, extern, [Define as the string to precede external variable declarations in dynamically-linked libraries])
+
+#
+# Define HAVE_AIRPDCAP
+# We'll want to remove this eventually.
+#
+AC_DEFINE(HAVE_AIRPDCAP, 1, [Enable AirPDcap (WPA/WPA2 decryption)])
 
 dnl Checks for typedefs, structures, and compiler characteristics.
 # AC_C_CONST
@@ -948,7 +1184,7 @@ dnl Checks for typedefs, structures, and compiler characteristics.
 # We need to know whether "struct sockaddr" has an "sa_len" member
 # for get_interface_list().
 
-AC_ETHEREAL_STRUCT_SA_LEN
+AC_WIRESHARK_STRUCT_SA_LEN
 
 # We must know our byte order
 AC_C_BIGENDIAN
@@ -957,20 +1193,18 @@ AC_C_BIGENDIAN
 # XXX - do we need this?
 AC_PROG_GCC_TRADITIONAL
 
-# If there's a system out there that has snprintf and _doesn't_ have vsnprintf,
-# then this won't work.
-SNPRINTF_C=""
-SNPRINTF_O=""
-AC_CHECK_FUNC(snprintf, SNPRINTF_O="",
-  [SNPRINTF_O="snprintf.o"
-   AC_DEFINE(NEED_SNPRINTF_H, 1, [Define if sprintf.h needs to be included])
+GETOPT_C=""
+GETOPT_O=""
+AC_CHECK_FUNC(getopt, GETOPT_O="",
+  [GETOPT_O="getopt.o"
+   AC_DEFINE(NEED_GETOPT_H, 1, [Define if getopt.h needs to be included])
 ])
-if test "$ac_cv_func_snprintf" = no ; then
-  SNPRINTF_C="snprintf.c"
-  SNPRINTF_O="snprintf.o"
+if test "$ac_cv_func_getopt" = no ; then
+  GETOPT_C="getopt.c"
+  GETOPT_O="getopt.o"
 fi
-AC_SUBST(SNPRINTF_C)
-AC_SUBST(SNPRINTF_O)
+AC_SUBST(GETOPT_C)
+AC_SUBST(GETOPT_O)
 
 AC_CHECK_FUNC(strerror, STRERROR_O="",
   [STRERROR_O="strerror.o"
@@ -1128,19 +1362,20 @@ AC_SUBST(STRPTIME_C)
 AC_SUBST(STRPTIME_O)
 
 AC_CHECK_FUNCS(getprotobynumber gethostbyname2)
+AC_CHECK_FUNCS(issetugid)
+AC_CHECK_FUNCS(mmap mprotect sysconf)
 
 dnl blank for now, but will be used in future
-AC_SUBST(ethereal_SUBDIRS)
+AC_SUBST(wireshark_SUBDIRS)
 
 dnl
 dnl check whether plugins should be enabled and, if they should be,
 dnl check for plugins directory - stolen from Amanda's configure.in
 dnl
-plugindir="$libdir/ethereal/plugins/$VERSION"
+plugindir="$libdir/wireshark/plugins/$VERSION"
 AC_ARG_WITH(plugins,
-changequote(<<, >>)dnl
-<<  --with-plugins[=DIR]    support plugins (installed in DIR, if supplied).>>,
-changequote([, ])dnl
+  AC_HELP_STRING( [--with-plugins@<:@=DIR@:>@],
+                  [support plugins (installed in DIR, if supplied).   @<:@default=yes, if possible@:>@]),
 [
   case "$withval" in
   "" | y | ye | yes )
@@ -1180,7 +1415,7 @@ AC_SUBST(plugindir)
 #
 # The plugin dissectors reside in ./plugins/PROTO/
 #
-PLUGIN_LIBS="-L../../epan -lethereal $GLIB_LIBS"
+PLUGIN_LIBS="-L../../epan -lwireshark $GLIB_LIBS"
 AC_SUBST(PLUGIN_LIBS)
 
 dnl libtool defs
@@ -1198,7 +1433,7 @@ AC_SUBST(LIBTOOL_DEPS)
 AM_CONDITIONAL(ENABLE_STATIC, test x$enable_static = xyes)
 if test x$enable_static = xyes -a x$have_plugins = xyes
 then
-  AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Ethereal])
+  AC_DEFINE(ENABLE_STATIC, 1, [Link plugins statically into Wireshark])
 fi
 AC_SUBST(ENABLE_STATIC)
 
@@ -1210,12 +1445,16 @@ AC_CONFIG_SUBDIRS(wiretap)
 AC_OUTPUT(
   Makefile
   doxygen.cfg
+  asn1/Makefile
   doc/Makefile
   epan/Makefile
+  epan/crypt/Makefile
   epan/doxygen.cfg
   epan/dfilter/Makefile
   epan/dissectors/Makefile
   epan/ftypes/Makefile
+  epan/wslua/Makefile
+  codecs/Makefile
   gtk/Makefile
   gtk/doxygen.cfg
   help/Makefile
@@ -1223,12 +1462,12 @@ AC_OUTPUT(
   packaging/nsis/Makefile
   packaging/rpm/Makefile
   packaging/rpm/SPECS/Makefile
-  packaging/rpm/SPECS/ethereal.spec
+  packaging/rpm/SPECS/wireshark.spec
   packaging/svr4/Makefile
   packaging/svr4/checkinstall
   packaging/svr4/pkginfo
   plugins/Makefile
-  plugins/acn/Makefile
+  plugins/agentx/Makefile
   plugins/artnet/Makefile
   plugins/asn1/Makefile
   plugins/ciscosm/Makefile
@@ -1236,18 +1475,22 @@ AC_OUTPUT(
   plugins/enttec/Makefile
   plugins/giop/Makefile
   plugins/gryphon/Makefile
+  plugins/h223/Makefile
   plugins/irda/Makefile
   plugins/lwres/Makefile
-  plugins/megaco/Makefile
+  plugins/mate/Makefile
   plugins/mgcp/Makefile
   plugins/opsi/Makefile
   plugins/pcli/Makefile
-  plugins/rdm/Makefile
+  plugins/profinet/Makefile
   plugins/rlm/Makefile
   plugins/rtnet/Makefile
   plugins/rudp/Makefile
+  plugins/sbus/Makefile
+  plugins/stats_tree/Makefile
   plugins/v5ua/Makefile
   tools/Makefile
+  tools/idl2wrs.sh
   tools/lemon/Makefile
   ,)
 
@@ -1272,6 +1515,18 @@ else
        pcre_message="yes"
 fi
 
+if test "x$want_lua" = "xyes" -a "x$have_plugins" = "xyes" ; then
+       lua_message="yes"
+else
+       lua_message="no"
+fi
+
+if test "x$want_portaudio" = "xyes" ; then
+       portaudio_message="yes"
+else
+       portaudio_message="no"
+fi
+
 if test "x$want_ssl" = "xno" ; then
        ssl_message="no"
 else
@@ -1290,38 +1545,41 @@ else
        adns_message="no"
 fi
 
-if test "x$NETSNMPCONFIG" != "xno" -a "x$NETSNMPCONFIG" != "x" -a -x "$NETSNMPCONFIG" ; then
-       snmp_libs_message="yes (net-snmp)"
-elif test "x$SNMP_LIBS" = "x" ; then
-       snmp_libs_message="no"
+if test "x$have_net_snmp" = "xyes" ; then
+       snmp_libs_message="yes"
 else
-       snmp_libs_message="yes (ucd-snmp)"
+       snmp_libs_message="no"
 fi
 
 echo ""
-echo "The Ethereal package has been configured with the following options."
-echo "                    Build ethereal : $enable_ethereal"
-echo "                   Build tethereal : $enable_tethereal"
-echo "                    Build capinfos : $enable_capinfos"
-echo "                     Build editcap : $enable_editcap"
-echo "                    Build mergecap : $enable_mergecap"
-echo "                   Build text2pcap : $enable_text2pcap"
-echo "                     Build idl2eth : $enable_idl2eth"
-echo "                     Build randpkt : $enable_randpkt"
-echo "                      Build dftest : $enable_dftest"
+echo "The Wireshark package has been configured with the following options."
+echo "                    Build wireshark : $enable_wireshark"
+echo "                       Build tshark : $enable_tshark"
+echo "                     Build capinfos : $enable_capinfos"
+echo "                      Build editcap : $enable_editcap"
+echo "                      Build dumpcap : $enable_dumpcap"
+echo "                     Build mergecap : $enable_mergecap"
+echo "                    Build text2pcap : $enable_text2pcap"
+echo "                      Build idl2wrs : $enable_idl2wrs"
+echo "                      Build randpkt : $enable_randpkt"
+echo "                       Build dftest : $enable_dftest"
 echo ""
-echo "                    Install setuid : $setuid_message"
-echo "                       Use plugins : $have_plugins"
-echo "               Use GTK+ v2 library : $enable_gtk2"
+echo "                     Install setuid : $setuid_message"
+echo "                        Use plugins : $have_plugins"
+echo "                   Build lua plugin : $lua_message"
+echo "                   Build rtp_player : $portaudio_message"
+echo "                Use GTK+ v2 library : $enable_gtk2"
 if test "x$enable_gtk2" = "xyes" ; then
-echo "                       Use threads : $enable_threads"
-echo "            Build profile binaries : $enable_profile_build"
+echo "                        Use threads : $enable_threads"
+echo "             Build profile binaries : $enable_profile_build"
 fi
-echo "                  Use pcap library : $want_pcap"
-echo "                  Use zlib library : $zlib_message"
-echo "                  Use pcre library : $pcre_message"
-echo "              Use kerberos library : $krb5_message"
-echo "              Use GNU ADNS library : $adns_message"
-echo "            Use SSL crypto library : $ssl_message"
-echo "          Use IPv6 name resolution : $enable_ipv6"
-echo "     Use UCD SNMP/NET-SNMP library : $snmp_libs_message"
+echo "                   Use pcap library : $want_pcap"
+echo "                   Use zlib library : $zlib_message"
+echo "                   Use pcre library : $pcre_message"
+echo "               Use kerberos library : $krb5_message"
+echo "               Use GNU ADNS library : $adns_message"
+echo "             Use GNU crypto library : $gcrypt_message"
+echo "             Use SSL crypto library : $ssl_message"
+echo "           Use IPv6 name resolution : $enable_ipv6"
+echo "               Use Net-SNMP library : $snmp_libs_message"
+echo "                 Use gnutls library : $tls_message"