qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v5 01/19] build-sys: add a "pixman" feature


From: Thomas Huth
Subject: Re: [PATCH v5 01/19] build-sys: add a "pixman" feature
Date: Wed, 25 Oct 2023 08:35:13 +0200
User-agent: Mozilla Thunderbird

On 23/10/2023 13.30, marcandre.lureau@redhat.com wrote:
From: Marc-André Lureau <marcandre.lureau@redhat.com>

For now, pixman is mandatory, but we set config_host.h and Kconfig.
Once compilation is fixed, "pixman" will become actually optional.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
  meson.build                   | 10 ++++++++--
  include/ui/qemu-pixman.h      |  2 ++
  Kconfig.host                  |  3 +++
  meson_options.txt             |  2 ++
  scripts/meson-buildoptions.sh |  3 +++
  5 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/meson.build b/meson.build
index 4961c82a6b..395d7155f6 100644
--- a/meson.build
+++ b/meson.build
@@ -813,10 +813,14 @@ if 'ust' in get_option('trace_backends')
                       method: 'pkg-config')
  endif
  pixman = not_found
-if have_system or have_tools
-  pixman = dependency('pixman-1', required: have_system, version:'>=0.21.8',
+if not get_option('pixman').auto() or have_system or have_tools
+  pixman = dependency('pixman-1', required: get_option('pixman'), 
version:'>=0.21.8',
                        method: 'pkg-config')
  endif
+if not pixman.found() and (have_system or have_tools)
+  error('FIXME: pixman is currently required')
+endif
+
  zlib = dependency('zlib', required: true)
libaio = not_found
@@ -2125,6 +2129,7 @@ config_host_data.set('CONFIG_SECCOMP', seccomp.found())
  if seccomp.found()
    config_host_data.set('CONFIG_SECCOMP_SYSRAWRC', seccomp_has_sysrawrc)
  endif
+config_host_data.set('CONFIG_PIXMAN', pixman.found())
  config_host_data.set('CONFIG_SNAPPY', snappy.found())
  config_host_data.set('CONFIG_SOLARIS', targetos == 'sunos')
  if get_option('tcg').allowed()
@@ -2843,6 +2848,7 @@ have_ivshmem = config_host_data.get('CONFIG_EVENTFD')
  host_kconfig = \
    (get_option('fuzzing') ? ['CONFIG_FUZZ=y'] : []) + \
    (have_tpm ? ['CONFIG_TPM=y'] : []) + \
+  (pixman.found() ? ['CONFIG_PIXMAN=y'] : []) + \
    (spice.found() ? ['CONFIG_SPICE=y'] : []) + \
    (have_ivshmem ? ['CONFIG_IVSHMEM=y'] : []) + \
    (opengl.found() ? ['CONFIG_OPENGL=y'] : []) + \
diff --git a/include/ui/qemu-pixman.h b/include/ui/qemu-pixman.h
index e587c48b1f..d37feb5e3c 100644
--- a/include/ui/qemu-pixman.h
+++ b/include/ui/qemu-pixman.h
@@ -6,11 +6,13 @@
  #ifndef QEMU_PIXMAN_H
  #define QEMU_PIXMAN_H
+#ifdef CONFIG_PIXMAN
  /* pixman-0.16.0 headers have a redundant declaration */
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wredundant-decls"
  #include <pixman.h>
  #pragma GCC diagnostic pop
+#endif

Since we already require pixman 0.21, I wonder whether we still need these pragmas .... anyway, removing it would be something for another patch, so for this one:

Reviewed-by: Thomas Huth <thuth@redhat.com>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]