All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.