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 <th...@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 :|