[libvirt] [PATCH 85/89] configure: move storage RBD check to its own file

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


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

diff --git a/configure.ac b/configure.ac
index 0854bc8195..70e281d1dd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -562,7 +562,7 @@ LIBVIRT_STORAGE_ARG_ISCSI
 LIBVIRT_STORAGE_ARG_SCSI
 LIBVIRT_STORAGE_ARG_MPATH
 LIBVIRT_STORAGE_ARG_DISK
-LIBVIRT_ARG_WITH([STORAGE_RBD], [RADOS Block Device backend for the storage driver], [check])
+LIBVIRT_STORAGE_ARG_RBD
 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])
 LIBVIRT_ARG_WITH([STORAGE_ZFS], [ZFS backend for the storage driver], [check])
@@ -594,24 +594,9 @@ LIBVIRT_STORAGE_CHECK_LVM
 LIBVIRT_STORAGE_CHECK_ISCSI
 LIBVIRT_STORAGE_CHECK_SCSI
 LIBVIRT_STORAGE_CHECK_MPATH
+LIBVIRT_STORAGE_CHECK_RBD
 
 
-LIBRBD_LIBS=
-if test "$with_storage_rbd" = "yes" || test "$with_storage_rbd" = "check"; then
-    AC_CHECK_HEADER([rbd/librbd.h], [LIBRBD_FOUND=yes; break;])
-
-    if test "$LIBRBD_FOUND" = "yes"; then
-        with_storage_rbd=yes
-        LIBRBD_LIBS="-lrbd -lrados"
-        AC_DEFINE_UNQUOTED([WITH_STORAGE_RBD], [1],
-         [whether RBD backend for storage driver is enabled])
-    else
-        with_storage_rbd=no
-    fi
-fi
-AM_CONDITIONAL([WITH_STORAGE_RBD], [test "$with_storage_rbd" = "yes"])
-AC_SUBST([LIBRBD_LIBS])
-
 if test "$with_storage_sheepdog" = "yes" ||
    test "$with_storage_sheepdog" = "check"; then
   AC_PATH_PROGS([SHEEPDOGCLI], [collie dog], [], [$LIBVIRT_SBIN_PATH])
@@ -1019,7 +1004,7 @@ LIBVIRT_STORAGE_RESULT_ISCSI
 LIBVIRT_STORAGE_RESULT_SCSI
 LIBVIRT_STORAGE_RESULT_MPATH
 LIBVIRT_STORAGE_RESULT_DISK
-AC_MSG_NOTICE([     RBD: $with_storage_rbd])
+LIBVIRT_STORAGE_RESULT_RBD
 AC_MSG_NOTICE([Sheepdog: $with_storage_sheepdog])
 AC_MSG_NOTICE([ Gluster: $with_storage_gluster])
 AC_MSG_NOTICE([     ZFS: $with_storage_zfs])
@@ -1062,6 +1047,7 @@ LIBVIRT_RESULT_OPENWSMAN
 LIBVIRT_RESULT_PCIACCESS
 LIBVIRT_RESULT_PM_UTILS
 LIBVIRT_RESULT_POLKIT
+LIBVIRT_RESULT_RBD
 LIBVIRT_RESULT_READLINE
 LIBVIRT_RESULT_SANLOCK
 LIBVIRT_RESULT_SASL
@@ -1073,12 +1059,6 @@ LIBVIRT_RESULT_XDR
 LIBVIRT_RESULT_XEN
 LIBVIRT_RESULT_XENAPI
 LIBVIRT_RESULT_YAJL
-if test "$with_storage_rbd" = "yes" ; then
-AC_MSG_NOTICE([     rbd: $LIBRBD_LIBS])
-else
-AC_MSG_NOTICE([     rbd: no])
-fi
-
 AC_MSG_NOTICE([])
 AC_MSG_NOTICE([Windows])
 AC_MSG_NOTICE([])
diff --git a/m4/virt-storage-rbd.m4 b/m4/virt-storage-rbd.m4
new file mode 100644
index 0000000000..6569bb4d32
--- /dev/null
+++ b/m4/virt-storage-rbd.m4
@@ -0,0 +1,49 @@
+dnl The storage RBD 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_RBD], [
+  LIBVIRT_ARG_WITH([STORAGE_RBD],
+                   [RADOS Block Device backend for the storage driver], [check])
+])
+
+AC_DEFUN([LIBVIRT_STORAGE_CHECK_RBD], [
+  LIBRBD_LIBS=
+  if test "$with_storage_rbd" = "yes" || test "$with_storage_rbd" = "check"; then
+    AC_CHECK_HEADER([rbd/librbd.h], [LIBRBD_FOUND=yes; break;])
+
+    if test "$LIBRBD_FOUND" = "yes"; then
+      with_storage_rbd=yes
+      LIBRBD_LIBS="-lrbd -lrados"
+      AC_DEFINE_UNQUOTED([WITH_STORAGE_RBD], [1],
+                         [whether RBD backend for storage driver is enabled])
+    else
+      with_storage_rbd=no
+    fi
+  fi
+  AM_CONDITIONAL([WITH_STORAGE_RBD], [test "$with_storage_rbd" = "yes"])
+  AC_SUBST([LIBRBD_LIBS])
+])
+
+AC_DEFUN([LIBVIRT_STORAGE_RESULT_RBD], [
+  LIBVIRT_RESULT([RBD], [$with_storage_dir])
+])
+
+AC_DEFUN([LIBVIRT_RESULT_RBD], [
+  LIBVIRT_RESULT([rbd], [$with_storage_rbd], [CFLAGS='' LIBS='$LIBRBD_LIBS'])
+])
-- 
2.11.0




More information about the libvir-list mailing list