[libvirt PATCH 069/351] meson: add sanlock build option

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:55:05 UTC 2020


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 configure.ac       |  3 ---
 m4/virt-sanlock.m4 | 47 ----------------------------------------------
 meson.build        | 13 +++++++++++++
 meson_options.txt  |  1 +
 4 files changed, 14 insertions(+), 50 deletions(-)
 delete mode 100644 m4/virt-sanlock.m4

diff --git a/configure.ac b/configure.ac
index 359bfe4fa54..97b0f6c4bb8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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
@@ -411,7 +409,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
index eb05ab6934b..00000000000
--- a/m4/virt-sanlock.m4
+++ /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])
-])
diff --git a/meson.build b/meson.build
index d272b5cca05..1bdca816379 100644
--- a/meson.build
+++ b/meson.build
@@ -1310,6 +1310,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
 
@@ -1412,6 +1424,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)
 
diff --git a/meson_options.txt b/meson_options.txt
index 3dfe4ca0166..964fe5e8aea 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -35,3 +35,4 @@ 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')
-- 
2.26.2




More information about the libvir-list mailing list