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