meson: add sanlock build option

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-07-29 14:21:00 +02:00
parent 59610e5336
commit b01d50e44e
4 changed files with 14 additions and 50 deletions

View 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

View File

@ -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])
])

View 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)

View 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