On 1 June 2018 at 18:15, Paolo Bonzini <pbonz...@redhat.com> wrote:
> This is only half of the work, because the proxy devices (virtio-*-pci,
> virtio-*-ccw, etc.) are still included unconditionally.  It is still a
> move in the right direction.
>
> Based-on: <20180522194943.24871-1-pbonz...@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>

Hi. It looks like this commit breaks building with
CONFIG_VIRTIO set but CONFIG_VIRTIO_9P not set (as
we found out with the latest riscv pullreq):

> diff --git a/hw/9pfs/Makefile.objs b/hw/9pfs/Makefile.objs
> index fd90b62900..e3fa673665 100644
> --- a/hw/9pfs/Makefile.objs
> +++ b/hw/9pfs/Makefile.objs
> @@ -1,3 +1,4 @@
> +ifeq ($(call lor,$(CONFIG_VIRTIO_9P),$(CONFIG_XEN)),y)
>  common-obj-y  = 9p.o 9p-util.o
>  common-obj-y += 9p-local.o 9p-xattr.o
>  common-obj-y += 9p-xattr-user.o 9p-posix-acl.o

This if condition guards the definitions of various
FileOperations structs local_ops, etc, but it doesn't
match up with the if guard on the code that uses them,
which is in fsdev/Makefile.obj:

common-obj-$(call land,$(CONFIG_VIRTFS),$(call
lor,$(CONFIG_VIRTIO),$(CONFIG_XEN))) = qemu-fsdev.o 9p-marshal.o
9p-iov-marshal.o

so if you set VIRTIO but not VIRTIO_9P we build the
use but not the definition and linking fails.

thanks
-- PMM

Reply via email to