configure: move storage RBD check to its own file

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina 2016-12-07 15:44:08 +01:00
parent dfa5820b67
commit 173f8a2f7b
2 changed files with 53 additions and 24 deletions

View File

@ -562,7 +562,7 @@ LIBVIRT_STORAGE_ARG_ISCSI
LIBVIRT_STORAGE_ARG_SCSI LIBVIRT_STORAGE_ARG_SCSI
LIBVIRT_STORAGE_ARG_MPATH LIBVIRT_STORAGE_ARG_MPATH
LIBVIRT_STORAGE_ARG_DISK LIBVIRT_STORAGE_ARG_DISK
LIBVIRT_ARG_WITH([STORAGE_RBD], [RADOS Block Device backend for the storage driver], [check]) LIBVIRT_STORAGE_ARG_RBD
LIBVIRT_ARG_WITH([STORAGE_SHEEPDOG], [with Sheepdog backend for the storage driver], [check]) LIBVIRT_ARG_WITH([STORAGE_SHEEPDOG], [with Sheepdog backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_GLUSTER], [Gluster backend for the storage driver], [check]) LIBVIRT_ARG_WITH([STORAGE_GLUSTER], [Gluster backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_ZFS], [ZFS backend for the storage driver], [check]) LIBVIRT_ARG_WITH([STORAGE_ZFS], [ZFS backend for the storage driver], [check])
@ -594,24 +594,9 @@ LIBVIRT_STORAGE_CHECK_LVM
LIBVIRT_STORAGE_CHECK_ISCSI LIBVIRT_STORAGE_CHECK_ISCSI
LIBVIRT_STORAGE_CHECK_SCSI LIBVIRT_STORAGE_CHECK_SCSI
LIBVIRT_STORAGE_CHECK_MPATH LIBVIRT_STORAGE_CHECK_MPATH
LIBVIRT_STORAGE_CHECK_RBD
LIBRBD_LIBS=
if test "$with_storage_rbd" = "yes" || test "$with_storage_rbd" = "check"; then
AC_CHECK_HEADER([rbd/librbd.h], [LIBRBD_FOUND=yes; break;])
if test "$LIBRBD_FOUND" = "yes"; then
with_storage_rbd=yes
LIBRBD_LIBS="-lrbd -lrados"
AC_DEFINE_UNQUOTED([WITH_STORAGE_RBD], [1],
[whether RBD backend for storage driver is enabled])
else
with_storage_rbd=no
fi
fi
AM_CONDITIONAL([WITH_STORAGE_RBD], [test "$with_storage_rbd" = "yes"])
AC_SUBST([LIBRBD_LIBS])
if test "$with_storage_sheepdog" = "yes" || if test "$with_storage_sheepdog" = "yes" ||
test "$with_storage_sheepdog" = "check"; then test "$with_storage_sheepdog" = "check"; then
AC_PATH_PROGS([SHEEPDOGCLI], [collie dog], [], [$LIBVIRT_SBIN_PATH]) AC_PATH_PROGS([SHEEPDOGCLI], [collie dog], [], [$LIBVIRT_SBIN_PATH])
@ -1019,7 +1004,7 @@ LIBVIRT_STORAGE_RESULT_ISCSI
LIBVIRT_STORAGE_RESULT_SCSI LIBVIRT_STORAGE_RESULT_SCSI
LIBVIRT_STORAGE_RESULT_MPATH LIBVIRT_STORAGE_RESULT_MPATH
LIBVIRT_STORAGE_RESULT_DISK LIBVIRT_STORAGE_RESULT_DISK
AC_MSG_NOTICE([ RBD: $with_storage_rbd]) LIBVIRT_STORAGE_RESULT_RBD
AC_MSG_NOTICE([Sheepdog: $with_storage_sheepdog]) AC_MSG_NOTICE([Sheepdog: $with_storage_sheepdog])
AC_MSG_NOTICE([ Gluster: $with_storage_gluster]) AC_MSG_NOTICE([ Gluster: $with_storage_gluster])
AC_MSG_NOTICE([ ZFS: $with_storage_zfs]) AC_MSG_NOTICE([ ZFS: $with_storage_zfs])
@ -1062,6 +1047,7 @@ LIBVIRT_RESULT_OPENWSMAN
LIBVIRT_RESULT_PCIACCESS LIBVIRT_RESULT_PCIACCESS
LIBVIRT_RESULT_PM_UTILS LIBVIRT_RESULT_PM_UTILS
LIBVIRT_RESULT_POLKIT LIBVIRT_RESULT_POLKIT
LIBVIRT_RESULT_RBD
LIBVIRT_RESULT_READLINE LIBVIRT_RESULT_READLINE
LIBVIRT_RESULT_SANLOCK LIBVIRT_RESULT_SANLOCK
LIBVIRT_RESULT_SASL LIBVIRT_RESULT_SASL
@ -1073,12 +1059,6 @@ LIBVIRT_RESULT_XDR
LIBVIRT_RESULT_XEN LIBVIRT_RESULT_XEN
LIBVIRT_RESULT_XENAPI LIBVIRT_RESULT_XENAPI
LIBVIRT_RESULT_YAJL LIBVIRT_RESULT_YAJL
if test "$with_storage_rbd" = "yes" ; then
AC_MSG_NOTICE([ rbd: $LIBRBD_LIBS])
else
AC_MSG_NOTICE([ rbd: no])
fi
AC_MSG_NOTICE([]) AC_MSG_NOTICE([])
AC_MSG_NOTICE([Windows]) AC_MSG_NOTICE([Windows])
AC_MSG_NOTICE([]) AC_MSG_NOTICE([])

49
m4/virt-storage-rbd.m4 Normal file
View File

@ -0,0 +1,49 @@
dnl The storage RBD check
dnl
dnl Copyright (C) 2016 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_STORAGE_ARG_RBD], [
LIBVIRT_ARG_WITH([STORAGE_RBD],
[RADOS Block Device backend for the storage driver], [check])
])
AC_DEFUN([LIBVIRT_STORAGE_CHECK_RBD], [
LIBRBD_LIBS=
if test "$with_storage_rbd" = "yes" || test "$with_storage_rbd" = "check"; then
AC_CHECK_HEADER([rbd/librbd.h], [LIBRBD_FOUND=yes; break;])
if test "$LIBRBD_FOUND" = "yes"; then
with_storage_rbd=yes
LIBRBD_LIBS="-lrbd -lrados"
AC_DEFINE_UNQUOTED([WITH_STORAGE_RBD], [1],
[whether RBD backend for storage driver is enabled])
else
with_storage_rbd=no
fi
fi
AM_CONDITIONAL([WITH_STORAGE_RBD], [test "$with_storage_rbd" = "yes"])
AC_SUBST([LIBRBD_LIBS])
])
AC_DEFUN([LIBVIRT_STORAGE_RESULT_RBD], [
LIBVIRT_RESULT([RBD], [$with_storage_dir])
])
AC_DEFUN([LIBVIRT_RESULT_RBD], [
LIBVIRT_RESULT([rbd], [$with_storage_rbd], [CFLAGS='' LIBS='$LIBRBD_LIBS'])
])