- Add meson detection of rutabaga_gfx
- Build virtio-gpu-rutabaga.c + associated vga/pci files when
present
Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Alyssa Ross <hi@alyssa.is>
---
v3: Fix alignment issues (Akihiko)
hw/display/meson.build | 22 ++++++++++++++++++++++
meson.build | 7 +++++++
meson_options.txt | 2 ++
scripts/meson-buildoptions.sh | 3 +++
4 files changed, 34 insertions(+)
diff --git a/hw/display/meson.build b/hw/display/meson.build
index 413ba4ab24..e362d625dd 100644
--- a/hw/display/meson.build
+++ b/hw/display/meson.build
@@ -79,6 +79,13 @@ if config_all_devices.has_key('CONFIG_VIRTIO_GPU')
if_true: [files('virtio-gpu-gl.c', 'virtio-gpu-virgl.c'), pixman, virgl])
hw_display_modules += {'virtio-gpu-gl': virtio_gpu_gl_ss}
endif
+
+ if rutabaga.found()
+ virtio_gpu_rutabaga_ss = ss.source_set()
+ virtio_gpu_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', rutabaga],
+ if_true: [files('virtio-gpu-rutabaga.c'), pixman])
+ hw_display_modules += {'virtio-gpu-rutabaga': virtio_gpu_rutabaga_ss}
+ endif
endif
if config_all_devices.has_key('CONFIG_VIRTIO_PCI')
@@ -95,6 +102,12 @@ if config_all_devices.has_key('CONFIG_VIRTIO_PCI')
if_true: [files('virtio-gpu-pci-gl.c'), pixman])
hw_display_modules += {'virtio-gpu-pci-gl': virtio_gpu_pci_gl_ss}
endif
+ if rutabaga.found()
+ virtio_gpu_pci_rutabaga_ss = ss.source_set()
+ virtio_gpu_pci_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI', rutabaga],
+ if_true: [files('virtio-gpu-pci-rutabaga.c'), pixman])
+ hw_display_modules += {'virtio-gpu-pci-rutabaga': virtio_gpu_pci_rutabaga_ss}
+ endif
endif
if config_all_devices.has_key('CONFIG_VIRTIO_VGA')
@@ -113,6 +126,15 @@ if config_all_devices.has_key('CONFIG_VIRTIO_VGA')
virtio_vga_gl_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
if_false: files('acpi-vga-stub.c'))
hw_display_modules += {'virtio-vga-gl': virtio_vga_gl_ss}
+
+ if rutabaga.found()
+ virtio_vga_rutabaga_ss = ss.source_set()
+ virtio_vga_rutabaga_ss.add(when: ['CONFIG_VIRTIO_VGA', rutabaga],
+ if_true: [files('virtio-vga-rutabaga.c'), pixman])
+ virtio_vga_rutabaga_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
+ if_false: files('acpi-vga-stub.c'))
+ hw_display_modules += {'virtio-vga-rutabaga': virtio_vga_rutabaga_ss}
+ endif
endif
system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
diff --git a/meson.build b/meson.build
index 98e68ef0b1..293f388e53 100644
--- a/meson.build
+++ b/meson.build
@@ -1069,6 +1069,12 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
dependencies: virgl))
endif
endif
+rutabaga = not_found
+if not get_option('rutabaga_gfx').auto() or have_system or have_vhost_user_gpu
+ rutabaga = dependency('rutabaga_gfx_ffi',
+ method: 'pkg-config',
+ required: get_option('rutabaga_gfx'))
+endif
blkio = not_found
if not get_option('blkio').auto() or have_block
blkio = dependency('blkio',
@@ -4272,6 +4278,7 @@ summary_info += {'libtasn1': tasn1}
summary_info += {'PAM': pam}
summary_info += {'iconv support': iconv}
summary_info += {'virgl support': virgl}
+summary_info += {'rutabaga support': rutabaga}
summary_info += {'blkio support': blkio}
summary_info += {'curl support': curl}
summary_info += {'Multipath support': mpathpersist}
diff --git a/meson_options.txt b/meson_options.txt
index aaea5ddd77..dea3bf7d9c 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -224,6 +224,8 @@ option('vmnet', type : 'feature', value : 'auto',
description: 'vmnet.framework network backend support')
option('virglrenderer', type : 'feature', value : 'auto',
description: 'virgl rendering support')
+option('rutabaga_gfx', type : 'feature', value : 'auto',
+ description: 'rutabaga_gfx support')
option('png', type : 'feature', value : 'auto',
description: 'PNG support with libpng')
option('vnc', type : 'feature', value : 'auto',
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 9da3fe299b..9a95b4f782 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -154,6 +154,7 @@ meson_options_help() {
printf "%s\n" ' rbd Ceph block device driver'
printf "%s\n" ' rdma Enable RDMA-based migration'
printf "%s\n" ' replication replication support'
+ printf "%s\n" ' rutabaga-gfx rutabaga_gfx support'
printf "%s\n" ' sdl SDL user interface'
printf "%s\n" ' sdl-image SDL Image support for icons'
printf "%s\n" ' seccomp seccomp support'
@@ -419,6 +420,8 @@ _meson_option_parse() {
--disable-replication) printf "%s" -Dreplication=disabled ;;
--enable-rng-none) printf "%s" -Drng_none=true ;;
--disable-rng-none) printf "%s" -Drng_none=false ;;
+ --enable-rutabaga-gfx) printf "%s" -Drutabaga_gfx=enabled ;;
+ --disable-rutabaga-gfx) printf "%s" -Drutabaga_gfx=disabled ;;
--enable-safe-stack) printf "%s" -Dsafe_stack=true ;;
--disable-safe-stack) printf "%s" -Dsafe_stack=false ;;
--enable-sanitizers) printf "%s" -Dsanitizers=true ;;
--
2.41.0.694.ge786442a9b-goog
Reviewed-by: Emmanouil Pitsidianakis <manos.pitsidianakis@linaro.org>
Tested-by: Emmanouil Pitsidianakis <manos.pitsidianakis@linaro.org>
On Tue, 15 Aug 2023 03:35, Gurchetan Singh <gurchetansingh@chromium.org> wrote:
>- Add meson detection of rutabaga_gfx
>- Build virtio-gpu-rutabaga.c + associated vga/pci files when
> present
>
>Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
>Tested-by: Alyssa Ross <hi@alyssa.is>
>---
>v3: Fix alignment issues (Akihiko)
>
> hw/display/meson.build | 22 ++++++++++++++++++++++
> meson.build | 7 +++++++
> meson_options.txt | 2 ++
> scripts/meson-buildoptions.sh | 3 +++
> 4 files changed, 34 insertions(+)
>
>diff --git a/hw/display/meson.build b/hw/display/meson.build
>index 413ba4ab24..e362d625dd 100644
>--- a/hw/display/meson.build
>+++ b/hw/display/meson.build
>@@ -79,6 +79,13 @@ if config_all_devices.has_key('CONFIG_VIRTIO_GPU')
> if_true: [files('virtio-gpu-gl.c', 'virtio-gpu-virgl.c'), pixman, virgl])
> hw_display_modules += {'virtio-gpu-gl': virtio_gpu_gl_ss}
> endif
>+
>+ if rutabaga.found()
>+ virtio_gpu_rutabaga_ss = ss.source_set()
>+ virtio_gpu_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', rutabaga],
>+ if_true: [files('virtio-gpu-rutabaga.c'), pixman])
>+ hw_display_modules += {'virtio-gpu-rutabaga': virtio_gpu_rutabaga_ss}
>+ endif
> endif
>
> if config_all_devices.has_key('CONFIG_VIRTIO_PCI')
>@@ -95,6 +102,12 @@ if config_all_devices.has_key('CONFIG_VIRTIO_PCI')
> if_true: [files('virtio-gpu-pci-gl.c'), pixman])
> hw_display_modules += {'virtio-gpu-pci-gl': virtio_gpu_pci_gl_ss}
> endif
>+ if rutabaga.found()
>+ virtio_gpu_pci_rutabaga_ss = ss.source_set()
>+ virtio_gpu_pci_rutabaga_ss.add(when: ['CONFIG_VIRTIO_GPU', 'CONFIG_VIRTIO_PCI', rutabaga],
>+ if_true: [files('virtio-gpu-pci-rutabaga.c'), pixman])
>+ hw_display_modules += {'virtio-gpu-pci-rutabaga': virtio_gpu_pci_rutabaga_ss}
>+ endif
> endif
>
> if config_all_devices.has_key('CONFIG_VIRTIO_VGA')
>@@ -113,6 +126,15 @@ if config_all_devices.has_key('CONFIG_VIRTIO_VGA')
> virtio_vga_gl_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
> if_false: files('acpi-vga-stub.c'))
> hw_display_modules += {'virtio-vga-gl': virtio_vga_gl_ss}
>+
>+ if rutabaga.found()
>+ virtio_vga_rutabaga_ss = ss.source_set()
>+ virtio_vga_rutabaga_ss.add(when: ['CONFIG_VIRTIO_VGA', rutabaga],
>+ if_true: [files('virtio-vga-rutabaga.c'), pixman])
>+ virtio_vga_rutabaga_ss.add(when: 'CONFIG_ACPI', if_true: files('acpi-vga.c'),
>+ if_false: files('acpi-vga-stub.c'))
>+ hw_display_modules += {'virtio-vga-rutabaga': virtio_vga_rutabaga_ss}
>+ endif
> endif
>
> system_ss.add(when: 'CONFIG_OMAP', if_true: files('omap_lcdc.c'))
>diff --git a/meson.build b/meson.build
>index 98e68ef0b1..293f388e53 100644
>--- a/meson.build
>+++ b/meson.build
>@@ -1069,6 +1069,12 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
> dependencies: virgl))
> endif
> endif
>+rutabaga = not_found
>+if not get_option('rutabaga_gfx').auto() or have_system or have_vhost_user_gpu
>+ rutabaga = dependency('rutabaga_gfx_ffi',
>+ method: 'pkg-config',
>+ required: get_option('rutabaga_gfx'))
>+endif
> blkio = not_found
> if not get_option('blkio').auto() or have_block
> blkio = dependency('blkio',
>@@ -4272,6 +4278,7 @@ summary_info += {'libtasn1': tasn1}
> summary_info += {'PAM': pam}
> summary_info += {'iconv support': iconv}
> summary_info += {'virgl support': virgl}
>+summary_info += {'rutabaga support': rutabaga}
> summary_info += {'blkio support': blkio}
> summary_info += {'curl support': curl}
> summary_info += {'Multipath support': mpathpersist}
>diff --git a/meson_options.txt b/meson_options.txt
>index aaea5ddd77..dea3bf7d9c 100644
>--- a/meson_options.txt
>+++ b/meson_options.txt
>@@ -224,6 +224,8 @@ option('vmnet', type : 'feature', value : 'auto',
> description: 'vmnet.framework network backend support')
> option('virglrenderer', type : 'feature', value : 'auto',
> description: 'virgl rendering support')
>+option('rutabaga_gfx', type : 'feature', value : 'auto',
>+ description: 'rutabaga_gfx support')
> option('png', type : 'feature', value : 'auto',
> description: 'PNG support with libpng')
> option('vnc', type : 'feature', value : 'auto',
>diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
>index 9da3fe299b..9a95b4f782 100644
>--- a/scripts/meson-buildoptions.sh
>+++ b/scripts/meson-buildoptions.sh
>@@ -154,6 +154,7 @@ meson_options_help() {
> printf "%s\n" ' rbd Ceph block device driver'
> printf "%s\n" ' rdma Enable RDMA-based migration'
> printf "%s\n" ' replication replication support'
>+ printf "%s\n" ' rutabaga-gfx rutabaga_gfx support'
> printf "%s\n" ' sdl SDL user interface'
> printf "%s\n" ' sdl-image SDL Image support for icons'
> printf "%s\n" ' seccomp seccomp support'
>@@ -419,6 +420,8 @@ _meson_option_parse() {
> --disable-replication) printf "%s" -Dreplication=disabled ;;
> --enable-rng-none) printf "%s" -Drng_none=true ;;
> --disable-rng-none) printf "%s" -Drng_none=false ;;
>+ --enable-rutabaga-gfx) printf "%s" -Drutabaga_gfx=enabled ;;
>+ --disable-rutabaga-gfx) printf "%s" -Drutabaga_gfx=disabled ;;
> --enable-safe-stack) printf "%s" -Dsafe_stack=true ;;
> --disable-safe-stack) printf "%s" -Dsafe_stack=false ;;
> --enable-sanitizers) printf "%s" -Dsanitizers=true ;;
>--
>2.41.0.694.ge786442a9b-goog
>
>
© 2016 - 2026 Red Hat, Inc.