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@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Wei Liu <wei.liu2@citrix.com>
This commit is contained in:
Paul Durrant authored and Wei Liu committed 2018-09-19 18:03:43 +01:00
1 parent 6e395f477f
commit 0cc1283094
4 files changed
+34 -3

No files matched your search

+1
View File
@@ -62,6 +62,7 @@ SYSTEMD_CFLAGS := @SYSTEMD_CFLAGS@
SYSTEMD_LIBS := @SYSTEMD_LIBS@ SYSTEMD_LIBS := @SYSTEMD_LIBS@
XEN_SYSTEMD_DIR := @SYSTEMD_DIR@ XEN_SYSTEMD_DIR := @SYSTEMD_DIR@
XEN_SYSTEMD_MODULES_LOAD := @SYSTEMD_MODULES_LOAD@ XEN_SYSTEMD_MODULES_LOAD := @SYSTEMD_MODULES_LOAD@
CONFIG_9PFS := @ninepfs@
LINUX_BACKEND_MODULES := @LINUX_BACKEND_MODULES@ LINUX_BACKEND_MODULES := @LINUX_BACKEND_MODULES@
+9 -1
View File
@@ -232,6 +232,13 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
else \ else \
enable_trace_backend='' ; \ enable_trace_backend='' ; \
fi ; \ 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}} \ PKG_CONFIG_PATH=$(XEN_ROOT)/tools/pkg-config$${PKG_CONFIG_PATH:+:$${PKG_CONFIG_PATH}} \
$$source/configure --enable-xen --target-list=i386-softmmu \ $$source/configure --enable-xen --target-list=i386-softmmu \
$(QEMU_XEN_ENABLE_DEBUG) \ $(QEMU_XEN_ENABLE_DEBUG) \
@@ -279,7 +286,8 @@ subdir-all-qemu-xen-dir: qemu-xen-dir-find
--python=$(PYTHON) \ --python=$(PYTHON) \
$(CONFIG_QEMUU_EXTRA_ARGS) \ $(CONFIG_QEMUU_EXTRA_ARGS) \
--cpu=$(IOEMU_CPU_ARCH) \ --cpu=$(IOEMU_CPU_ARCH) \
$(IOEMU_CONFIGURE_CROSS); \ $(IOEMU_CONFIGURE_CROSS) \
$$virtfs; \
$(MAKE) all $(MAKE) all
subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir subdir-install-qemu-xen-dir: subdir-all-qemu-xen-dir
+16 -1
View File
@@ -624,6 +624,7 @@ ac_includes_default="\
ac_subst_vars='LTLIBOBJS ac_subst_vars='LTLIBOBJS
LIBOBJS LIBOBJS
ninepfs
SYSTEMD_LIBS SYSTEMD_LIBS
SYSTEMD_CFLAGS SYSTEMD_CFLAGS
SYSTEMD_MODULES_LOAD SYSTEMD_MODULES_LOAD
@@ -820,6 +821,7 @@ with_xenstored
enable_systemd enable_systemd
with_systemd with_systemd
with_systemd_modules_load with_systemd_modules_load
enable_9pfs
' '
ac_precious_vars='build_alias ac_precious_vars='build_alias
host_alias host_alias
@@ -1500,6 +1502,8 @@ Optional Features:
--disable-ipxe Enable in-tree IPXE, (DEFAULT is on if rombios is --disable-ipxe Enable in-tree IPXE, (DEFAULT is on if rombios is
enabled, otherwise off, see also --with-system-ipxe) enabled, otherwise off, see also --with-system-ipxe)
--enable-systemd Enable systemd support (default is DISABLED) --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: Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -9799,6 +9803,18 @@ if test "x$systemd" = "xy"; then :
fi 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 cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure # This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between 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;} $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi fi
+8 -1
View File
@@ -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()
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.