On 28/3/23 08:29, Stefan Weil wrote:
Am 27.03.23 um 23:09 schrieb Paolo Bonzini:
Il lun 27 mar 2023, 20:58 Philippe Mathieu-Daudé <phi...@linaro.org>
ha scritto:
> The warning can also be suppressed if the build uses `-isystem
> /opt/homebrew/include` instead of `-I/opt/homebrew/include` as I
just
> have tested.
Is that option added by QEMU's configure or meson.build? Or is it
added by homebrew? The fact that /opt/homebrew/include it isn't
considered a system seems to be a homebrew decision.
IIUC by design meson only allows including *relative* directories,
and manage the system ones:
https://mesonbuild.com/Include-directories.html
That's for includes that are part of QEMU.
Meson has as_system for dependency objects
(https://mesonbuild.com/Reference-manual_returned_dep.html) but lzfse
doesn't have a .pc file, its detection has to be done by hand.
Paolo
> If we can find a solution how to implement that I thing it would
look
> nicer. Technically the patch looks good.
>
> Reviewed-by: Stefan Weil <s...@weilnetz.de>
Thanks!
Typically I configure the build on macOS with `./configure
--extra-cflags=-I/opt/homebrew/include
--extra-ldflags=-L/opt/homebrew/lib --disable-werror`. With that
configuration I get the two warnings for lzfse.h.
When I use `./configure '--extra-cflags=-isystem /opt/homebrew/include'
--extra-ldflags=-L/opt/homebrew/lib --disable-werror` instead, I get no
compiler warnings (and `--disable-werror` could be ommitted).
So at least for macOS with Homebrew in /opt/homebrew (M1 / M2 Macs) the
patch is not needed when the right configure options (`--extra-cflags`)
were used.
What I learned:
- If lzfse were well packaged (as noted Paolo), we could use
dependency(..., include_type: 'system')
https://github.com/mesonbuild/meson/issues/963#issuecomment-1277851401
- I agree with Eli Schwartz, a Meson maintainer:
> More bugs caused by and only affecting people who misuse and
> abuse -isystem as "not system, but as a side effect please
> don't emit warnings for this messy dependency"...
https://github.com/mesonbuild/meson/issues/8755#issuecomment-836913759
I wasted few hours on this, and am now giving up in favor of this simple
patch.