From dfa5820b672e93181b1e09fc216d601882f20028 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 12 Dec 2016 18:21:51 +0100 Subject: [PATCH] configure: move storage disk check to its own file Signed-off-by: Pavel Hrdina --- 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 15816654a0..9f6c178849 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 . +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]) +]) -- GitLab