[libvirt] [PATCH 83/89] configure: move storage mpath check to its own file

Pavel Hrdina phrdina at redhat.com
Fri Dec 16 09:11:51 UTC 2016


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 configure.ac             | 23 ++++-----------------
 m4/virt-storage-mpath.m4 | 53 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 19 deletions(-)
 create mode 100644 m4/virt-storage-mpath.m4

diff --git a/configure.ac b/configure.ac
index 8952247c97..b5f5785e2f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -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])
diff --git a/m4/virt-storage-mpath.m4 b/m4/virt-storage-mpath.m4
new file mode 100644
index 0000000000..b20d0860f9
--- /dev/null
+++ b/m4/virt-storage-mpath.m4
@@ -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])
+])
-- 
2.11.0




More information about the libvir-list mailing list