On Tue, Sep 01, 2020 at 04:37:06PM -0600, Jim Fehlig wrote:
On 9/1/20 8:08 AM, 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(-)
I'm just learning meson so not particularly confident to review patches, but
will note this change causes a warning in downstream package build where the
%meson rpm macro is used
[ 23s] Compiler for C supports arguments -Wall: YES
[ 23s] Compiler for C supports arguments -Wextra: YES
[ 23s] meson.build:594: WARNING: Consider using the built-in warning_level
option instead of using "-Wall".
[ 23s] meson.build:594: WARNING: Consider using the built-in warning_level
option instead of using "-Wextra".
With the way how Meson handles buildtype=plain and warning_level it is
expected to see the warning.
They check the existence of these flags and print a warning regardless
of the used buildtype but as explained in the commit message Meson
ignores warning_level if buildtype=plain and doesn't add these flags
even if warning_level is set. It is inconsistent behavior in Meson and
it should be somehow fixed.
Pavel