LIBVIRT_CHECK_SSH2
LIBVIRT_CHECK_SYSTEMD_DAEMON
LIBVIRT_CHECK_UDEV
+LIBVIRT_CHECK_WIRESHARK
LIBVIRT_CHECK_YAJL
AC_MSG_CHECKING([for CPUID instruction])
AC_SUBST([LIBNL_CFLAGS])
AC_SUBST([LIBNL_LIBS])
-dnl wireshark dissector
-
-AC_ARG_WITH([wireshark-dissector],
- [AS_HELP_STRING([--with-wireshark-dissector],
- [enable wireshark dissector plugin support @<:@default=check@:>@])],
- [ with_wireshark_dissector=$withval ],
- [ with_wireshark_dissector=check ])
-
-AC_DEFUN([LIBVIRT_WS_HANDLE_ERROR], [
- if test "$with_wireshark_dissector" = "yes"; then
- AC_MSG_ERROR([$1])
- else
- with_wireshark_dissector=no
- fi
-])
-if test "$with_wireshark_dissector" != "no"; then
- dnl Check for XDR headers existence
- AC_CHECK_HEADERS([rpc/types.h])
-
- dnl Check for glib-2.0 existence
- PKG_CHECK_MODULES([GLIB], [glib-2.0], [
- WS_DISSECTOR_CPPFLAGS="$WS_DISSECTOR_CPPFLAGS `$PKG_CONFIG --cflags glib-2.0`"
- ], [
- LIBVIRT_WS_HANDLE_ERROR([pkg-config 'glib-2.0' is required for wireshark-dissector support])
- ])
-
- dnl Search for wireshark(or tshark) command
- AC_PATH_PROG([WIRESHARK], [wireshark])
- AC_PATH_PROG([WIRESHARK], [tshark])
- if test -z "$WIRESHARK"; then
- LIBVIRT_WS_HANDLE_ERROR([command not found wireshark or tshark])
- else
- dnl Check for wireshark headers
- save_CPPFLAGS="$CPPFLAGS"
- WS_DISSECTOR_CPPFLAGS="$WS_DISSECTOR_CPPFLAGS -I`dirname $WIRESHARK`/../include/wireshark"
- CPPFLAGS="$CPPFLAGS $WS_DISSECTOR_CPPFLAGS"
- AC_CHECK_HEADERS([wireshark/config.h],, [
- LIBVIRT_WS_HANDLE_ERROR([wireshark/config.h is required for wireshark-dissector support])
- ])
- AC_CHECK_HEADERS([wireshark/epan/packet.h wireshark/epan/dissectors/packet-tcp.h],, [
- LIBVIRT_WS_HANDLE_ERROR([wireshark/epan/{packet,packet-tcp}.h are required for wireshark-dissector support])
- ], [
- #include <wireshark/config.h>
- ])
- CPPFLAGS="$save_CPPFLAGS"
- fi
- if test "$with_wireshark_dissector" != "no"; then
- with_wireshark_dissector=yes
- fi
-fi
-AC_SUBST([WS_DISSECTOR_CPPFLAGS])
-AM_CONDITIONAL([WITH_WIRESHARK_DISSECTOR], [test "$with_wireshark_dissector" = "yes"])
-
-AC_ARG_WITH([ws-plugindir],
- [AS_HELP_STRING([--with-ws-plugindir],
- [wireshark plugins directory for use when installing wireshark plugin])],
- [ws_plugindir=$withval])
-
-if test "$with_wireshark_dissector" != "no" && test -z "$ws_plugindir"; then
- ws_version=`$WIRESHARK -v | head -1 | cut -f 2 -d' '`
- ws_plugindir="$libdir/wireshark/plugins/$ws_version"
-fi
-AC_SUBST([ws_plugindir])
-
# Check for Linux vs. BSD ifreq members
AC_CHECK_MEMBERS([struct ifreq.ifr_newname,
struct ifreq.ifr_ifindex,
LIBVIRT_RESULT_SSH2
LIBVIRT_RESULT_SYSTEMD_DAEMON
LIBVIRT_RESULT_UDEV
+LIBVIRT_RESULT_WIRESHARK
LIBVIRT_RESULT_YAJL
AC_MSG_NOTICE([ libxml: $LIBXML_CFLAGS $LIBXML_LIBS])
AC_MSG_NOTICE([ dlopen: $DLOPEN_LIBS])
--- /dev/null
+dnl The libvirt.so wireshark plugin
+dnl
+dnl Copyright (C) 2015 Red Hat, Inc.
+dnl
+dnl This library is free software; you can redistribute it and/or
+dnl modify it under the terms of the GNU Lesser General Public
+dnl License as published by the Free Software Foundation; either
+dnl version 2.1 of the License, or (at your option) any later version.
+dnl
+dnl This library is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl Lesser General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU Lesser General Public
+dnl License along with this library. If not, see
+dnl <http://www.gnu.org/licenses/>.
+dnl
+
+AC_DEFUN([LIBVIRT_CHECK_WIRESHARK],[
+ LIBVIRT_CHECK_PKG([WIRESHARK_DISSECTOR], [wireshark], [1.11.3])
+
+ AC_ARG_WITH([ws-plugindir],
+ [AS_HELP_STRING([--with-ws-plugindir],
+ [wireshark plugins directory for use when installing wireshark plugin])],
+ [], [with_ws_plugindir=check])
+
+ dnl Check for system location of wireshark plugins
+ if test "x$with_wireshark_dissector" != "xno" ; then
+ if test "x$with_ws_plugindir" = "xcheck" ; then
+ ws_plugindir="$libdir/wireshark/plugins/$($PKG_CONFIG --modversion wireshark)"
+ elif test "x$with_ws_plugindir" = "xno" || test "x$with_ws_plugindir" = "xyes"; then
+ AC_MSG_ERROR([ws-plugindir must be used only with valid path])
+ else
+ ws_plugindir=$with_ws_plugindir
+ fi
+ fi
+
+ AC_SUBST([ws_plugindir])
+])
+
+AC_DEFUN([LIBVIRT_RESULT_WIRESHARK],[
+ LIBVIRT_RESULT_LIB([WIRESHARK_DISSECTOR])
+])