On 04/01/21 16:19, Peter Maydell wrote:
On Mon, 4 Jan 2021 at 14:40, Paolo Bonzini <[email protected]> wrote:

On 04/01/21 14:21, Peter Maydell wrote:
The rest of QEMU should only ever be using QEMU's TLS abstractions
and not directly be tied to GNUTLS. So ideally the gnutls flags
should only ever be added in the crypto/meson.build, and anything
which depends on that should then get the flags indirectly.
Unfortunately include/crypto/tlscreds.h leaks this implementation
detail

That is not a problem.  As Daniel said, anything depending on crypto can
still get the gnutls flags _indirectly_.

In my proposed solution to the bug you'd get that via

      io_ss.add(crypto, qom)
      libio = static_library(..., dependencies: io_ss.dependencies())

Does this work recursively? For instance monitor/qmp-cmds.c
needs the gnutls CFLAGS because:
  * qmp-cmds.c includes ui/vnc.h
  * ui/vnc.h includes include/crypto/tlssession.h
  * include/crypto/tlssession.h includes gnutls.h

I don't see anything in monitor/meson.build that says "qmp-cmds.c
needs whatever ui's dependencies are".

Hmm, I would have thought it would be handled, but Roman said otherwise. I'll look into it, at worst we can fix Meson and temporarily apply Roman's patch until it makes it into a release.

Paolo


Reply via email to