]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: add sanlock build option
authorPavel Hrdina <phrdina@redhat.com>
Wed, 29 Jul 2020 12:21:00 +0000 (14:21 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:00 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
configure.ac
m4/virt-sanlock.m4 [deleted file]
meson.build
meson_options.txt

index a9c4e3144b1bce273a41d0a47ff20c4af2d65bf5..317725bed973fc9997f0b7c5d2f3830f1a30ff39 100644 (file)
@@ -110,7 +110,6 @@ fi
 
 LIBVIRT_ARG_NSS
 LIBVIRT_ARG_PM_UTILS
-LIBVIRT_ARG_SANLOCK
 LIBVIRT_ARG_SASL
 LIBVIRT_ARG_SELINUX
 LIBVIRT_ARG_UDEV
@@ -121,7 +120,6 @@ LIBVIRT_ARG_YAJL
 LIBVIRT_CHECK_NWFILTER
 LIBVIRT_CHECK_PM_UTILS
 LIBVIRT_CHECK_PTHREAD
-LIBVIRT_CHECK_SANLOCK
 LIBVIRT_CHECK_SASL
 LIBVIRT_CHECK_SELINUX
 LIBVIRT_CHECK_UDEV
@@ -409,7 +407,6 @@ LIBVIRT_RESULT_LIBXL
 LIBVIRT_RESULT_NSS
 LIBVIRT_RESULT_PM_UTILS
 LIBVIRT_RESULT_RBD
-LIBVIRT_RESULT_SANLOCK
 LIBVIRT_RESULT_SASL
 LIBVIRT_RESULT_SELINUX
 LIBVIRT_RESULT_UDEV
diff --git a/m4/virt-sanlock.m4 b/m4/virt-sanlock.m4
deleted file mode 100644 (file)
index eb05ab6..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-dnl The libsanlock_client.so library
-dnl
-dnl Copyright (C) 2012-2013 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_ARG_SANLOCK],[
-  LIBVIRT_ARG_WITH_FEATURE([SANLOCK], [sanlock-client], [check])
-])
-
-AC_DEFUN([LIBVIRT_CHECK_SANLOCK],[
-  LIBVIRT_CHECK_PKG([SANLOCK], [libsanlock_client], [3.2.4])
-
-  if test "x$with_sanlock" = "xyes" ; then
-    old_cppflags="$CPPFLAGS"
-    old_libs="$LIBS"
-    CPPFLAGS="$CPPFLAGS $SANLOCK_CFLAGS"
-    LIBS="$LIBS $SANLOCK_LIBS"
-
-    AC_CHECK_LIB([sanlock_client], [sanlock_strerror],
-                 [sanlock_strerror=yes], [sanlock_strerror=no])
-    if test "x$sanlock_strerror" = "xyes" ; then
-      AC_DEFINE_UNQUOTED([HAVE_SANLOCK_STRERROR], 1,
-        [whether sanlock supports sanlock_strerror])
-    fi
-
-    CPPFLAGS="$old_cppflags"
-    LIBS="$old_libs"
-  fi
-])
-
-AC_DEFUN([LIBVIRT_RESULT_SANLOCK],[
-  LIBVIRT_RESULT_LIB([SANLOCK])
-])
index 10bbcff9b973c3f3f133804773a6da5237c80c08..cd21842553a7d05270d6758ea710773902a1d643 100644 (file)
@@ -1328,6 +1328,18 @@ if readline_dep.found()
   conf.set('WITH_READLINE', 1)
 endif
 
+if not get_option('sanlock').disabled()
+  sanlock_dep = dependency('libsanlock_client', required: false)
+
+  if sanlock_dep.found()
+    conf.set('WITH_SANLOCK', 1)
+    # check for sanlock_strerror introduced in sanlock-3.5.0
+    if cc.has_function('sanlock_strerror', dependencies: sanlock_dep)
+      conf.set('HAVE_SANLOCK_STRERROR', 1)
+    endif
+  endif
+endif
+
 
 # generic build dependencies checks
 
@@ -1430,6 +1442,7 @@ libs_summary = {
   'polkit': conf.has('WITH_POLKIT'),
   'rbd': rbd_dep.found(),
   'readline': readline_dep.found(),
+  'sanlock': conf.has('WITH_SANLOCK'),
 }
 summary(libs_summary, section: 'Libraries', bool_yn: true)
 
index 3c75975ee3d9414e2340e665a331d172ea1e9fa8..cf2f73091646a157c898eb890363db1cb2509b79 100644 (file)
@@ -36,6 +36,7 @@ option('openwsman', type: 'feature', value: 'auto', description: 'openwsman supp
 option('pciaccess', type: 'feature', value: 'auto', description: 'pciaccess support')
 option('polkit', type: 'feature', value: 'auto', description: 'use PolicyKit for UNIX socket access checks')
 option('readline', type: 'feature', value: 'auto', description: 'readline support')
+option('sanlock', type: 'feature', value: 'auto', description: 'sanlock support')
 
 
 # build driver options