qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] meson: move pixman detection to meson


From: Thomas Huth
Subject: Re: [PATCH] meson: move pixman detection to meson
Date: Thu, 27 Aug 2020 10:28:18 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0

On 26/08/2020 09.02, Paolo Bonzini wrote:
> When pixman is not installed (or too old), but virglrenderer is available
> and "configure" has been run with "--disable-system", the build currently
> aborts when trying to compile vhost-user-gpu (since it requires pixman).
> 
> Let's skip the build of vhost-user-gpu when pixman is not installed or
> too old.  Instead of adding CONFIG_PIXMAN, it is simpler to move the
> detection to pixman.
> 
> Based on a patch by Thomas Huth. <thuth@redhat.com>
> 
> Fixes: 9b52b17ba5 ("configure: Allow to build tools without pixman")
> Reported-by: Rafael Kitover <rkitover@gmail.com>
> Reported-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
>  configure                          | 21 ++-------------------
>  contrib/vhost-user-gpu/meson.build |  3 ++-
>  meson.build                        | 12 +++++++-----
>  3 files changed, 11 insertions(+), 25 deletions(-)
> 
> diff --git a/configure b/configure
> index a5fa472c64..51b6164f69 100755
> --- a/configure
> +++ b/configure
> @@ -3923,20 +3923,6 @@ if test "$modules" = yes; then
>      fi
>  fi
>  
> -##########################################
> -# pixman support probe
> -
> -if test "$softmmu" = "no"; then
> -  pixman_cflags=
> -  pixman_libs=
> -elif $pkg_config --atleast-version=0.21.8 pixman-1 > /dev/null 2>&1; then
> -  pixman_cflags=$($pkg_config --cflags pixman-1)
> -  pixman_libs=$($pkg_config --libs pixman-1)
> -else
> -  error_exit "pixman >= 0.21.8 not present." \
> -      "Please install the pixman devel package."
> -fi
> -
>  ##########################################
>  # libmpathpersist probe
>  
> @@ -6649,8 +6635,8 @@ echo_version() {
>      fi
>  }
>  
> -# prepend pixman and ftd flags after all config tests are done
> -QEMU_CFLAGS="$pixman_cflags $fdt_cflags $QEMU_CFLAGS"
> +# prepend ftd flags after all config tests are done
> +QEMU_CFLAGS="$fdt_cflags $QEMU_CFLAGS"
>  QEMU_LDFLAGS="$fdt_ldflags $QEMU_LDFLAGS"
>  
>  config_host_mak="config-host.mak"
> @@ -8053,9 +8039,6 @@ fi
>  
>  done # for target in $targets
>  
> -echo "PIXMAN_CFLAGS=$pixman_cflags" >> $config_host_mak
> -echo "PIXMAN_LIBS=$pixman_libs" >> $config_host_mak
> -
>  if [ "$fdt" = "git" ]; then
>    subdirs="$subdirs dtc"
>  fi
> diff --git a/contrib/vhost-user-gpu/meson.build 
> b/contrib/vhost-user-gpu/meson.build
> index 8df4c13bc5..7d9b29da8b 100644
> --- a/contrib/vhost-user-gpu/meson.build
> +++ b/contrib/vhost-user-gpu/meson.build
> @@ -1,5 +1,6 @@
>  if 'CONFIG_TOOLS' in config_host and 'CONFIG_VIRGL' in config_host \
> -    and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host
> +    and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host \
> +    and pixman.found()
>    executable('vhost-user-gpu', files('vhost-user-gpu.c', 'virgl.c', 
> 'vugbm.c'),
>               link_with: libvhost_user,
>               dependencies: [qemuutil, pixman, gbm, virgl],
> diff --git a/meson.build b/meson.build
> index bcd39b39da..57c2fe2b65 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -114,8 +114,11 @@ if 'CONFIG_GNUTLS' in config_host
>    gnutls = declare_dependency(compile_args: 
> config_host['GNUTLS_CFLAGS'].split(),
>                                link_args: config_host['GNUTLS_LIBS'].split())
>  endif
> -pixman = declare_dependency(compile_args: 
> config_host['PIXMAN_CFLAGS'].split(),
> -                            link_args: config_host['PIXMAN_LIBS'].split())
> +pixman = not_found
> +if have_system or have_tools
> +  pixman = dependency('pixman', required: have_system, version:'>=0.21.8',
> +                      static: enable_static)
> +endif

With the dependency from another patch that have_system and have_tools
are initialized earlier in this file:

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




reply via email to

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