Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
configure.ac | 32 +++------------------------
m4/virt-storage-disk.m4 | 58 +++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 61 insertions(+), 29 deletions(-)
create mode 100644 m4/virt-storage-disk.m4
diff --git a/configure.ac b/configure.ac
index b5f5785e2f..0854bc8195 100644
--- a/configure.ac
+++ b/configure.ac
@@ -561,7 +561,7 @@ LIBVIRT_STORAGE_ARG_LVM
LIBVIRT_STORAGE_ARG_ISCSI
LIBVIRT_STORAGE_ARG_SCSI
LIBVIRT_STORAGE_ARG_MPATH
-LIBVIRT_ARG_WITH([STORAGE_DISK], [GPartd Disk backend for the storage driver], [check])
+LIBVIRT_STORAGE_ARG_DISK
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])
LIBVIRT_ARG_WITH([STORAGE_GLUSTER], [Gluster backend for the storage driver], [check])
@@ -689,33 +689,7 @@ if test "$with_storage_fs" = "yes" ||
fi
fi
-if test "$with_storage_disk" = "yes" ||
- test "$with_storage_disk" = "check"; then
- if test "$with_storage_disk" = "yes" &&
- test "$with_libparted" != "yes"; then
- AC_MSG_ERROR([Need parted for disk storage driver])
- fi
-
- if test "$with_storage_disk" = "check"; then
- if test "$with_libparted" != "yes"; then
- with_storage_disk=no
- else
- with_storage_disk=yes
- fi
- fi
-
- if test "$with_storage_disk" = "yes"; then
- AC_DEFINE_UNQUOTED([WITH_STORAGE_DISK], 1,
- [whether Disk backend for storage driver is enabled])
- fi
-fi
-AM_CONDITIONAL([WITH_STORAGE_DISK], [test "$with_storage_disk" =
"yes"])
-
-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
-fi
+LIBVIRT_STORAGE_CHECK_DISK
with_storage=no
for backend in dir fs lvm iscsi scsi mpath rbd disk; do
@@ -1044,7 +1018,7 @@ LIBVIRT_STORAGE_RESULT_LVM
LIBVIRT_STORAGE_RESULT_ISCSI
LIBVIRT_STORAGE_RESULT_SCSI
LIBVIRT_STORAGE_RESULT_MPATH
-AC_MSG_NOTICE([ Disk: $with_storage_disk])
+LIBVIRT_STORAGE_RESULT_DISK
AC_MSG_NOTICE([ RBD: $with_storage_rbd])
AC_MSG_NOTICE([Sheepdog: $with_storage_sheepdog])
AC_MSG_NOTICE([ Gluster: $with_storage_gluster])
diff --git a/m4/virt-storage-disk.m4 b/m4/virt-storage-disk.m4
new file mode 100644
index 0000000000..3c4c848ccd
--- /dev/null
+++ b/m4/virt-storage-disk.m4
@@ -0,0 +1,58 @@
+dnl The storage disk 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_DISK], [
+ LIBVIRT_ARG_WITH([STORAGE_DISK], [GPartd Disk backend for the storage driver],
+ [check])
+])
+
+AC_DEFUN([LIBVIRT_STORAGE_CHECK_DISK], [
+ AC_REQUIRE([LIBVIRT_CHECK_DEVMAPPER])
+ AC_REQUIRE([LIBVIRT_CHECK_LIBPARTED])
+
+ if test "$with_storage_disk" = "yes" ||
+ test "$with_storage_disk" = "check"; then
+
+ if test "$with_storage_disk" = "yes" &&
+ test "$with_libparted" != "yes"; then
+ AC_MSG_ERROR([Need parted for disk storage driver])
+ fi
+
+ if test "$with_storage_disk" = "check"; then
+ with_storage_disk="$with_libparted"
+ fi
+
+ if test "$with_storage_disk" = "yes"; then
+ AC_DEFINE_UNQUOTED([WITH_STORAGE_DISK], 1,
+ [whether Disk backend for storage driver is enabled])
+ fi
+ fi
+
+ if test "x$with_storage_disk" = "xyes"; then
+ if test "x$with_devmapper" = "xno"; then
+ AC_MSG_ERROR([You must install device-mapper-devel/libdevmapper to compile libvirt
with disk storage driver])
+ fi
+ fi
+
+ AM_CONDITIONAL([WITH_STORAGE_DISK], [test "$with_storage_disk" =
"yes"])
+])
+
+AC_DEFUN([LIBVIRT_STORAGE_RESULT_DISK], [
+ LIBVIRT_RESULT([Disk], [$with_storage_disk])
+])
--
2.11.0