configure: move storage mpath check to its own file

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina 2016-12-12 18:21:11 +01:00
parent 0a5af1b93c
commit c5241454dd
2 changed files with 57 additions and 19 deletions

View File

@ -560,7 +560,7 @@ LIBVIRT_STORAGE_ARG_FS
LIBVIRT_STORAGE_ARG_LVM
LIBVIRT_STORAGE_ARG_ISCSI
LIBVIRT_STORAGE_ARG_SCSI
LIBVIRT_ARG_WITH([STORAGE_MPATH], [mpath backend for the storage driver], [check])
LIBVIRT_STORAGE_ARG_MPATH
LIBVIRT_ARG_WITH([STORAGE_DISK], [GPartd Disk backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_RBD], [RADOS Block Device backend for the storage driver], [check])
LIBVIRT_ARG_WITH([STORAGE_SHEEPDOG], [with Sheepdog backend for the storage driver], [check])
@ -593,23 +593,9 @@ LIBVIRT_STORAGE_CHECK_FS
LIBVIRT_STORAGE_CHECK_LVM
LIBVIRT_STORAGE_CHECK_ISCSI
LIBVIRT_STORAGE_CHECK_SCSI
LIBVIRT_STORAGE_CHECK_MPATH
if test "$with_storage_mpath" = "check" || test "$with_storage_mpath" = "yes"; then
if test "$with_linux" = "yes"; then
with_storage_mpath=yes
AC_DEFINE_UNQUOTED([WITH_STORAGE_MPATH], 1,
[whether mpath backend for storage driver is enabled])
else
if test "$with_storage_mpath" = "yes"; then
AC_MSG_ERROR([mpath storage is only supported on Linux])
fi
with_storage_mpath=no
fi
fi
AM_CONDITIONAL([WITH_STORAGE_MPATH], [test "$with_storage_mpath" = "yes"])
LIBRBD_LIBS=
if test "$with_storage_rbd" = "yes" || test "$with_storage_rbd" = "check"; then
AC_CHECK_HEADER([rbd/librbd.h], [LIBRBD_FOUND=yes; break;])
@ -725,8 +711,7 @@ if test "$with_storage_disk" = "yes" ||
fi
AM_CONDITIONAL([WITH_STORAGE_DISK], [test "$with_storage_disk" = "yes"])
if test "$with_storage_mpath" = "yes" ||
test "$with_storage_disk" = "yes"; then
if test "$with_storage_disk" = "yes"; then
if test "$with_devmapper" = "no" ; then
AC_MSG_ERROR([You must install device-mapper-devel/libdevmapper >= $DEVMAPPER_REQUIRED to compile libvirt])
fi
@ -1058,7 +1043,7 @@ LIBVIRT_STORAGE_RESULT_FS
LIBVIRT_STORAGE_RESULT_LVM
LIBVIRT_STORAGE_RESULT_ISCSI
LIBVIRT_STORAGE_RESULT_SCSI
AC_MSG_NOTICE([ mpath: $with_storage_mpath])
LIBVIRT_STORAGE_RESULT_MPATH
AC_MSG_NOTICE([ Disk: $with_storage_disk])
AC_MSG_NOTICE([ RBD: $with_storage_rbd])
AC_MSG_NOTICE([Sheepdog: $with_storage_sheepdog])

53
m4/virt-storage-mpath.m4 Normal file
View File

@ -0,0 +1,53 @@
dnl The storage mpath 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_MPATH], [
LIBVIRT_ARG_WITH([STORAGE_MPATH], [mpath backend for the storage driver],
[check])
])
AC_DEFUN([LIBVIRT_STORAGE_CHECK_MPATH], [
AC_REQUIRE([LIBVIRT_CHECK_DEVMAPPER])
if test "$with_storage_mpath" = "check" || test "$with_storage_mpath" = "yes"; then
if test "$with_linux" = "yes"; then
with_storage_mpath=yes
AC_DEFINE_UNQUOTED([WITH_STORAGE_MPATH], 1,
[whether mpath backend for storage driver is enabled])
else
if test "$with_storage_mpath" = "yes"; then
AC_MSG_ERROR([mpath storage is only supported on Linux])
fi
with_storage_mpath=no
fi
fi
if test "x$with_storage_mpath" = "xyes"; then
if test "x$with_devmapper" = "xno"; then
AC_MSG_ERROR([You must install device-mapper-devel/libdevmapper to compile libvirt with mpath storage driver])
fi
fi
AM_CONDITIONAL([WITH_STORAGE_MPATH], [test "$with_storage_mpath" = "yes"])
])
AC_DEFUN([LIBVIRT_STORAGE_RESULT_MPATH], [
LIBVIRT_RESULT([mpath], [$with_storage_mpath])
])