meson.build | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-)
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
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 :|
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
Queued, thanks. Paolo
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
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
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
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
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~
© 2016 - 2024 Red Hat, Inc.