xref: /qemu/hw/display/meson.build (revision 70ce076fa6dff60585c229a4b641b13e64bf03cf)
1hw_display_modules = {}
2
3system_ss.add(when: 'CONFIG_DDC', if_true: files('i2c-ddc.c'))
4system_ss.add(when: 'CONFIG_EDID', if_true: files('edid-generate.c', 'edid-region.c'))
5
6system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb.c'), if_false: files('ramfb-stubs.c'))
7system_ss.add(when: 'CONFIG_FW_CFG_DMA', if_true: files('ramfb-standalone.c'))
8
9system_ss.add(when: 'CONFIG_VGA_CIRRUS', if_true: files('cirrus_vga.c'))
10system_ss.add(when: ['CONFIG_VGA_CIRRUS', 'CONFIG_VGA_ISA'], if_true: files('cirrus_vga_isa.c'))
11system_ss.add(when: 'CONFIG_G364FB', if_true: files('g364fb.c'))
12system_ss.add(when: 'CONFIG_JAZZ_LED', if_true: files('jazz_led.c'))
13system_ss.add(when: 'CONFIG_PL110', if_true: files('pl110.c'))
14system_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
15system_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
16system_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
17system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
18
19system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
20system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
21system_ss.add(when: 'CONFIG_VGA_MMIO', if_true: files('vga-mmio.c'))
22system_ss.add(when: 'CONFIG_VMWARE_VGA', if_true: files('vmware_vga.c'))
23system_ss.add(when: 'CONFIG_BOCHS_DISPLAY', if_true: files('bochs-display.c'))
24
25system_ss.add(when: 'CONFIG_EXYNOS4', if_true: files('exynos4210_fimd.c'))
26system_ss.add(when: 'CONFIG_FRAMEBUFFER', if_true: files('framebuffer.c'))
27
28system_ss.add(when: 'CONFIG_RASPI', if_true: files('bcm2835_fb.c'))
29system_ss.add(when: 'CONFIG_SM501', if_true: files('sm501.c'))
30system_ss.add(when: 'CONFIG_TCX', if_true: files('tcx.c'))
31system_ss.add(when: 'CONFIG_CG3', if_true: files('cg3.c'))
32system_ss.add(when: 'CONFIG_MACFB', if_true: files('macfb.c'))
33system_ss.add(when: 'CONFIG_NEXTCUBE', if_true: files('next-fb.c'))
34
35system_ss.add(when: 'CONFIG_VGA', if_true: files('vga.c'))
36system_ss.add(when: 'CONFIG_VIRTIO', if_true: files('virtio-dmabuf.c'))
37system_ss.add(when: 'CONFIG_DM163', if_true: files('dm163.c'))
38
39if (config_all_devices.has_key('CONFIG_VGA_CIRRUS') or
40    config_all_devices.has_key('CONFIG_VGA_PCI') or
41    config_all_devices.has_key('CONFIG_VMWARE_VGA') or
42    config_all_devices.has_key('CONFIG_ATI_VGA')
43   )
44  system_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
45                                      if_false: files('acpi-vga-stub.c'))
46endif
47
48if config_all_devices.has_key('CONFIG_QXL')
49  qxl_ss = ss.source_set()
50  qxl_ss.add(when: 'CONFIG_QXL', if_true: [files('qxl.c', 'qxl-logger.c', 'qxl-render.c'),
51                                           pixman, spice])
52  qxl_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
53                                  if_false: files('acpi-vga-stub.c'))
54  hw_display_modules += {'qxl': qxl_ss}
55endif
56
57system_ss.add(when: 'CONFIG_DPCD', if_true: files('dpcd.c'))
58system_ss.add(when: 'CONFIG_XLNX_DISPLAYPORT', if_true: files('xlnx_dp.c'))
59
60system_ss.add(when: 'CONFIG_ARTIST', if_true: files('artist.c'))
61
62system_ss.add(when: 'CONFIG_ATI_VGA', if_true: [files('ati.c', 'ati_2d.c', 'ati_dbg.c'), pixman])
63
64if host_os == 'darwin'
65  system_ss.add(when: 'CONFIG_MAC_PVG',         if_true: [files('apple-gfx.m'), pvg, metal])
66  system_ss.add(when: 'CONFIG_MAC_PVG_PCI',     if_true: [files('apple-gfx-pci.m'), pvg, metal])
67  if cpu == 'aarch64'
68    system_ss.add(when: 'CONFIG_MAC_PVG_MMIO',  if_true: [files('apple-gfx-mmio.m'), pvg, metal])
69  endif
70endif
71
72if config_all_devices.has_key('CONFIG_VIRTIO_GPU')
73  virtio_gpu_ss = ss.source_set()
74  virtio_gpu_ss.add(when: 'CONFIG_VIRTIO_GPU',
75                    if_true: [files('virtio-gpu-base.c', 'virtio-gpu.c'), pixman])
76  if host_os == 'linux'
77    virtio_gpu_ss.add(files('virtio-gpu-udmabuf.c'))
78  else
79    virtio_gpu_ss.add(files('virtio-gpu-udmabuf-stubs.c'))
80  endif
81  virtio_gpu_ss.add(when: 'CONFIG_VHOST_USER_GPU', if_true: files('vhost-user-gpu.c'))
82  hw_display_modules += {'virtio-gpu': virtio_gpu_ss}
83
84  if virgl.found() and opengl.found()
85    virtio_gpu_gl_ss = ss.source_set()
86    virtio_gpu_gl_ss.add(when: ['CONFIG_VIRTIO_GPU', virgl, opengl],
87                         if_true: [files('virtio-gpu-gl.c', 'virtio-gpu-virgl.c'), pixman, virgl])
88    hw_display_modules += {'virtio-gpu-gl': virtio_gpu_gl_ss}
89  endif
90
91  if rutabaga.found()
92    virtio_gpu_rutabaga_ss = ss.source_set()
93    virtio_gpu_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', rutabaga],
94                               if_true: [files('virtio-gpu-rutabaga.c'), pixman])
95    hw_display_modules += {'virtio-gpu-rutabaga': virtio_gpu_rutabaga_ss}
96  endif
97endif
98
99if config_all_devices.has_key('CONFIG_VIRTIO_PCI')
100  virtio_gpu_pci_ss = ss.source_set()
101  virtio_gpu_pci_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI'],
102                        if_true: [files('virtio-gpu-pci.c'), pixman])
103  virtio_gpu_pci_ss.add(when: ['CONFIG_VHOST_USER_GPU', 'CONFIG_VIRTIO_PCI'],
104                        if_true: files('vhost-user-gpu-pci.c'))
105  hw_display_modules += {'virtio-gpu-pci': virtio_gpu_pci_ss}
106
107  if virgl.found() and opengl.found()
108    virtio_gpu_pci_gl_ss = ss.source_set()
109    virtio_gpu_pci_gl_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI', virgl, opengl],
110                             if_true: [files('virtio-gpu-pci-gl.c'), pixman])
111    hw_display_modules += {'virtio-gpu-pci-gl': virtio_gpu_pci_gl_ss}
112  endif
113  if rutabaga.found()
114    virtio_gpu_pci_rutabaga_ss = ss.source_set()
115    virtio_gpu_pci_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI', rutabaga],
116                                   if_true: [files('virtio-gpu-pci-rutabaga.c'), pixman])
117    hw_display_modules += {'virtio-gpu-pci-rutabaga': virtio_gpu_pci_rutabaga_ss}
118  endif
119endif
120
121if config_all_devices.has_key('CONFIG_VIRTIO_VGA')
122  virtio_vga_ss = ss.source_set()
123  virtio_vga_ss.add(when: 'CONFIG_VIRTIO_VGA',
124                    if_true: [files('virtio-vga.c'), pixman])
125  virtio_vga_ss.add(when: 'CONFIG_VHOST_USER_VGA',
126                    if_true: files('vhost-user-vga.c'))
127  virtio_vga_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
128                                         if_false: files('acpi-vga-stub.c'))
129  hw_display_modules += {'virtio-vga': virtio_vga_ss}
130
131  if virgl.found() and opengl.found()
132    virtio_vga_gl_ss = ss.source_set()
133    virtio_vga_gl_ss.add(when: ['CONFIG_VIRTIO_VGA', virgl, opengl],
134                         if_true: [files('virtio-vga-gl.c'), pixman])
135    virtio_vga_gl_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
136                                              if_false: files('acpi-vga-stub.c'))
137    hw_display_modules += {'virtio-vga-gl': virtio_vga_gl_ss}
138  endif
139
140  if rutabaga.found()
141    virtio_vga_rutabaga_ss = ss.source_set()
142    virtio_vga_rutabaga_ss.add(when: ['CONFIG_VIRTIO_VGA', rutabaga],
143                               if_true: [files('virtio-vga-rutabaga.c'), pixman])
144    virtio_vga_rutabaga_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
145                                                    if_false: files('acpi-vga-stub.c'))
146    hw_display_modules += {'virtio-vga-rutabaga': virtio_vga_rutabaga_ss}
147  endif
148endif
149
150system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
151
152modules += { 'hw-display': hw_display_modules }
153