configure | 14 -------------- contrib/vhost-user-gpu/meson.build | 5 ++--- meson.build | 13 +++++++------ 3 files changed, 9 insertions(+), 23 deletions(-)
The GBM library detection does not need to be in the configure script,
since it does not have any user-facing options (there are no
--enable-gbm or --disable-gbm switches). Let's move it to meson.build
instead, so we don't have to clutter config-host.mak with the related
switches.
Additionally, only check for GBM if it is really required, i.e. if we
either compile with OpenGL or with virglrenderer support.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
configure | 14 --------------
contrib/vhost-user-gpu/meson.build | 5 ++---
meson.build | 13 +++++++------
3 files changed, 9 insertions(+), 23 deletions(-)
diff --git a/configure b/configure
index 85db248ac1..7d86b481e2 100755
--- a/configure
+++ b/configure
@@ -3372,13 +3372,6 @@ esac
##########################################
# opengl probe (for sdl2, gtk)
-gbm="no"
-if $pkg_config gbm; then
- gbm_cflags="$($pkg_config --cflags gbm)"
- gbm_libs="$($pkg_config --libs gbm)"
- gbm="yes"
-fi
-
if test "$opengl" != "no" ; then
epoxy=no
if $pkg_config epoxy; then
@@ -4673,13 +4666,6 @@ if test "$opengl" = "yes" ; then
echo "OPENGL_LIBS=$opengl_libs" >> $config_host_mak
fi
-if test "$gbm" = "yes" ; then
- echo "CONFIG_GBM=y" >> $config_host_mak
- echo "GBM_LIBS=$gbm_libs" >> $config_host_mak
- echo "GBM_CFLAGS=$gbm_cflags" >> $config_host_mak
-fi
-
-
if test "$avx2_opt" = "yes" ; then
echo "CONFIG_AVX2_OPT=y" >> $config_host_mak
fi
diff --git a/contrib/vhost-user-gpu/meson.build b/contrib/vhost-user-gpu/meson.build
index 4cb52a91d7..92c8f3a86a 100644
--- a/contrib/vhost-user-gpu/meson.build
+++ b/contrib/vhost-user-gpu/meson.build
@@ -1,6 +1,5 @@
-if 'CONFIG_TOOLS' in config_host and virgl.found() \
- and 'CONFIG_GBM' in config_host and 'CONFIG_LINUX' in config_host \
- and pixman.found()
+if 'CONFIG_TOOLS' in config_host and virgl.found() and gbm.found() \
+ and 'CONFIG_LINUX' in config_host and pixman.found()
executable('vhost-user-gpu', files('vhost-user-gpu.c', 'virgl.c', 'vugbm.c'),
dependencies: [qemuutil, pixman, gbm, virgl, vhost_user, opengl],
install: true,
diff --git a/meson.build b/meson.build
index 6cd2dc582a..be7a7b0f69 100644
--- a/meson.build
+++ b/meson.build
@@ -469,11 +469,6 @@ if not get_option('zstd').auto() or have_block
required: get_option('zstd'),
method: 'pkg-config', kwargs: static_kwargs)
endif
-gbm = not_found
-if 'CONFIG_GBM' in config_host
- gbm = declare_dependency(compile_args: config_host['GBM_CFLAGS'].split(),
- link_args: config_host['GBM_LIBS'].split())
-endif
virgl = not_found
if not get_option('virglrenderer').auto() or have_system
virgl = dependency('virglrenderer',
@@ -813,11 +808,16 @@ coreaudio = not_found
if 'CONFIG_AUDIO_COREAUDIO' in config_host
coreaudio = declare_dependency(link_args: config_host['COREAUDIO_LIBS'].split())
endif
+
opengl = not_found
if 'CONFIG_OPENGL' in config_host
opengl = declare_dependency(compile_args: config_host['OPENGL_CFLAGS'].split(),
link_args: config_host['OPENGL_LIBS'].split())
endif
+gbm = not_found
+if virgl.found() or 'CONFIG_OPENGL' in config_host
+ gbm = dependency('gbm', method: 'pkg-config', kwargs: static_kwargs)
+endif
gnutls = not_found
if not get_option('gnutls').auto() or have_system
@@ -1214,6 +1214,7 @@ config_host_data.set('CONFIG_MPATH', mpathpersist.found())
config_host_data.set('CONFIG_MPATH_NEW_API', mpathpersist_new_api)
config_host_data.set('CONFIG_CURL', curl.found())
config_host_data.set('CONFIG_CURSES', curses.found())
+config_host_data.set('CONFIG_GBM', gbm.found())
config_host_data.set('CONFIG_GLUSTERFS', glusterfs.found())
if glusterfs.found()
config_host_data.set('CONFIG_GLUSTERFS_XLATOR_OPT', glusterfs.version().version_compare('>=4'))
@@ -3036,7 +3037,7 @@ summary_info += {'U2F support': u2f.found()}
summary_info += {'libusb': libusb.found()}
summary_info += {'usb net redir': usbredir.found()}
summary_info += {'OpenGL support': config_host.has_key('CONFIG_OPENGL')}
-summary_info += {'GBM': config_host.has_key('CONFIG_GBM')}
+summary_info += {'GBM': gbm.found()}
summary_info += {'libiscsi support': libiscsi.found()}
summary_info += {'libnfs support': libnfs.found()}
if targetos == 'windows'
--
2.27.0
On 13/07/21 13:15, Thomas Huth wrote: > The GBM library detection does not need to be in the configure script, > since it does not have any user-facing options (there are no > --enable-gbm or --disable-gbm switches). Let's move it to meson.build > instead, so we don't have to clutter config-host.mak with the related > switches. > > Additionally, only check for GBM if it is really required, i.e. if we > either compile with OpenGL or with virglrenderer support. > > Signed-off-by: Thomas Huth <thuth@redhat.com> Queued, thanks. Paolo
On 13/07/2021 14.29, Paolo Bonzini wrote: > On 13/07/21 13:15, Thomas Huth wrote: >> The GBM library detection does not need to be in the configure script, >> since it does not have any user-facing options (there are no >> --enable-gbm or --disable-gbm switches). Let's move it to meson.build >> instead, so we don't have to clutter config-host.mak with the related >> switches. >> >> Additionally, only check for GBM if it is really required, i.e. if we >> either compile with OpenGL or with virglrenderer support. >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> > > Queued, thanks. Drat, sorry, I sent it out too early, one of the CI pipelines finally failed: https://gitlab.com/thuth/qemu/-/jobs/1420060624#L100 ... thus please drop it again, I have to fix that first. Thomas
On 14/07/2021 09.12, Thomas Huth wrote: > On 13/07/2021 14.29, Paolo Bonzini wrote: >> On 13/07/21 13:15, Thomas Huth wrote: >>> The GBM library detection does not need to be in the configure script, >>> since it does not have any user-facing options (there are no >>> --enable-gbm or --disable-gbm switches). Let's move it to meson.build >>> instead, so we don't have to clutter config-host.mak with the related >>> switches. >>> >>> Additionally, only check for GBM if it is really required, i.e. if we >>> either compile with OpenGL or with virglrenderer support. >>> >>> Signed-off-by: Thomas Huth <thuth@redhat.com> >> >> Queued, thanks. > > Drat, sorry, I sent it out too early, one of the CI pipelines finally failed: > > https://gitlab.com/thuth/qemu/-/jobs/1420060624#L100 > > ... thus please drop it again, I have to fix that first. It was just a missing "required: false" in the gbm dependency() statement. I've just sent out a v2 which should be fine now. Thomas
On 13/07/21 13:15, Thomas Huth wrote:
> +if virgl.found() or 'CONFIG_OPENGL' in config_host
> + gbm = dependency('gbm', method: 'pkg-config', kwargs: static_kwargs)
> +endif
>
> gnutls = not_found
Tweaked to add "required: false".
Paolo
© 2016 - 2026 Red Hat, Inc.