* [PULL v2 00/10] Testing, build system and misc patches
@ 2021-09-06 11:29 Thomas Huth
2021-09-06 11:29 ` [PULL v2 06/10] configure / meson: Move the GBM handling to meson.build Thomas Huth
2021-09-06 13:36 ` [PULL v2 00/10] Testing, build system and misc patches Peter Maydell
0 siblings, 2 replies; 6+ messages in thread
From: Thomas Huth @ 2021-09-06 11:29 UTC (permalink / raw)
To: qemu-devel, Peter Maydell
Hi Peter!
The following changes since commit 31ebff513fad11f315377f6b07447169be8d9f86:
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2021-09-03' into staging (2021-09-04 19:21:19 +0100)
are available in the Git repository at:
https://gitlab.com/thuth/qemu.git tags/pull-request-2021-09-06
for you to fetch changes up to 6695e4c0fd9ef05bf6ab8e3402d5bc95b39c4cf3:
softmmu/vl: Deprecate the -sdl and -curses option (2021-09-06 10:00:14 +0200)
v2:
- Dropped patches that were already merged through Alex' pull request
- Fixed the GBM patch to not cause a warning with --static use builds anymore
----------------------------------------------------------------
* Add definitions of terms for CI/testing
* Fix g_setenv problem discovered by Coverity
* Gitlab CI improvements
* Build system improvements (configure script + meson.build)
* Removal of the show-fixed-bugs.sh script
* Clean up of the sdl and curses options
----------------------------------------------------------------
Peter Maydell (1):
libqtest: check for g_setenv() failure
Thomas Huth (8):
gitlab-ci: Don't try to use the system libfdt in the debian job
meson.build: Fix the check for a usable libfdt
meson.build: Don't use internal libfdt if the user requested the system libfdt
configure / meson: Move the GBM handling to meson.build
scripts: Remove the "show-fixed-bugs.sh" file
softmmu/vl: Add a "grab-mod" parameter to the -display sdl option
softmmu/vl: Deprecate the old grab options
softmmu/vl: Deprecate the -sdl and -curses option
Willian Rampazzo (1):
docs: add definitions of terms for CI/testing
.gitlab-ci.d/buildtest.yml | 1 -
configure | 14 -----
contrib/vhost-user-gpu/meson.build | 5 +-
docs/about/deprecated.rst | 20 ++++++
docs/devel/ci-definitions.rst | 121 +++++++++++++++++++++++++++++++++++++
docs/devel/ci.rst | 1 +
meson.build | 17 ++++--
qemu-options.hx | 18 ++++--
scripts/show-fixed-bugs.sh | 91 ----------------------------
softmmu/vl.c | 24 +++++++-
tests/qtest/libqtest.c | 4 +-
11 files changed, 192 insertions(+), 124 deletions(-)
create mode 100644 docs/devel/ci-definitions.rst
delete mode 100755 scripts/show-fixed-bugs.sh
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PULL v2 06/10] configure / meson: Move the GBM handling to meson.build
2021-09-06 11:29 [PULL v2 00/10] Testing, build system and misc patches Thomas Huth
@ 2021-09-06 11:29 ` Thomas Huth
2021-09-06 11:37 ` Peter Maydell
2021-09-06 13:36 ` [PULL v2 00/10] Testing, build system and misc patches Peter Maydell
1 sibling, 1 reply; 6+ messages in thread
From: Thomas Huth @ 2021-09-06 11:29 UTC (permalink / raw)
To: qemu-devel, Peter Maydell
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.
Message-Id: <20210714085045.797168-1-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
configure | 14 --------------
contrib/vhost-user-gpu/meson.build | 5 ++---
meson.build | 14 ++++++++------
3 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/configure b/configure
index bd823307a6..8adf2127c3 100755
--- a/configure
+++ b/configure
@@ -3451,13 +3451,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
@@ -4688,13 +4681,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 ecfdce921c..7e58e6279b 100644
--- a/meson.build
+++ b/meson.build
@@ -472,11 +472,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',
@@ -816,11 +811,17 @@ 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 (have_system or have_tools) and (virgl.found() or opengl.found())
+ gbm = dependency('gbm', method: 'pkg-config', required: false,
+ kwargs: static_kwargs)
+endif
gnutls = not_found
gnutls_crypto = not_found
@@ -1244,6 +1245,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'))
@@ -3086,7 +3088,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
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PULL v2 06/10] configure / meson: Move the GBM handling to meson.build
2021-09-06 11:29 ` [PULL v2 06/10] configure / meson: Move the GBM handling to meson.build Thomas Huth
@ 2021-09-06 11:37 ` Peter Maydell
2021-09-06 12:47 ` Thomas Huth
0 siblings, 1 reply; 6+ messages in thread
From: Peter Maydell @ 2021-09-06 11:37 UTC (permalink / raw)
To: Thomas Huth; +Cc: QEMU Developers
On Mon, 6 Sept 2021 at 12:30, Thomas Huth <thuth@redhat.com> 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.
>
> Message-Id: <20210714085045.797168-1-thuth@redhat.com>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
I assume this doesn't change behaviour here, so this is more of
a maybe-followup-improvement note, but the gbm checking (in the
old configure version) recently confused somebody on qemu-discuss:
https://lists.nongnu.org/archive/html/qemu-discuss/2021-09/msg00010.html
They didn't have libgbm installed, and because there's no
--enable-gbm there's no way to force configure to enable the egl-headless
UI frontend -- it is always silently falls back to "don't build that".
Ideally we ought to provide a means for distros and users to say
"make sure you build this feature or barf" the way we do with other
things, I guess.
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: configure / meson: Move the GBM handling to meson.build
2021-09-06 11:37 ` Peter Maydell
@ 2021-09-06 12:47 ` Thomas Huth
2021-09-06 12:54 ` Marc-André Lureau
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Huth @ 2021-09-06 12:47 UTC (permalink / raw)
To: Peter Maydell, Marc-André Lureau; +Cc: QEMU Developers, Gerd Hoffmann
On 06/09/2021 13.37, Peter Maydell wrote:
> On Mon, 6 Sept 2021 at 12:30, Thomas Huth <thuth@redhat.com> 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.
>>
>> Message-Id: <20210714085045.797168-1-thuth@redhat.com>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>
> I assume this doesn't change behaviour here,
Right.
> so this is more of
> a maybe-followup-improvement note, but the gbm checking (in the
> old configure version) recently confused somebody on qemu-discuss:
> https://lists.nongnu.org/archive/html/qemu-discuss/2021-09/msg00010.html
> They didn't have libgbm installed, and because there's no
> --enable-gbm there's no way to force configure to enable the egl-headless
> UI frontend -- it is always silently falls back to "don't build that".
> Ideally we ought to provide a means for distros and users to say
> "make sure you build this feature or barf" the way we do with other
> things, I guess.
Marc-André, you've introduced the GBM library in commit d52c454aa as far as
I can see ... could you please comment on this? Was there a reason not to
add --enable-gbm and --disable-gbm switches?
Thomas
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: configure / meson: Move the GBM handling to meson.build
2021-09-06 12:47 ` Thomas Huth
@ 2021-09-06 12:54 ` Marc-André Lureau
0 siblings, 0 replies; 6+ messages in thread
From: Marc-André Lureau @ 2021-09-06 12:54 UTC (permalink / raw)
To: Thomas Huth; +Cc: Peter Maydell, QEMU Developers, Gerd Hoffmann
[-- Attachment #1: Type: text/plain, Size: 1764 bytes --]
Hi
On Mon, Sep 6, 2021 at 4:49 PM Thomas Huth <thuth@redhat.com> wrote:
> On 06/09/2021 13.37, Peter Maydell wrote:
> > On Mon, 6 Sept 2021 at 12:30, Thomas Huth <thuth@redhat.com> 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.
> >>
> >> Message-Id: <20210714085045.797168-1-thuth@redhat.com>
> >> Signed-off-by: Thomas Huth <thuth@redhat.com>
> >
> > I assume this doesn't change behaviour here,
>
> Right.
>
> > so this is more of
> > a maybe-followup-improvement note, but the gbm checking (in the
> > old configure version) recently confused somebody on qemu-discuss:
> > https://lists.nongnu.org/archive/html/qemu-discuss/2021-09/msg00010.html
> > They didn't have libgbm installed, and because there's no
> > --enable-gbm there's no way to force configure to enable the egl-headless
> > UI frontend -- it is always silently falls back to "don't build that".
> > Ideally we ought to provide a means for distros and users to say
> > "make sure you build this feature or barf" the way we do with other
> > things, I guess.
>
> Marc-André, you've introduced the GBM library in commit d52c454aa as far
> as
> I can see ... could you please comment on this? Was there a reason not to
> add --enable-gbm and --disable-gbm switches?
>
No, I agree we should have switches for it.
--
Marc-André Lureau
[-- Attachment #2: Type: text/html, Size: 2701 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PULL v2 00/10] Testing, build system and misc patches
2021-09-06 11:29 [PULL v2 00/10] Testing, build system and misc patches Thomas Huth
2021-09-06 11:29 ` [PULL v2 06/10] configure / meson: Move the GBM handling to meson.build Thomas Huth
@ 2021-09-06 13:36 ` Peter Maydell
1 sibling, 0 replies; 6+ messages in thread
From: Peter Maydell @ 2021-09-06 13:36 UTC (permalink / raw)
To: Thomas Huth; +Cc: QEMU Developers
On Mon, 6 Sept 2021 at 12:29, Thomas Huth <thuth@redhat.com> wrote:
>
> Hi Peter!
>
> The following changes since commit 31ebff513fad11f315377f6b07447169be8d9f86:
>
> Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2021-09-03' into staging (2021-09-04 19:21:19 +0100)
>
> are available in the Git repository at:
>
> https://gitlab.com/thuth/qemu.git tags/pull-request-2021-09-06
>
> for you to fetch changes up to 6695e4c0fd9ef05bf6ab8e3402d5bc95b39c4cf3:
>
> softmmu/vl: Deprecate the -sdl and -curses option (2021-09-06 10:00:14 +0200)
>
> v2:
> - Dropped patches that were already merged through Alex' pull request
> - Fixed the GBM patch to not cause a warning with --static use builds anymore
>
> ----------------------------------------------------------------
> * Add definitions of terms for CI/testing
> * Fix g_setenv problem discovered by Coverity
> * Gitlab CI improvements
> * Build system improvements (configure script + meson.build)
> * Removal of the show-fixed-bugs.sh script
> * Clean up of the sdl and curses options
>
Applied, thanks.
Please update the changelog at https://wiki.qemu.org/ChangeLog/6.2
for any user-visible changes.
-- PMM
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-09-06 13:50 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-09-06 11:29 [PULL v2 00/10] Testing, build system and misc patches Thomas Huth
2021-09-06 11:29 ` [PULL v2 06/10] configure / meson: Move the GBM handling to meson.build Thomas Huth
2021-09-06 11:37 ` Peter Maydell
2021-09-06 12:47 ` Thomas Huth
2021-09-06 12:54 ` Marc-André Lureau
2021-09-06 13:36 ` [PULL v2 00/10] Testing, build system and misc patches Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).