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_NSS
LIBVIRT_ARG_PM_UTILS LIBVIRT_ARG_PM_UTILS
LIBVIRT_ARG_SANLOCK
LIBVIRT_ARG_SASL LIBVIRT_ARG_SASL
LIBVIRT_ARG_SELINUX LIBVIRT_ARG_SELINUX
LIBVIRT_ARG_UDEV LIBVIRT_ARG_UDEV
@ -121,7 +120,6 @@ LIBVIRT_ARG_YAJL
LIBVIRT_CHECK_NWFILTER LIBVIRT_CHECK_NWFILTER
LIBVIRT_CHECK_PM_UTILS LIBVIRT_CHECK_PM_UTILS
LIBVIRT_CHECK_PTHREAD LIBVIRT_CHECK_PTHREAD
LIBVIRT_CHECK_SANLOCK
LIBVIRT_CHECK_SASL LIBVIRT_CHECK_SASL
LIBVIRT_CHECK_SELINUX LIBVIRT_CHECK_SELINUX
LIBVIRT_CHECK_UDEV LIBVIRT_CHECK_UDEV
@ -409,7 +407,6 @@ LIBVIRT_RESULT_LIBXL
LIBVIRT_RESULT_NSS LIBVIRT_RESULT_NSS
LIBVIRT_RESULT_PM_UTILS LIBVIRT_RESULT_PM_UTILS
LIBVIRT_RESULT_RBD LIBVIRT_RESULT_RBD
LIBVIRT_RESULT_SANLOCK
LIBVIRT_RESULT_SASL LIBVIRT_RESULT_SASL
LIBVIRT_RESULT_SELINUX LIBVIRT_RESULT_SELINUX
LIBVIRT_RESULT_UDEV 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) conf.set('WITH_READLINE', 1)
endif 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 # generic build dependencies checks
@ -1430,6 +1442,7 @@ libs_summary = {
'polkit': conf.has('WITH_POLKIT'), 'polkit': conf.has('WITH_POLKIT'),
'rbd': rbd_dep.found(), 'rbd': rbd_dep.found(),
'readline': readline_dep.found(), 'readline': readline_dep.found(),
'sanlock': conf.has('WITH_SANLOCK'),
} }
summary(libs_summary, section: 'Libraries', bool_yn: true) 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('pciaccess', type: 'feature', value: 'auto', description: 'pciaccess support')
option('polkit', type: 'feature', value: 'auto', description: 'use PolicyKit for UNIX socket access checks') option('polkit', type: 'feature', value: 'auto', description: 'use PolicyKit for UNIX socket access checks')
option('readline', type: 'feature', value: 'auto', description: 'readline support') option('readline', type: 'feature', value: 'auto', description: 'readline support')
option('sanlock', type: 'feature', value: 'auto', description: 'sanlock support')
# build driver options # build driver options