qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
@ 2023-06-02 16:34 Thomas Huth
  2023-06-03  3:30 ` Richard Henderson
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Thomas Huth @ 2023-06-02 16:34 UTC (permalink / raw)
  To: Paolo Bonzini, Marc-André Lureau, qemu-devel
  Cc: Daniel P. Berrangé, Philippe Mathieu-Daudé,
	qemu-trivial

There is no need to disable this useful compiler warning for
all versions of the SDL. Unfortunately, various versions are
buggy (beside SDL 2.0.8, the version 2.26.0 and 2.26.1 are
broken, too, see https://github.com/libsdl-org/SDL/issues/6619 ),
but we can use a simple compiler check to see whether we need
the -Wno-undef or not.

This also enables the printing of the version number with
good versions of the SDL in the summary of the meson output
again.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 v2: Compile test code instead of hard-coding the version number

 meson.build | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/meson.build b/meson.build
index a61d3e9b06..a4c69616c3 100644
--- a/meson.build
+++ b/meson.build
@@ -1273,10 +1273,16 @@ if not get_option('sdl').auto() or have_system
   sdl_image = not_found
 endif
 if sdl.found()
-  # work around 2.0.8 bug
-  sdl = declare_dependency(compile_args: '-Wno-undef',
-                           dependencies: sdl,
-                           version: sdl.version())
+  # Some versions of SDL have problems with -Wundef
+  if not cc.compiles('''
+                     #include <SDL.h>
+                     #include <SDL_syswm.h>
+                     int main(int argc, char *argv[]) { return 0; }
+                     ''', dependencies: sdl, args: '-Wundef')
+    sdl = declare_dependency(compile_args: '-Wno-undef',
+                             dependencies: sdl,
+                             version: sdl.version())
+  endif
   sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
                          method: 'pkg-config')
 else
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-02 16:34 [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it Thomas Huth
@ 2023-06-03  3:30 ` Richard Henderson
  2023-06-05  7:46 ` Thomas Huth
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 9+ messages in thread
From: Richard Henderson @ 2023-06-03  3:30 UTC (permalink / raw)
  To: Thomas Huth, Paolo Bonzini, Marc-André Lureau, qemu-devel
  Cc: Daniel P. Berrangé, Philippe Mathieu-Daudé,
	qemu-trivial

On 6/2/23 09:34, Thomas Huth wrote:
> There is no need to disable this useful compiler warning for
> all versions of the SDL. Unfortunately, various versions are
> buggy (beside SDL 2.0.8, the version 2.26.0 and 2.26.1 are
> broken, too, seehttps://github.com/libsdl-org/SDL/issues/6619  ),
> but we can use a simple compiler check to see whether we need
> the -Wno-undef or not.
> 
> This also enables the printing of the version number with
> good versions of the SDL in the summary of the meson output
> again.
> 
> Signed-off-by: Thomas Huth<thuth@redhat.com>
> ---
>   v2: Compile test code instead of hard-coding the version number

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>

r~


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-02 16:34 [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it Thomas Huth
  2023-06-03  3:30 ` Richard Henderson
@ 2023-06-05  7:46 ` Thomas Huth
  2023-06-05  8:27 ` Paolo Bonzini
  2023-06-05  8:53 ` Daniel P. Berrangé
  3 siblings, 0 replies; 9+ messages in thread
From: Thomas Huth @ 2023-06-05  7:46 UTC (permalink / raw)
  To: Paolo Bonzini, Marc-André Lureau, qemu-devel
  Cc: Daniel P. Berrangé, Philippe Mathieu-Daudé,
	qemu-trivial

On 02/06/2023 18.34, Thomas Huth wrote:
> There is no need to disable this useful compiler warning for
> all versions of the SDL. Unfortunately, various versions are
> buggy (beside SDL 2.0.8, the version 2.26.0 and 2.26.1 are
> broken, too, see https://github.com/libsdl-org/SDL/issues/6619 ),
> but we can use a simple compiler check to see whether we need
> the -Wno-undef or not.
> 
> This also enables the printing of the version number with
> good versions of the SDL in the summary of the meson output
> again.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   v2: Compile test code instead of hard-coding the version number
> 
>   meson.build | 14 ++++++++++----
>   1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index a61d3e9b06..a4c69616c3 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1273,10 +1273,16 @@ if not get_option('sdl').auto() or have_system
>     sdl_image = not_found
>   endif
>   if sdl.found()
> -  # work around 2.0.8 bug
> -  sdl = declare_dependency(compile_args: '-Wno-undef',
> -                           dependencies: sdl,
> -                           version: sdl.version())
> +  # Some versions of SDL have problems with -Wundef
> +  if not cc.compiles('''
> +                     #include <SDL.h>
> +                     #include <SDL_syswm.h>
> +                     int main(int argc, char *argv[]) { return 0; }
> +                     ''', dependencies: sdl, args: '-Wundef')
> +    sdl = declare_dependency(compile_args: '-Wno-undef',
> +                             dependencies: sdl,
> +                             version: sdl.version())
> +  endif
>     sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
>                            method: 'pkg-config')
>   else

Hmm, there must still be something wrong with this patch, I'm still getting 
build failures with this in the CI ... no clue why yet, but please disregard 
this patch.

  Thomas



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-02 16:34 [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it Thomas Huth
  2023-06-03  3:30 ` Richard Henderson
  2023-06-05  7:46 ` Thomas Huth
@ 2023-06-05  8:27 ` Paolo Bonzini
  2023-06-05  8:47   ` Thomas Huth
  2023-06-05  8:53 ` Daniel P. Berrangé
  3 siblings, 1 reply; 9+ messages in thread
From: Paolo Bonzini @ 2023-06-05  8:27 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Marc-André Lureau, qemu-devel, Daniel P . Berrangé,
	Philippe Mathieu-Daudé, qemu-trivial

Queued, thanks.

Paolo



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-05  8:27 ` Paolo Bonzini
@ 2023-06-05  8:47   ` Thomas Huth
  2023-06-05  9:05     ` Paolo Bonzini
  0 siblings, 1 reply; 9+ messages in thread
From: Thomas Huth @ 2023-06-05  8:47 UTC (permalink / raw)
  To: Paolo Bonzini
  Cc: Marc-André Lureau, qemu-devel, Daniel P . Berrangé,
	Philippe Mathieu-Daudé, qemu-trivial

On 05/06/2023 10.27, Paolo Bonzini wrote:
> Queued, thanks.

Please unqueue it again, I'm still seeing some issues with the patch (not 
sure why yet):

  https://gitlab.com/thuth/qemu/-/jobs/4411089009

  Thomas



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-02 16:34 [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it Thomas Huth
                   ` (2 preceding siblings ...)
  2023-06-05  8:27 ` Paolo Bonzini
@ 2023-06-05  8:53 ` Daniel P. Berrangé
  2023-06-05  8:58   ` Thomas Huth
  3 siblings, 1 reply; 9+ messages in thread
From: Daniel P. Berrangé @ 2023-06-05  8:53 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Paolo Bonzini, Marc-André Lureau, qemu-devel,
	Philippe Mathieu-Daudé, qemu-trivial

On Fri, Jun 02, 2023 at 06:34:52PM +0200, Thomas Huth wrote:
> There is no need to disable this useful compiler warning for
> all versions of the SDL. Unfortunately, various versions are
> buggy (beside SDL 2.0.8, the version 2.26.0 and 2.26.1 are
> broken, too, see https://github.com/libsdl-org/SDL/issues/6619 ),
> but we can use a simple compiler check to see whether we need
> the -Wno-undef or not.
> 
> This also enables the printing of the version number with
> good versions of the SDL in the summary of the meson output
> again.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  v2: Compile test code instead of hard-coding the version number
> 
>  meson.build | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index a61d3e9b06..a4c69616c3 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -1273,10 +1273,16 @@ if not get_option('sdl').auto() or have_system
>    sdl_image = not_found
>  endif
>  if sdl.found()
> -  # work around 2.0.8 bug
> -  sdl = declare_dependency(compile_args: '-Wno-undef',
> -                           dependencies: sdl,
> -                           version: sdl.version())
> +  # Some versions of SDL have problems with -Wundef
> +  if not cc.compiles('''
> +                     #include <SDL.h>
> +                     #include <SDL_syswm.h>
> +                     int main(int argc, char *argv[]) { return 0; }
> +                     ''', dependencies: sdl, args: '-Wundef')

Don't you need to pass '-Werror' there too, otherwise -Wundef will
merely generate an warning and still succeed.

> +    sdl = declare_dependency(compile_args: '-Wno-undef',
> +                             dependencies: sdl,
> +                             version: sdl.version())
> +  endif
>    sdl_image = dependency('SDL2_image', required: get_option('sdl_image'),
>                           method: 'pkg-config')
>  else
> -- 
> 2.31.1
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-05  8:53 ` Daniel P. Berrangé
@ 2023-06-05  8:58   ` Thomas Huth
  0 siblings, 0 replies; 9+ messages in thread
From: Thomas Huth @ 2023-06-05  8:58 UTC (permalink / raw)
  To: Daniel P. Berrangé
  Cc: Paolo Bonzini, Marc-André Lureau, qemu-devel,
	Philippe Mathieu-Daudé, qemu-trivial

On 05/06/2023 10.53, Daniel P. Berrangé wrote:
> On Fri, Jun 02, 2023 at 06:34:52PM +0200, Thomas Huth wrote:
>> There is no need to disable this useful compiler warning for
>> all versions of the SDL. Unfortunately, various versions are
>> buggy (beside SDL 2.0.8, the version 2.26.0 and 2.26.1 are
>> broken, too, see https://github.com/libsdl-org/SDL/issues/6619 ),
>> but we can use a simple compiler check to see whether we need
>> the -Wno-undef or not.
>>
>> This also enables the printing of the version number with
>> good versions of the SDL in the summary of the meson output
>> again.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>> ---
>>   v2: Compile test code instead of hard-coding the version number
>>
>>   meson.build | 14 ++++++++++----
>>   1 file changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/meson.build b/meson.build
>> index a61d3e9b06..a4c69616c3 100644
>> --- a/meson.build
>> +++ b/meson.build
>> @@ -1273,10 +1273,16 @@ if not get_option('sdl').auto() or have_system
>>     sdl_image = not_found
>>   endif
>>   if sdl.found()
>> -  # work around 2.0.8 bug
>> -  sdl = declare_dependency(compile_args: '-Wno-undef',
>> -                           dependencies: sdl,
>> -                           version: sdl.version())
>> +  # Some versions of SDL have problems with -Wundef
>> +  if not cc.compiles('''
>> +                     #include <SDL.h>
>> +                     #include <SDL_syswm.h>
>> +                     int main(int argc, char *argv[]) { return 0; }
>> +                     ''', dependencies: sdl, args: '-Wundef')
> 
> Don't you need to pass '-Werror' there too, otherwise -Wundef will
> merely generate an warning and still succeed.

Of course! Thank you very much ... not sure how I could have missed that 
detail :-/

  Thomas



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-05  8:47   ` Thomas Huth
@ 2023-06-05  9:05     ` Paolo Bonzini
  2023-06-05  9:48       ` Paolo Bonzini
  0 siblings, 1 reply; 9+ messages in thread
From: Paolo Bonzini @ 2023-06-05  9:05 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Marc-André Lureau, qemu-devel, Daniel P . Berrangé,
	Philippe Mathieu-Daudé, qemu-trivial

On 6/5/23 10:47, Thomas Huth wrote:
> On 05/06/2023 10.27, Paolo Bonzini wrote:
>> Queued, thanks.
> 
> Please unqueue it again, I'm still seeing some issues with the patch 
> (not sure why yet):
> 
> https://gitlab.com/thuth/qemu/-/jobs/4411089009

Yeah, noticed that myself now. :)

Paolo



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it
  2023-06-05  9:05     ` Paolo Bonzini
@ 2023-06-05  9:48       ` Paolo Bonzini
  0 siblings, 0 replies; 9+ messages in thread
From: Paolo Bonzini @ 2023-06-05  9:48 UTC (permalink / raw)
  To: Thomas Huth
  Cc: Marc-André Lureau, qemu-devel, Daniel P . Berrangé,
	Philippe Mathieu-Daudé, qemu-trivial

On 6/5/23 11:05, Paolo Bonzini wrote:
> 
>> On 05/06/2023 10.27, Paolo Bonzini wrote:
>>> Queued, thanks.
>>
>> Please unqueue it again, I'm still seeing some issues with the patch 
>> (not sure why yet):
>>
>> https://gitlab.com/thuth/qemu/-/jobs/4411089009
> 
> Yeah, noticed that myself now. 😄

I think all you need is:

diff --git a/meson.build b/meson.build
index 025523f2065..3ec35c96fea 100644
--- a/meson.build
+++ b/meson.build
@@ -1345,7 +1345,7 @@ if sdl.found()
                       #include <SDL.h>
                       #include <SDL_syswm.h>
                       int main(int argc, char *argv[]) { return 0; }
-                     ''', dependencies: sdl, args: '-Wundef')
+                     ''', dependencies: sdl, args: ['-Wundef', '-Werror'])
      sdl = declare_dependency(compile_args: '-Wno-undef',
                               dependencies: sdl,
                               version: sdl.version())

Paolo



^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-06-05  9:49 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-02 16:34 [PATCH v2] meson.build: Use -Wno-undef only for SDL2 versions that need it Thomas Huth
2023-06-03  3:30 ` Richard Henderson
2023-06-05  7:46 ` Thomas Huth
2023-06-05  8:27 ` Paolo Bonzini
2023-06-05  8:47   ` Thomas Huth
2023-06-05  9:05     ` Paolo Bonzini
2023-06-05  9:48       ` Paolo Bonzini
2023-06-05  8:53 ` Daniel P. Berrangé
2023-06-05  8:58   ` Thomas Huth

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).