)
if test "x$have_license_compatible_gnutls" != "xyes"; then
- PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 1.2.0 gnutls < 3],
- [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 1.2.0, < 3.0 not found " ]
+ PKG_CHECK_MODULES([LIBGNUTLS], [gnutls >= 2.12.0 gnutls < 3],
+ [ have_license_compatible_gnutls="yes" ] , [ echo "GnuTLS >= 2.12.0, < 3.0 not found " ]
)
fi
[ with_gcrypt="$withval"; want_gcrypt="yes" ], with_gcrypt="yes")
if test "x$with_gcrypt" = "xyes"; then
- AM_PATH_LIBGCRYPT(1.1.92,
+ AM_PATH_LIBGCRYPT(1.4.2,
[
- echo "libgcrypt found, enabling ipsec decryption"
+ echo "libgcrypt found, enabling decryption for ipsec, ssl, etc."
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 "libgcrypt not found, disabling ipsec decryption"
+ echo "libgcrypt not found, disabling decryption for ipsec, ssl, etc."
gcrypt_message="no"
fi
# was requested by the user.
#
if test x$libnl_version = "xany" -o x$libnl_version = "x3"; then
- PKG_CHECK_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no])
+ PKG_WIRESHARK_CHECK_SYSTEM_MODULES(LIBNL3, [libnl-route-3.0 >= 3.0 libnl-genl-3.0] >= 3.0, [have_libnl3=yes], [have_libnl3=no])
fi
if test x$libnl_version = "xany" -o x$libnl_version = "x2"; then
- PKG_CHECK_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no])
+ PKG_WIRESHARK_CHECK_SYSTEM_MODULES(LIBNL2, libnl-2.0 >= 2.0, [have_libnl2=yes], [have_libnl2=no])
fi
if test x$libnl_version = "xany" -o x$libnl_version = "x1"; then
- PKG_CHECK_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no])
+ PKG_WIRESHARK_CHECK_SYSTEM_MODULES(LIBNL1, libnl-1 >= 1.0, [have_libnl1=yes], [have_libnl1=no])
fi
if (test "${have_libnl3}" = "yes"); then
CFLAGS="$CFLAGS $LIBNL3_CFLAGS"
AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
AC_DEFINE(HAVE_LIBNL3, 1, [libnl version 3])
libnl_message="yes (v3)"
- enable_airpcap=no
elif (test "${have_libnl2}" = "yes"); then
CFLAGS="$CFLAGS $LIBNL2_CFLAGS"
LIBS="$LIBS $LIBNL2_LIBS"
AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
AC_DEFINE(HAVE_LIBNL2, 1, [libnl version 2])
libnl_message="yes (v2)"
- enable_airpcap=no
elif (test "${have_libnl1}" = "yes"); then
CFLAGS="$CFLAGS $LIBNL1_CFLAGS"
LIBS="$LIBS $LIBNL1_LIBS"
AC_DEFINE(HAVE_LIBNL, 1, [Enable libnl support])
AC_DEFINE(HAVE_LIBNL1, 1, [libnl version 1])
libnl_message="yes (v1)"
- enable_airpcap=no
else
if test x$want_libnl = "xyes"; then
case "$libnl_version" in
# Debian
AC_CHECK_PROG(HAVE_DPKG_BUILDPACKAGE, dpkg-buildpackage, "yes", "no")
-# Mac OS X
+# 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")
# The following are for C and C++
#
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpedantic)
+ #
+ # As we use variadic macros, we don't want warnings
+ # about them, even with -Wpedantic.
+ #
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-variadic-macros)
#
# Various code blocks this one.
# and no yet all leak is fixed...
# use ASAN_OPTIONS=detect_leaks=0 to disable detect_leaks
#
+ # XXX shouldn't this also be added to LDFLAGS?
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fsanitize=address)
],)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wignored-qualifiers)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wpragmas)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-overlength-strings)
-AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wwrite-strings)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wno-long-long)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wheader-guard)
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-Wunused-const-variable)
# failures to export symbols, rather than having that fail only on
# Windows.
#
-CFLAGS_before_fvhidden="$CFLAGS"
-#
# GCC and GCC-compatible compilers
#
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fvisibility=hidden)
-if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
+if test "x$can_add_to_cflags" = "xno"
then
#
# Sun^WOracle C.
#
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xldscope=hidden)
- if test "x$CFLAGS" = "x$CFLAGS_before_fvhidden"
+ if test "x$can_add_to_cflags" = "xno"
then
# TODO add other ways of hiding symbols
AC_MSG_WARN(Compiler will export all symbols from shared libraries)
# privileges, and using PIE means the OS can run it at random locations
# in the address space to make attacks more difficult.
#
-CFLAGS_before_pie="$CFLAGS"
-AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE)
-if test "x$CFLAGS" != "x$CFLAGS_before_pie"
+WS_CHECKED_CFLAGS_before_pie="$WS_CHECKED_CFLAGS"
+AC_WIRESHARK_COMPILER_FLAGS_CHECK(-fPIE, C)
+if test "x$can_add_to_cflags" = "xyes"
then
# Restore CFLAGS
- CFLAGS="$CFLAGS_before_pie"
+ WS_CHECKED_CFLAGS="$WS_CHECKED_CFLAGS_before_pie"
LDFLAGS_before_pie="$LDFLAGS"
AC_WIRESHARK_LDFLAGS_CHECK([-fPIE -pie])
AC_SUBST(PIE_CFLAGS)
AC_SUBST(PIE_LDFLAGS)
-CFLAGS_before_simd="$CFLAGS"
+WS_CHECKED_CFLAGS_before_simd="$WS_CHECKED_CFLAGS"
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-msse4.2, C)
-if test "x$CFLAGS" != "x$CFLAGS_before_simd"
+if test "x$can_add_to_cflags" = "xyes"
then
#
# The compiler supports -msse4.2; use that to enable SSE 4.2.
# is run only if the hardware supports it, but other
# code would do no such checks.
#
- CFLAGS="$CFLAGS_before_simd"
+ WS_CHECKED_CFLAGS="$WS_CHECKED_CFLAGS_before_simd"
ac_sse4_2_flag=-msse4.2
else
#
# Try -xarch=sse4_2; that's the flag for Sun's compiler.
#
AC_WIRESHARK_COMPILER_FLAGS_CHECK(-xarch=sse4_2, C)
- if test "x$CFLAGS" != "x$CFLAGS_before_simd"
+ if test "x$can_add_to_cflags" = "xyes"
then
#
# The compiler supports -xarch=sse4_2; use that to
#
# Restore CFLAGS; see above.
#
- CFLAGS="$CFLAGS_before_simd"
+ WS_CHECKED_CFLAGS="$WS_CHECKED_CFLAGS_before_simd"
ac_sse4_2_flag=-xarch=sse4_2
fi
fi
+#
+# All AC_WIRESHARK_COMPILER_FLAGS_CHECK are done, do not call it again!
+# Prepend them to the user-specified CFLAGS/CXXFLAGS.
+#
+CFLAGS="$WS_CHECKED_CFLAGS $CFLAGS"
+CXXFLAGS="$WS_CHECKED_CXXFLAGS $CXXFLAGS"
+
if test "x$ac_sse4_2_flag" != x; then
#
# OK, we have a compiler flag to enable SSE 4.2.
#
CFLAGS_FOR_BUILD="-Ae +O2 $CFLAGS"
fi
- CXXFLAGS="+O2 $CFLAGS"
+ CXXFLAGS="+O2 $CXXFLAGS"
AC_MSG_RESULT(HP C/C++ compiler - added +O2)
;;
solaris*)
# get version information from plists and thus need Core Foundation
# to process those plists.
#
+have_os_x_frameworks=no
case "$host_os" in
-
darwin*)
+ have_os_x_frameworks=yes
AC_DEFINE(HAVE_OS_X_FRAMEWORKS, 1, [Define to 1 if you have OS X frameworks])
APPLICATIONSERVICES_FRAMEWORKS="-framework ApplicationServices"
SYSTEMCONFIGURATION_FRAMEWORKS="-framework SystemConfiguration"
AC_SUBST(APPLICATIONSERVICES_FRAMEWORKS)
AC_SUBST(SYSTEMCONFIGURATION_FRAMEWORKS)
AC_SUBST(COREFOUNDATION_FRAMEWORKS)
+AM_CONDITIONAL(HAVE_OS_X_FRAMEWORKS, [test "x$have_os_x_frameworks" = "xyes"])
#
# On Solaris, check whether we have getexecname().
# 3.12.0: 25 Mar 2014
# 3.14.0: 30 Sep 2014
# 3.16.0: 22 Mar 2015
+# 3.18.0 22 Sep 2015
#
# Release dates for Qt versions:
# https://en.wikipedia.org/wiki/List_of_Qt_releases
# 2.40.0: 24 Mar 2014
# 2.42.0: 22 Sep 2014
# 2.44.0: 23 Mar 2014
+# 2.46.0: 25 Sep 2015
use_glib_cflags="true"
if test "$have_gtk" = "yes" -a "$have_qt" = "yes" ; then
AM_PATH_GLIB_2_0($GLIB_MIN_VERSION, , AC_MSG_ERROR(GLib $GLIB_MIN_VERSION or later distribution not found.), gthread gmodule)
fi
+# Check for GResource support
+PKG_CHECK_EXISTS([gio-2.0 >= 2.32 gdk-pixbuf-2.0 >= 2.26], [have_gresource=yes], [have_gresource=no])
+AM_CONDITIONAL(HAVE_GRESOURCE, test "x$have_gresource" = "xyes")
+if test "x$have_gresource" = "xyes"; then
+ AC_DEFINE(HAVE_GRESOURCE, 1, [Defined if GLib GResource is supported])
+fi
+
# Error out if a glib header other than a "top level" header
# (glib.h, glib-object.h, gio.h) or certain other headers( e.g.,gmodule.h)
# is used.
AC_WIRESHARK_PCAP_CHECK
fi
-
-dnl Check for airpcap
-dnl We might want to remove this entirely unless we want to support
-dnl AutoTools on Windows.
-AC_MSG_CHECKING(whether to include airpcap support)
-AC_ARG_ENABLE(airpcap,
- AC_HELP_STRING( [--enable-airpcap],
- [use AirPcap in Wireshark @<:@default=no@:>@]),
- enable_airpcap=$enableval, enable_airpcap=no)
-
-if test x$enable_airpcap = xyes; then
- if test "x$want_pcap" = "xno" ; then
- enable_airpcap=no
- AC_MSG_RESULT(pcap not available - disabling airpcap)
- else
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_AIRPCAP, 1, [Enable AirPcap])
- fi
-else
- AC_MSG_RESULT(no)
-fi
-
-
dnl dumpcap check
AC_MSG_CHECKING(whether to build dumpcap)
AC_SUBST(androiddump_bin)
AC_SUBST(androiddump_man)
+dnl sshdump check
+AC_MSG_CHECKING(whether to build sshdump)
+
+AC_ARG_ENABLE(sshdump,
+ AC_HELP_STRING( [--enable-sshdump],
+ [build sshdump @<:@default=yes@:>@]),
+ sshdump=$enableval,enable_sshdump=yes)
+
+if test "x$enable_sshdump" = "xyes" ; then
+ AC_MSG_RESULT(yes)
+else
+ AC_MSG_RESULT(no)
+fi
+
# Enable/disable echld
AC_ARG_ENABLE(echld,
AC_HELP_STRING( [--enable-echld],
AM_CONDITIONAL(HAVE_LIBPORTAUDIO, test x$want_portaudio = xyes)
-dnl ipv6 check
-AC_ARG_ENABLE(ipv6,
- 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_WIRESHARK_IPV6_STACK
-fi
-
-
dnl Check if dumpcap should be installed with filesystem capabilities
AC_PATH_PROG(SETCAP, setcap)
AC_ARG_ENABLE(setcap-install,
fi
AC_SUBST(GEOIP_LIBS)
+dnl LIBSSH Check
+LIBSSH=''
+AC_MSG_CHECKING(whether to use the libssh library if available)
+
+AC_ARG_WITH(ssh,
+ AC_HELP_STRING( [--with-libssh@<:@=DIR@:>@],
+ [use libssh (located in directory DIR, if supplied) @<:@default=yes, if present@:>@]),
+[
+if test "x$withval" = "xno"; then
+ want_libssh=no
+elif test "x$withval" = "xyes"; then
+ want_libssh=yes
+elif test -d "$withval"; then
+ want_libssh=yes
+ AC_WIRESHARK_ADD_DASH_L(LDFLAGS, ${withval}/lib)
+fi
+])
+if test "x$want_libssh" = "xno"; then
+ AC_MSG_RESULT(no)
+else
+ AC_MSG_RESULT(yes)
+ AC_WIRESHARK_LIBSSH_CHECK
+fi
+AC_SUBST(LIBSSH_LIBS)
+
#
# Define WS_MSVC_NORETURN appropriately for declarations of routines that
# never return (just like Charlie on the MTA).
fi
AC_SUBST(extcapdir)
+if test "x$enable_sshdump" = "xyes" ; then
+ if test "x$have_good_libssh" = "xyes" ; then
+ sshdump_bin="sshdump\$(EXEEXT)"
+ sshdump_man="sshdump.1"
+ else
+ echo "Can't find libssh. Disabling sshdump."
+ enable_sshdump=no
+ sshdump_bin=""
+ sshdump_man=""
+ fi
+else
+ sshdump_bin=""
+ sshdump_man=""
+fi
+AC_SUBST(sshdump_bin)
+AC_SUBST(sshdump_man)
+
dnl libtool defs
#
# Yes, AM_PROG_LIBTOOL is redundant with newer version(s) of some tool(s)
RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with qt"
fi
else
- RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt"
+ RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --without qt --without qt5"
fi
if test "x$have_lua" = "xyes" ; then
RPMBUILD_WITH_ARGS="$RPMBUILD_WITH_ARGS --with lua"
gtk_lib_message=" (with GTK+ 2"
fi
if test "x$have_ige_mac" = "xyes"; then
- gtk_lib_message="$gtk_lib_message and Mac OS X integration)"
+ gtk_lib_message="$gtk_lib_message and OS X integration)"
else
gtk_lib_message="$gtk_lib_message)"
fi
geoip_message="no"
fi
+if test "x$have_good_libssh" = "xyes" ; then
+ libssh_message="yes"
+else
+ libssh_message="no"
+fi
+
+if test "x$have_ssh_userauth_agent" = "xyes" ; then
+ ssh_userauth_agent_message="yes"
+else
+ ssh_userauth_agent_message="no"
+fi
+
echo ""
echo "The Wireshark package has been configured with the following options."
echo " Build wireshark : $enable_wireshark_qt$qt_lib_message"
echo " Build dftest : $enable_dftest"
echo " Build rawshark : $enable_rawshark"
echo " Build androiddump : $enable_androiddump"
+echo " Build sshdump : $enable_sshdump"
echo " Build echld : $have_echld"
echo ""
echo " Save files as pcap-ng by default : $enable_pcap_ng_default"
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"
echo " Use gnutls library : $tls_message"
echo " Use POSIX capabilities library : $libcap_message"
echo " Use GeoIP library : $geoip_message"
+echo " Use libssh library : $libssh_message"
+echo " Have ssh_userauth_agent : $ssh_userauth_agent_message"
echo " Use nl library : $libnl_message"
echo " Use SBC codec library : $have_sbc"
+#echo " Use GResource : $have_gresource"