qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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).