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