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.

Reply via email to