dnl AC_CANONICAL_BUILD
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(wireshark, 0.99.8)
+AM_INIT_AUTOMAKE(wireshark, 1.0.99)
AM_DISABLE_STATIC
AC_DEFUN([AC_PROVIDE_AC_LIBTOOL_DLOPEN], )
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
+AC_PATH_PROG(PERL, perl)
AC_PROG_YACC
+AC_PATH_PROG(YACCDUMMY, $YACC)
+if test "x$YACCDUMMY" = x
+then
+ AC_MSG_ERROR(I couldn't find yacc (or bison or ...); make sure it's installed and in your path)
+fi
AM_PROG_LEX
-AC_PATH_PROG(PERL, perl)
+AC_PATH_PROG(LEXDUMMY, $LEX)
+if test "x$LEXDUMMY" = x
+then
+ AC_MSG_ERROR(I couldn't find (f)lex; make sure it's installed and in your path)
+fi
AC_PATH_PROG(POD2MAN, pod2man)
if test "x$POD2MAN" = x
then
[use gnutls library @<:@default=yes@:>@]),
with_gnutls="$withval", with_gnutls="yes")
if test "x$with_gnutls" = "xyes"; then
- AM_PATH_LIBGNUTLS(1.0.0,
+ AM_PATH_LIBGNUTLS(1.2.0,
[
echo "gnuTLS found, enabling ssl decryption"
AC_DEFINE(HAVE_LIBGNUTLS, 1, [Define to use gnutls library])
# libsmi
# FIXME: currently the path argument to with-libsmi is being ignored
-libsmi="no"
-AC_ARG_WITH([libsmi],
- AC_HELP_STRING( [--with-libsmi=@<:@yes/no@:>@],
- [use smi library @<:@default=yes@:>@]),
- with_libsmi="$withval", with_libsmi="yes")
-if test "x$with_libsmi" = "xyes"; then
- AM_PATH_LIBSMI
- AM_CONDITIONAL(HAVE_SMI, test "x$with_libsmi" = "xyes")
-fi
+AX_LIBSMI
# Check for xsltproc
AC_PATH_PROG(XSLTPROC, xsltproc)
# 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
+
+# SVR4/Solaris
AC_CHECK_PROG(HAVE_PKGPROTO, pkgproto, "yes", "no")
AC_CHECK_PROG(HAVE_PKGMK, pkgmk, "yes", "no")
AC_CHECK_PROG(HAVE_PKGTRANS, pkgtrans, "yes", "no")
fi
AC_SUBST(HAVE_SVR4_PACKAGING)
+# RPM
AC_WIRESHARK_RPM_CHECK
AC_SUBST(HAVE_RPM)
+# Debian
+AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
+
+# Mac OS X
+AC_CHECK_PROG(HAVE_XCODEBUILD, xcodebuild, "yes", "no")
+AC_CHECK_PROG(HAVE_HDIUTIL, hdiutil, "yes", "no")
+AC_CHECK_PROG(HAVE_BLESS, bless, "yes", "no")
+
+if test x$HAVE_XCODEBUILD = xyes -a x$HAVE_HDIUTIL = xyes \
+ -a x$HAVE_BLESS = xyes ; then
+ HAVE_OSX_PACKAGING=yes
+else
+ HAVE_OSX_PACKAGING=no
+fi
+AC_SUBST(HAVE_OSX_PACKAGING)
+
#
# Try to add some additional gcc checks to CFLAGS
#
if test $enableval != no
then
AC_WIRESHARK_GCC_CFLAGS_CHECK(-pedantic)
+ AC_WIRESHARK_GCC_CFLAGS_CHECK(-Woverflow)
+ AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wno-overlength-strings)
+# AC_WIRESHARK_GCC_CFLAGS_CHECK(-fstrict-overflow -Wstrict-overflow=4)
+# AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wunreachable-code)
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(-Wcast-align)
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(-Wcast-align)
fi
],)
-AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W)
+AC_WIRESHARK_GCC_CFLAGS_CHECK(-Wall -W) /* -W is now known as -Wextra */
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(-Warray-bounds)
#
# If we're running gcc add '-D_U_="__attribute__((unused))"' to CFLAGS as well,
# This barrier is set for a very large part of the code. However, it is
# typically not set for "generated" code (lex, ans2wrs, idl2wrs, ...)
#
+warnings_as_errors_default="yes"
AC_MSG_CHECKING(whether we should treat compiler warnings as errors)
AC_ARG_ENABLE(warnings-as-errors,
AC_HELP_STRING( [--enable-warnings-as-errors],
AC_MSG_RESULT(no)
fi
],
- if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x"; then
+ if test "x$GCC" = "xyes" -a "x$wireshark_extra_gcc_flags" = "x" -a "x$warnings_as_errors_default" = "xyes"; then
with_warnings_as_errors="yes"
AC_MSG_RESULT(yes)
else
#
# Arrange that we search for header files in the source directory
# and in its "wiretap" subdirectory, as well as in "/usr/local/include",
- # as various packages we use ("libpcap", "zlib", an SNMP library)
+ # as various packages we use ("libpcap", "zlib", "adns", "pcre")
# may have been installed under "/usr/local/include".
#
CFLAGS="$CFLAGS -I/usr/local/include"
[build GTK+-based wireshark. @<:@default=yes, if GTK+ available@:>@]),
enable_wireshark=$enableval,enable_wireshark=yes)
-AC_ARG_ENABLE(gtk2,
- 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,
AC_HELP_STRING( [--enable-threads],
[use threads in wireshark. @<:@default=no@:>@]),
# 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_wireshark" = "xyes"; then
- GTK_OK=two
+if test "x$enable_wireshark" = "xyes"; then
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_wireshark" = "xyes"; then
- GTK_OK=one
- AM_PATH_GTK(1.2.0, CFLAGS="$CFLAGS $GTK_CFLAGS", GTK_OK=no )
else
GTK_OK=no
fi
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)
- else
- AM_PATH_GLIB(1.2.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib distribution not found.), gmodule)
- fi
+ AM_PATH_GLIB_2_0(2.0.0, CFLAGS="$CFLAGS $GLIB_CFLAGS", AC_MSG_ERROR(GLib2 distribution not found.), gmodule)
+
else
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)
- else
- AM_PATH_GLIB(1.2.0, , AC_MSG_ERROR(GLib distribution not found.), gmodule)
- fi
+ AM_PATH_GLIB_2_0(2.0.0, , AC_MSG_ERROR(GLib distribution not found.), gmodule)
fi
#
AC_SUBST(randpkt_bin)
+
dnl Checks for "gethostbyname()" - and "-lnsl", if we need it to get
dnl "gethostbyname()".
AC_WIRESHARK_GETHOSTBY_LIB_CHECK
AC_SUBST(dumpcap_bin)
AC_SUBST(dumpcap_man)
+# Enable/disable rawshark
+
+dnl rawshark check
+AC_MSG_CHECKING(whether to build rawshark)
+
+AC_ARG_ENABLE(rawshark,
+ AC_HELP_STRING( [--enable-rawshark],
+ [build rawshark. @<:@default=yes@:>@]),
+ rawshark=$enableval,enable_rawshark=yes)
+
+if test "x$enable_rawshark" = "xyes" ; then
+ if test "x$want_pcap" = "xno" ; then
+ enable_rawshark=no
+ AC_MSG_RESULT(pcap not available - disabling rawshark)
+ else
+ AC_MSG_RESULT(yes)
+ fi
+else
+ AC_MSG_RESULT(no)
+fi
+
+if test "x$enable_rawshark" = "xyes" ; then
+ rawshark_bin="rawshark\$(EXEEXT)"
+ rawshark_man="rawshark.1"
+else
+ rawshark_bin=""
+ rawshark_man=""
+fi
+AC_SUBST(rawshark_bin)
+AC_SUBST(rawshark_man)
+
+
+dnl pcap remote check
+AC_MSG_CHECKING(whether to use libpcap remote capturing feature)
+
+AC_ARG_WITH(pcap-remote,
+[ --with-pcap-remote use libpcap remote capturing (requires libpcap)],
+[
+ if test $withval = no
+ then
+ want_pcap_remote=no
+ else
+ want_pcap_remote=yes
+ fi
+],[
+ want_pcap_remote=no
+])
+if test "x$want_pcap_remote" = "xno" -o "x$want_pcap" = "xno" ; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+ AC_WIRESHARK_PCAP_REMOTE_CHECK
+fi
+
dnl zlib check
AC_MSG_CHECKING(whether to use zlib for reading compressed capture files)
fi
-dnl Check if wireshark should be installed setuid
+dnl Check if dumpcap should be installed setuid
AC_ARG_ENABLE(setuid-install,
AC_HELP_STRING( [--enable-setuid-install],
- [install tshark and dumpcap as setuid @<:@default=no@:>@]),
+ [install dumpcap as setuid @<:@default=no@:>@]),
enable_setuid_install=$enableval,enable_setuid_install=no)
-AC_MSG_CHECKING(whether to install tshark and dumpcap setuid)
+AC_MSG_CHECKING(whether to install dumpcap setuid)
if test "x$enable_setuid_install" = "xno" ; then
AC_MSG_RESULT(no)
else
if test "x$enable_dumpcap" = "xno" ; then
- AC_MSG_ERROR(Setuid install works only with --enable-dumpcap, but dumpcap disabled)
+ AC_MSG_ERROR(Setuid install works only with dumpcap but dumpcap is disabled)
else
AC_MSG_RESULT(yes)
fi
fi
AM_CONDITIONAL(SETUID_INSTALL, test x$enable_setuid_install = xyes)
+AC_CHECK_FUNCS(setresuid setresgid)
dnl libcap (not libpcap) check
LIBCAP_LIBS=''
AC_LANG_SOURCE(
[[
#include <glib.h>
- #if GTK_MAJOR_VERSION >= 2
#include <glib/gprintf.h>
- #endif
#include <stdio.h>
main()
AC_SUBST(MKSTEMP_C)
AC_SUBST(MKSTEMP_O)
+ac_save_LIBS="$LIBS"
+LIBS="$GLIB_LIBS $LIBS"
+G_ASCII_STRCASECMP_C=""
+G_ASCII_STRCASECMP_O=""
+G_ASCII_STRCASECMP_LO=""
+AC_CHECK_FUNC(g_ascii_strcasecmp,
+ [G_ASCII_STRCASECMP_O=""
+ G_ASCII_STRCASECMP_LO=""],
+ [G_ASCII_STRCASECMP_O="g_ascii_strcasecmp.o"
+ G_ASCII_STRCASECMP_LO="g_ascii_strcasecmp.lo"
+ AC_DEFINE(NEED_G_ASCII_STRCASECMP_H, 1, [Define if g_ascii_strcasecmp.h needs to be included])
+])
+LIBS="$ac_save_LIBS"
+if test "$ac_cv_func_g_ascii_strcasecmp" = no ; then
+ G_ASCII_STRCASECMP_C="g_ascii_strcasecmp.c"
+ G_ASCII_STRCASECMP_O="g_ascii_strcasecmp.o"
+ G_ASCII_STRCASECMP_LO="g_ascii_strcasecmp.lo"
+fi
+AC_SUBST(G_ASCII_STRCASECMP_C)
+AC_SUBST(G_ASCII_STRCASECMP_O)
+AC_SUBST(G_ASCII_STRCASECMP_LO)
+
ac_save_LIBS="$LIBS"
LIBS="$GLIB_LIBS $LIBS"
G_ASCII_STRTOULL_C=""
have_plugins=no
elif test "x$have_plugins" = "xno"; then
AC_MSG_ERROR([GLib on this platform doesn't support loadable modules, so you can't enable plugins.])
- if test "x$withval" != "xyes"; then
- plugindir="$withval"
- fi
+ elif test "x$withval" != "xyes"; then
+ plugindir="$withval"
fi
])
AM_CONDITIONAL(HAVE_PLUGINS, test "x$have_plugins" = "xyes")
#
# The plugin dissectors reside in ./plugins/PROTO/
#
-PLUGIN_LIBS="-L../../epan -lwireshark $GLIB_LIBS"
+PLUGIN_LIBS=""
AC_SUBST(PLUGIN_LIBS)
dnl libtool defs
AC_CACHE_SAVE
AM_CONFIG_HEADER(config.h)
-AC_CONFIG_SUBDIRS(wiretap)
AC_OUTPUT(
Makefile
doxygen.cfg
asn1/ns-cert-exts/Makefile
asn1/ocsp/Makefile
asn1/p7/Makefile
+ asn1/pcap/Makefile
asn1/pkcs1/Makefile
asn1/pkcs12/Makefile
asn1/pkinit/Makefile
asn1/rrc/Makefile
asn1/rrlp/Makefile
asn1/rtse/Makefile
+ asn1/s1ap/Makefile
asn1/s4406/Makefile
asn1/sabp/Makefile
asn1/smrse/Makefile
asn1/tcap/Makefile
asn1/ulp/Makefile
asn1/wlancertextn/Makefile
+ asn1/x2ap/Makefile
asn1/x411/Makefile
asn1/x420/Makefile
asn1/x509af/Makefile
gtk/doxygen.cfg
help/Makefile
packaging/Makefile
+ packaging/macosx/Info.plist
packaging/nsis/Makefile
packaging/rpm/Makefile
packaging/rpm/SPECS/Makefile
plugins/ethercat/Makefile
plugins/giop/Makefile
plugins/gryphon/Makefile
+ plugins/infiniband/Makefile
plugins/irda/Makefile
plugins/lwres/Makefile
plugins/m2m/Makefile
tools/Makefile
tools/idl2wrs.sh
tools/lemon/Makefile
+ wiretap/Makefile
,)
dnl AC_CONFIG_FILES([tools/setuid-root.pl], [chmod +x tools/setuid-root.pl])
echo " Build idl2wrs : $enable_idl2wrs"
echo " Build randpkt : $enable_randpkt"
echo " Build dftest : $enable_dftest"
+echo " Build rawshark : $enable_rawshark"
echo ""
-echo " Install setuid : $setuid_message"
+echo " Install dumpcap 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"
-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 SMI SNMP library : $libsmi"
+echo " Use SMI MIB library : $libsmi_message"
echo " Use GNU crypto library : $gcrypt_message"
echo " Use SSL crypto library : $ssl_message"
echo " Use IPv6 name resolution : $enable_ipv6"