diff options
author | Adam Jackson <ajax@redhat.com> | 2017-09-27 14:31:39 -0400 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2017-10-04 11:19:15 -0400 |
commit | db465bae533f85e7f900deb96efecc831c9d550b (patch) | |
tree | fc3383b64cb15b2079c6f1f5d734f22be5b97dc1 | |
parent | 40c90ead044aa3fab79280d7a5ca5ad8e390029e (diff) |
meson: Port default warning flags from xorg-macros
Well, almost all of them. No -Wdeclaration-after-statement because
that's legal in C99, and in the limited ways we use it, more readable.
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
-rw-r--r-- | meson.build | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/meson.build b/meson.build index 811d3d4ce..d71cfed5a 100644 --- a/meson.build +++ b/meson.build @@ -14,8 +14,49 @@ add_global_arguments('-fvisibility=hidden', language : 'c') add_global_link_arguments('-fvisibility=hidden', language : 'c') -# Quiet some EXA warnings. -add_global_arguments('-Wno-discarded-qualifiers', language : 'c') +if cc.get_id() == 'gcc' or cc.get_id() == 'clang' + test_wflags = [ + '-Wall', + '-Wpointer-arith', + '-Wmissing-declarations', + '-Wformat=2', + '-Wstrict-prototypes', + '-Wmissing-prototypes', + '-Wnested-externs', + '-Wbad-function-cast', + '-Wold-style-definition', + '-Wunused', + '-Wuninitialized', + '-Wshadow', + '-Wmissing-noreturn', + '-Wmissing-format-attribute', + '-Wredundant-decls', + '-Werror=implicit', + '-Werror=nonnull', + '-Werror=init-self', + '-Werror=main', + '-Werror=missing-braces', + '-Werror=sequence-point', + '-Werror=return-type', + '-Werror=trigraphs', + '-Werror=array-bounds', + '-Werror=write-strings', + '-Werror=address', + '-Werror=int-to-pointer-cast', + '-Werror=pointer-to-int-cast', + ] +else + test_wflags = [] +endif + +common_wflags = [] +foreach wflag: test_wflags + if cc.has_argument(wflag) + common_wflags += [ wflag ] + endif +endforeach + +add_global_arguments(common_wflags, language : 'c') xproto_dep = dependency('xproto', version: '>= 7.0.31') randrproto_dep = dependency('randrproto', version: '>= 1.5.0') |