xref: /qemu/hw/display/meson.build (revision 53e8868d69c195b6b57ccc6847057043c26df1b6)
1b4c8eeceSMarc-André Lureauhw_display_modules = {}
2b4c8eeceSMarc-André Lureau
3de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_DDC', if_true: files('i2c-ddc.c'))
4de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_EDID', if_true: files('edid-generate.c', 'edid-region.c'))
5b4c8eeceSMarc-André Lureau
6de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb.c'))
7de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb-standalone.c'))
8b4c8eeceSMarc-André Lureau
9de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VGA_CIRRUS', if_true: files('cirrus_vga.c'))
10de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: ['CONFIG_VGA_CIRRUS', 'CONFIG_VGA_ISA'], if_true: files('cirrus_vga_isa.c'))
11de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_G364FB', if_true: files('g364fb.c'))
12de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_JAZZ_LED', if_true: files('jazz_led.c'))
13de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
14de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
15de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
16de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
17de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
18b4c8eeceSMarc-André Lureau
19de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
20de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
21de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VGA_MMIO', if_true: files('vga-mmio.c'))
22de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VMWARE_VGA', if_true: files('vmware_vga.c'))
23de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_BOCHS_DISPLAY', if_true: files('bochs-display.c'))
24b4c8eeceSMarc-André Lureau
25de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_BLIZZARD', if_true: files('blizzard.c'))
26de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_fimd.c'))
27de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_FRAMEBUFFER', if_true: files('framebuffer.c'))
28de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_ZAURUS', if_true: files('tc6393xb.c'))
29b4c8eeceSMarc-André Lureau
30de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_dss.c'))
31de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_PXA2XX', if_true: files('pxa2xx_lcd.c'))
32de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_fb.c'))
33de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_SM501', if_true: files('sm501.c'))
34de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_TCX', if_true: files('tcx.c'))
35de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_CG3', if_true: files('cg3.c'))
36de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_MACFB', if_true: files('macfb.c'))
37de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_NEXTCUBE', if_true: files('next-fb.c'))
38b4c8eeceSMarc-André Lureau
39de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_VGA', if_true: files('vga.c'))
40faefdba8SAlbert Estevesystem_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-dmabuf.c'))
41b4c8eeceSMarc-André Lureau
42cfead313SIgor Mammedovif (config_all_devices.has_key('CONFIG_VGA_CIRRUS') or
43cfead313SIgor Mammedov    config_all_devices.has_key('CONFIG_VGA_PCI') or
44cfead313SIgor Mammedov    config_all_devices.has_key('CONFIG_VMWARE_VGA') or
45cfead313SIgor Mammedov    config_all_devices.has_key('CONFIG_ATI_VGA')
46cfead313SIgor Mammedov   )
47de6cd759SPhilippe Mathieu-Daudé  system_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
48cfead313SIgor Mammedov                                      if_false: files('acpi-vga-stub.c'))
49cfead313SIgor Mammedovendif
50cfead313SIgor Mammedov
51b4c8eeceSMarc-André Lureauif config_all_devices.has_key('CONFIG_QXL')
52b4c8eeceSMarc-André Lureau  qxl_ss = ss.source_set()
53e3624e8bSGerd Hoffmann  qxl_ss.add(when: 'CONFIG_QXL', if_true: [files('qxl.c', 'qxl-logger.c', 'qxl-render.c'),
54e3624e8bSGerd Hoffmann                                           pixman, spice])
55cfead313SIgor Mammedov  qxl_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
56cfead313SIgor Mammedov                                  if_false: files('acpi-vga-stub.c'))
57b4c8eeceSMarc-André Lureau  hw_display_modules += {'qxl': qxl_ss}
58b4c8eeceSMarc-André Lureauendif
59b4c8eeceSMarc-André Lureau
60de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_DPCD', if_true: files('dpcd.c'))
6104c4cc10SMarc-André Lureausystem_ss.add(when: 'CONFIG_XLNX_DISPLAYPORT', if_true: files('xlnx_dp.c'))
62b4c8eeceSMarc-André Lureau
63de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_ARTIST', if_true: files('artist.c'))
64b4c8eeceSMarc-André Lureau
65699f15fdSMarc-André Lureausystem_ss.add(when: 'CONFIG_ATI_VGA', if_true: [files('ati.c', 'ati_2d.c', 'ati_dbg.c'), pixman])
66b4c8eeceSMarc-André Lureau
67cfead313SIgor Mammedov
68b4c8eeceSMarc-André Lureauif config_all_devices.has_key('CONFIG_VIRTIO_GPU')
69b4c8eeceSMarc-André Lureau  virtio_gpu_ss = ss.source_set()
70b4c8eeceSMarc-André Lureau  virtio_gpu_ss.add(when: 'CONFIG_VIRTIO_GPU',
71e349693aSGerd Hoffmann                    if_true: [files('virtio-gpu-base.c', 'virtio-gpu.c'), pixman])
72*53e8868dSPaolo Bonzini  if targetos == 'linux'
73*53e8868dSPaolo Bonzini    virtio_gpu_ss.add(files('virtio-gpu-udmabuf.c'))
74*53e8868dSPaolo Bonzini  else
75*53e8868dSPaolo Bonzini    virtio_gpu_ss.add(files('virtio-gpu-udmabuf-stubs.c'))
76*53e8868dSPaolo Bonzini  endif
77b4c8eeceSMarc-André Lureau  virtio_gpu_ss.add(when: 'CONFIG_VHOST_USER_GPU', if_true: files('vhost-user-gpu.c'))
787b0de5b7SGerd Hoffmann  hw_display_modules += {'virtio-gpu': virtio_gpu_ss}
79e349693aSGerd Hoffmann
808b843725SDaniel P. Berrangé  if virgl.found() and opengl.found()
81e349693aSGerd Hoffmann    virtio_gpu_gl_ss = ss.source_set()
82587d59d6SPaolo Bonzini    virtio_gpu_gl_ss.add(when: ['CONFIG_VIRTIO_GPU', virgl, opengl],
83e349693aSGerd Hoffmann                         if_true: [files('virtio-gpu-gl.c', 'virtio-gpu-virgl.c'), pixman, virgl])
84e349693aSGerd Hoffmann    hw_display_modules += {'virtio-gpu-gl': virtio_gpu_gl_ss}
85b4c8eeceSMarc-André Lureau  endif
86cd9adbefSGurchetan Singh
87cd9adbefSGurchetan Singh  if rutabaga.found()
88cd9adbefSGurchetan Singh    virtio_gpu_rutabaga_ss = ss.source_set()
89cd9adbefSGurchetan Singh    virtio_gpu_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', rutabaga],
90cd9adbefSGurchetan Singh                               if_true: [files('virtio-gpu-rutabaga.c'), pixman])
91cd9adbefSGurchetan Singh    hw_display_modules += {'virtio-gpu-rutabaga': virtio_gpu_rutabaga_ss}
92cd9adbefSGurchetan Singh  endif
938b843725SDaniel P. Berrangéendif
94b4c8eeceSMarc-André Lureau
9574acdf0aSGerd Hoffmannif config_all_devices.has_key('CONFIG_VIRTIO_PCI')
9674acdf0aSGerd Hoffmann  virtio_gpu_pci_ss = ss.source_set()
9774acdf0aSGerd Hoffmann  virtio_gpu_pci_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI'],
9874acdf0aSGerd Hoffmann                        if_true: [files('virtio-gpu-pci.c'), pixman])
9974acdf0aSGerd Hoffmann  virtio_gpu_pci_ss.add(when: ['CONFIG_VHOST_USER_GPU', 'CONFIG_VIRTIO_PCI'],
10074acdf0aSGerd Hoffmann                        if_true: files('vhost-user-gpu-pci.c'))
10174acdf0aSGerd Hoffmann  hw_display_modules += {'virtio-gpu-pci': virtio_gpu_pci_ss}
10217cdac0bSGerd Hoffmann
1038b843725SDaniel P. Berrangé  if virgl.found() and opengl.found()
10417cdac0bSGerd Hoffmann    virtio_gpu_pci_gl_ss = ss.source_set()
105587d59d6SPaolo Bonzini    virtio_gpu_pci_gl_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI', virgl, opengl],
10617cdac0bSGerd Hoffmann                             if_true: [files('virtio-gpu-pci-gl.c'), pixman])
10717cdac0bSGerd Hoffmann    hw_display_modules += {'virtio-gpu-pci-gl': virtio_gpu_pci_gl_ss}
10874acdf0aSGerd Hoffmann  endif
109cd9adbefSGurchetan Singh  if rutabaga.found()
110cd9adbefSGurchetan Singh    virtio_gpu_pci_rutabaga_ss = ss.source_set()
111cd9adbefSGurchetan Singh    virtio_gpu_pci_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI', rutabaga],
112cd9adbefSGurchetan Singh                                   if_true: [files('virtio-gpu-pci-rutabaga.c'), pixman])
113cd9adbefSGurchetan Singh    hw_display_modules += {'virtio-gpu-pci-rutabaga': virtio_gpu_pci_rutabaga_ss}
114cd9adbefSGurchetan Singh  endif
1158b843725SDaniel P. Berrangéendif
11674acdf0aSGerd Hoffmann
1171e1f9c20SGerd Hoffmannif config_all_devices.has_key('CONFIG_VIRTIO_VGA')
1181e1f9c20SGerd Hoffmann  virtio_vga_ss = ss.source_set()
1191e1f9c20SGerd Hoffmann  virtio_vga_ss.add(when: 'CONFIG_VIRTIO_VGA',
1201e1f9c20SGerd Hoffmann                    if_true: [files('virtio-vga.c'), pixman])
1211e1f9c20SGerd Hoffmann  virtio_vga_ss.add(when: 'CONFIG_VHOST_USER_VGA',
1221e1f9c20SGerd Hoffmann                    if_true: files('vhost-user-vga.c'))
123cfead313SIgor Mammedov  virtio_vga_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
124cfead313SIgor Mammedov                                         if_false: files('acpi-vga-stub.c'))
1251e1f9c20SGerd Hoffmann  hw_display_modules += {'virtio-vga': virtio_vga_ss}
126b36eb886SGerd Hoffmann
127b36eb886SGerd Hoffmann  virtio_vga_gl_ss = ss.source_set()
128587d59d6SPaolo Bonzini  virtio_vga_gl_ss.add(when: ['CONFIG_VIRTIO_VGA', virgl, opengl],
129b36eb886SGerd Hoffmann                       if_true: [files('virtio-vga-gl.c'), pixman])
130cfead313SIgor Mammedov  virtio_vga_gl_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
131cfead313SIgor Mammedov                                            if_false: files('acpi-vga-stub.c'))
132b36eb886SGerd Hoffmann  hw_display_modules += {'virtio-vga-gl': virtio_vga_gl_ss}
133cd9adbefSGurchetan Singh
134cd9adbefSGurchetan Singh  if rutabaga.found()
135cd9adbefSGurchetan Singh    virtio_vga_rutabaga_ss = ss.source_set()
136cd9adbefSGurchetan Singh    virtio_vga_rutabaga_ss.add(when: ['CONFIG_VIRTIO_VGA', rutabaga],
137cd9adbefSGurchetan Singh                               if_true: [files('virtio-vga-rutabaga.c'), pixman])
138cd9adbefSGurchetan Singh    virtio_vga_rutabaga_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
139cd9adbefSGurchetan Singh                                                    if_false: files('acpi-vga-stub.c'))
140cd9adbefSGurchetan Singh    hw_display_modules += {'virtio-vga-rutabaga': virtio_vga_rutabaga_ss}
141cd9adbefSGurchetan Singh  endif
1421e1f9c20SGerd Hoffmannendif
1437b0de5b7SGerd Hoffmann
144de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
145b4c8eeceSMarc-André Lureau
146de6cd759SPhilippe Mathieu-Daudésystem_ss.add(when: 'CONFIG_ALL', if_true: files('acpi-vga-stub.c'))
147b4c8eeceSMarc-André Lureaumodules += { 'hw-display': hw_display_modules }
148