[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen staging] tools: add option to explicitly enable VirtFS in QEMU build



commit 0cc1283094ad8eb6d6e6e3dee12996009b751446
Author:     Paul Durrant <paul.durrant@xxxxxxxxxx>
AuthorDate: Tue Sep 11 16:01:08 2018 +0100
Commit:     Wei Liu <wei.liu2@xxxxxxxxxx>
CommitDate: Wed Sep 19 18:03:43 2018 +0100

    tools: add option to explicitly enable VirtFS in QEMU build
    
    9pfs support has been a documented feature since Xen 4.9, but QEMU will
    not be built with backend support unless VirtFS is enabled, which is
    predicated on the libcap and libattr dev packages being installed. This is
    not obvious to anyone intending to use 9pfs.
    
    This patch adds an 'enable-9pfs' option to configure which, if specified,
    will cause '--enable-virtfs' to be passed to QEMU's configure. This will
    cause the dependency on libcap and libattr to be called out if the packages
    are not in installed.
    
    For completeness, specifying 'disable-9pfs' will cause '--disable-virtfs' to
    be passed to QEMU's confgure and not specifying an option will keep the
    previous behaviour of predicating VirtFS on whether the libcap and libattr
    packages are installed.
    
    Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
    Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
    Acked-by: Wei Liu <wei.liu2@xxxxxxxxxx>
---
 config/Tools.mk.in |  1 +
 tools/Makefile     | 10 +++++++++-
 tools/configure    | 17 ++++++++++++++++-
 tools/configure.ac |  9 ++++++++-
 4 files changed, 34 insertions(+), 3 deletions(-)

diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 0964f6f9e9..bdba087af0 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -62,6 +62,7 @@ SYSTEMD_CFLAGS      := @SYSTEMD_CFLAGS@
 SYSTEMD_LIBS        := @SYSTEMD_LIBS@
 XEN_SYSTEMD_DIR     := @SYSTEMD_DIR@
 XEN_SYSTEMD_MODULES_LOAD := @SYSTEMD_MODULES_LOAD@
+CONFIG_9PFS         := @ninepfs@
 
 LINUX_BACKEND_MODULES := @LINUX_BACKEND_MODULES@
 
diff --git a/tools/Makefile b/tools/Makefile
index 67977ad850..c903d6a63e 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -232,6 +232,13 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
        else \
                enable_trace_backend='' ; \
        fi ; \
+       if [ "$(CONFIG_9PFS)" = "y" ]; then \
+               virtfs='--enable-virtfs' ; \
+       elif [ "$(CONFIG_9PFS)" = "n" ]; then \
+               virtfs='--disable-virtfs' ; \
+       else \
+               virtfs='' ; \
+       fi ; \
        
PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config$${PKG_CONFIG_PATH:+:$${PKG_CONFIG_PATH}}
 \
        $$source/configure --enable-xen --target-list=i386-softmmu \
                $(QEMU_XEN_ENABLE_DEBUG) \
@@ -279,7 +286,8 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
                --python=$(PYTHON) \
                $(CONFIG_QEMUU_EXTRA_ARGS) \
                --cpu=$(IOEMU_CPU_ARCH) \
-               $(IOEMU_CONFIGURE_CROSS); \
+               $(IOEMU_CONFIGURE_CROSS) \
+               $$virtfs; \
        $(MAKE) all
 
 subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir
diff --git a/tools/configure b/tools/configure
index 27c8d054ab..acbcf9eb3e 100755
--- a/tools/configure
+++ b/tools/configure
@@ -624,6 +624,7 @@ ac_includes_default="\
 
 ac_subst_vars='LTLIBOBJS
 LIBOBJS
+ninepfs
 SYSTEMD_LIBS
 SYSTEMD_CFLAGS
 SYSTEMD_MODULES_LOAD
@@ -820,6 +821,7 @@ with_xenstored
 enable_systemd
 with_systemd
 with_systemd_modules_load
+enable_9pfs
 '
       ac_precious_vars='build_alias
 host_alias
@@ -1500,6 +1502,8 @@ Optional Features:
   --disable-ipxe          Enable in-tree IPXE, (DEFAULT is on if rombios is
                           enabled, otherwise off, see also --with-system-ipxe)
   --enable-systemd        Enable systemd support (default is DISABLED)
+  --enable-9pfs           Explicitly enable 9pfs support in QEMU build
+                          (default is to defer to QEMU configure default)
 
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
@@ -9799,6 +9803,18 @@ if test "x$systemd" = "xy"; then :
 
 fi
 
+# Check whether --enable-9pfs was given.
+if test "${enable_9pfs+set}" = set; then :
+  enableval=$enable_9pfs; if test "x$enable_9pfs" = "xyes"; then :
+  ninepfs=y
+else
+  ninepfs=n
+fi
+fi
+
+
+
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -11103,4 +11119,3 @@ if test -n "$ac_unrecognized_opts" && test 
"$enable_option_checking" != no; then
 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
 fi
 
-
diff --git a/tools/configure.ac b/tools/configure.ac
index bca2545280..e7d2e6f4ff 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -486,5 +486,12 @@ AS_IF([test "x$systemd" = "xy"], [
     ])
 ])
 
-AC_OUTPUT()
+AC_ARG_ENABLE([9pfs],
+    AS_HELP_STRING([--enable-9pfs],
+                   [Explicitly enable 9pfs support in QEMU build (default is 
to defer to QEMU configure default)]),
+    [AS_IF([test "x$enable_9pfs" = "xyes"], [ninepfs=y], [ninepfs=n])],[
+])
 
+AC_SUBST(ninepfs)
+
+AC_OUTPUT()
--
generated by git-patchbot for /home/xen/git/xen.git#staging

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/xen-changelog

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.