xref: /qemu/hw/virtio/meson.build (revision f05356f84d2e3cb4f6437716cc9b5dc59baf769d)
1*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss = ss.source_set()
2*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(files('virtio-bus.c'))
3*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(when: 'CONFIG_VIRTIO_PCI', if_true: files('virtio-pci.c'))
4*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(when: 'CONFIG_VIRTIO_MMIO', if_true: files('virtio-mmio.c'))
5*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto.c'))
6*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK_COMMON', if_true: files('vhost-vsock-common.c'))
7*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu.c'))
8*f05356f8SPhilippe Mathieu-Daudésystem_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev.c'))
9be786d2fSMarc-André Lureau
1074a45163SPhilippe Mathieu-Daudéspecific_virtio_ss = ss.source_set()
1174a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(files('virtio.c'))
1228b629abSPhilippe Mathieu-Daudéspecific_virtio_ss.add(files('virtio-config-io.c', 'virtio-qmp.c'))
1343b6d7eeSPaolo Bonzini
1443b6d7eeSPaolo Bonziniif have_vhost
15*f05356f8SPhilippe Mathieu-Daudé  system_virtio_ss.add(files('vhost.c'))
167a0903f7SPhilippe Mathieu-Daudé  specific_virtio_ss.add(files('vhost-backend.c', 'vhost-iova-tree.c'))
1743b6d7eeSPaolo Bonzini  if have_vhost_user
1874a45163SPhilippe Mathieu-Daudé    specific_virtio_ss.add(files('vhost-user.c'))
1943b6d7eeSPaolo Bonzini  endif
2043b6d7eeSPaolo Bonzini  if have_vhost_vdpa
21*f05356f8SPhilippe Mathieu-Daudé    system_virtio_ss.add(files('vhost-vdpa.c'))
2205632635SPhilippe Mathieu-Daudé    specific_virtio_ss.add(files('vhost-shadow-virtqueue.c'))
2343b6d7eeSPaolo Bonzini  endif
2443b6d7eeSPaolo Bonzinielse
25*f05356f8SPhilippe Mathieu-Daudé  system_virtio_ss.add(files('vhost-stub.c'))
2643b6d7eeSPaolo Bonziniendif
2743b6d7eeSPaolo Bonzini
2874a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-balloon.c'))
2974a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-user-fs.c'))
3074a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-pmem.c'))
316df95629SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock.c'))
326df95629SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhost-user-vsock.c'))
3374a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng.c'))
3474a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-mem.c'))
3574a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VHOST_USER_I2C', if_true: files('vhost-user-i2c.c'))
3674a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VHOST_USER_RNG', if_true: files('vhost-user-rng.c'))
3774a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: 'CONFIG_VHOST_USER_GPIO', if_true: files('vhost-user-gpio.c'))
3874a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add(when: ['CONFIG_VIRTIO_PCI', 'CONFIG_VHOST_USER_GPIO'], if_true: files('vhost-user-gpio-pci.c'))
39a5dab090SMilan Zamazalspecific_virtio_ss.add(when: 'CONFIG_VHOST_USER_SCMI', if_true: files('vhost-user-scmi.c'))
40c46b20cfSMilan Zamazalspecific_virtio_ss.add(when: ['CONFIG_VIRTIO_PCI', 'CONFIG_VHOST_USER_SCMI'], if_true: files('vhost-user-scmi-pci.c'))
41be786d2fSMarc-André Lureau
42be786d2fSMarc-André Lureauvirtio_pci_ss = ss.source_set()
43be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock-pci.c'))
44be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhost-user-vsock-pci.c'))
45be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-blk-pci.c'))
4610925d06SPaolo Bonzinivirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_I2C', if_true: files('vhost-user-i2c-pci.c'))
47be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_INPUT', if_true: files('vhost-user-input-pci.c'))
4810925d06SPaolo Bonzinivirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_RNG', if_true: files('vhost-user-rng-pci.c'))
49be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-user-scsi-pci.c'))
50be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi-pci.c'))
5110925d06SPaolo Bonzinivirtio_pci_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-user-fs-pci.c'))
5210925d06SPaolo Bonzini
5310925d06SPaolo Bonzinivirtio_pci_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-crypto-pci.c'))
54be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_INPUT_HOST', if_true: files('virtio-input-host-pci.c'))
55be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_INPUT', if_true: files('virtio-input-pci.c'))
56be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng-pci.c'))
57be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virtio-balloon-pci.c'))
58be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-pci.c'))
59be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_SCSI', if_true: files('virtio-scsi-pci.c'))
60be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk-pci.c'))
61be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_NET', if_true: files('virtio-net-pci.c'))
62be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_SERIAL', if_true: files('virtio-serial-pci.c'))
63be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-pmem-pci.c'))
64be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_IOMMU', if_true: files('virtio-iommu-pci.c'))
65be786d2fSMarc-André Lureauvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-mem-pci.c'))
66fedda617SLongpengvirtio_pci_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev-pci.c'))
6718129c15SDavid Hildenbrandvirtio_pci_ss.add(when: 'CONFIG_VIRTIO_MD', if_true: files('virtio-md-pci.c'))
68be786d2fSMarc-André Lureau
6974a45163SPhilippe Mathieu-Daudéspecific_virtio_ss.add_all(when: 'CONFIG_VIRTIO_PCI', if_true: virtio_pci_ss)
70be786d2fSMarc-André Lureau
71*f05356f8SPhilippe Mathieu-Daudésystem_ss.add_all(when: 'CONFIG_VIRTIO', if_true: system_virtio_ss)
72de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VIRTIO', if_false: files('vhost-stub.c'))
73de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VIRTIO', if_false: files('virtio-stub.c'))
74de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_ALL', if_true: files('vhost-stub.c'))
75de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_ALL', if_true: files('virtio-stub.c'))
76de6cd759SPhilippe Mathieu-Daudésystem_ss.add(files('virtio-hmp-cmds.c'))
7774a45163SPhilippe Mathieu-Daudé
7874a45163SPhilippe Mathieu-Daudéspecific_ss.add_all(when: 'CONFIG_VIRTIO', if_true: specific_virtio_ss)
79