On Tue, Sep 01, 2020 at 04:08:04PM +0200, Pavel Hrdina wrote:
If someone runs `meson setup --buildtype plain` meson ignores
warning_level=2 that is in our meson.build file. The implication is
that Meson will not automatically add -Wall which enables -Wformat.
This breaks building libvirt from git with the buildtype set to plain.
There is an issue reported [1] to not ignore warning_level silently
and the change to ignore it was done by upstream commit [2].
[1] <
https://github.com/mesonbuild/meson/issues/7399>
[2]
<
https://github.com/mesonbuild/meson/commit/8ee1c9a07a3a35e3ed262fbc358fd8...
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
meson.build | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/meson.build b/meson.build
index e193166a9b..f38785eeae 100644
--- a/meson.build
+++ b/meson.build
@@ -503,10 +503,6 @@ cc_flags_disabled = [
# In meson this is specified using 'c_std=gnu99' in project() function.
'-std=gnu99',
- # In meson this is specified using 'warning_level=2' in project() function.
- '-Wall',
- '-Wextra',
-
# don't care about C++ compiler compat
'-Wc++-compat',
'-Wabi',
@@ -573,6 +569,21 @@ cc_flags_disabled = [
'-Wsuggest-attribute=malloc',
]
+# In meson this is specified using 'warning_level=2' in project() function.
+# However, meson silently ignores 'warning_level' option with
'buildtype=plain'
+# so we have to enable them explicitly.
+if get_option('buildtype') == 'plain'
+ cc_flags += [
+ '-Wall',
+ '-Wextra',
+ ]
+else
+ cc_flags_disabled += [
+ '-Wall',
+ '-Wextra',
+ ]
+endif
I'd really just simplify this to remove the conditional and always
add -Wall/-Wextra, and ignore the warning meson will print.
I tend to think they should provide a way to squelch that warning,
as it is too presumtous that apps will only ever need to set the
basic warning flags, instead of warning to set many like libvirt
does.
Or maybe, meson can be enhanced to allow setting many warnings
like libvirt uses
+
foreach flag : cc_flags_disabled
if cc_flags.contains(flag)
error('@0@ is disabled but listed in cc_flags'.format(flag))
--
2.26.2
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 :|