From fe8f8981d003ea8b1e21614944a58b80a158cd1e Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Thu, 27 Jun 2019 14:52:40 -0700 Subject: [PATCH] meson: don't error on formaters with mingw MSVC is generally happy, but mingw errors. I've spent as much time (several days) trying to squash all of these warnings and I'm done with it, just leave them as warnings with MinGW. Acked-by: Kristian H. Kristensen --- meson.build | 61 ++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 31 deletions(-) diff --git a/meson.build b/meson.build index 781a21cf2ee..c96f1ed0f7b 100644 --- a/meson.build +++ b/meson.build @@ -937,28 +937,41 @@ if cc.get_id() == 'msvc' cpp_args += '-Wno-microsoft-enum-value' endif else - foreach a : ['-Werror=implicit-function-declaration', - '-Werror=missing-prototypes', - '-Werror=return-type', - '-Werror=incompatible-pointer-types', - '-Werror=format', - '-Wformat-security', - '-Wno-missing-field-initializers', - '-Wno-format-truncation', - '-fno-math-errno', - '-fno-trapping-math', - '-Qunused-arguments'] + _trial = [ + '-Werror=implicit-function-declaration', + '-Werror=missing-prototypes', + '-Werror=return-type', + '-Werror=incompatible-pointer-types', + '-Wno-missing-field-initializers', + '-Wno-format-truncation', + '-fno-math-errno', + '-fno-trapping-math', + '-Qunused-arguments', + ] + # MinGW chokes on format specifiers and I can't get it all working + if not (cc.get_id() == 'gcc' and host_machine.system() == 'windows') + _trial += ['-Werror=format', '-Wformat-security'] + endif + foreach a : _trial if cc.has_argument(a) c_args += a endif endforeach - # Check for generic C++ arguments - foreach a : ['-Werror=return-type', - '-Werror=format', - '-Wformat-security', - '-fno-math-errno', '-fno-trapping-math', - '-Qunused-arguments'] + _trial = [ + '-Werror=return-type', + '-Wno-non-virtual-dtor', + '-Wno-missing-field-initializers', + '-Wno-format-truncation', + '-fno-math-errno', + '-fno-trapping-math', + '-Qunused-arguments', + ] + # MinGW chokes on format specifiers and I can't get it all working + if not (cc.get_id() == 'gcc' and host_machine.system() == 'windows') + _trial += ['-Werror=format', '-Wformat-security'] + endif + foreach a : _trial if cpp.has_argument(a) cpp_args += a endif @@ -974,20 +987,6 @@ else c_vis_args += '-fvisibility=hidden' endif - foreach a : ['-Werror=return-type', - '-Werror=format', - '-Wformat-security', - '-Wno-non-virtual-dtor', - '-Wno-missing-field-initializers', - '-Wno-format-truncation', - '-fno-math-errno', - '-fno-trapping-math', - '-Qunused-arguments'] - if cpp.has_argument(a) - cpp_args += a - endif - endforeach - # Check for C and C++ arguments for MSVC2013 compatibility. These are only # used in parts of the mesa code base that need to compile with old versions # of MSVC, mainly common code -- 2.30.2