On 8/14/24 23:00, Paolo Bonzini wrote:
On Thu, Aug 15, 2024 at 1:37 AM Pierrick Bouvier
<pierrick.bouvier@linaro.org> wrote:
Contrib plugins have been built out of tree so far, thanks to a
Makefile.
However, it is quite inconvenient for maintenance, as we may break them,
especially for specific architectures.
First patches are fixing warnings for existing plugins, then we add
meson
support, and finally, we remove Makefile for contrib/plugins.
Based on the proposal of Anton Kochkov on associated gitlab issue.
Solves: https://gitlab.com/qemu-project/qemu/-/issues/1710
Is the bug actually still there?
Maybe the changes you did fixed the portability issue. I just added this
"solves" because it's where the idea to compile with meson was presented
initially.
The Makefile explains why it was done this way:
# This Makefile example is fairly independent from the main makefile
# so users can take and adapt it for their build. We only really
# include config-host.mak so we don't have to repeat probing for
# programs that the main configure has already done for us.
In other words we should also take into account that there is a
documentation benefit to having a Makefile that works across Windows,
Darwin and generic ELF Unices. Anyway Philippe, Akihiko and Alex are
the best people to decide.
> One argument from moving contrib/plugins to meson is that the Windows
case depends on libqemu_plugin_api.a which is built with meson(*);
that said, libqemu_plugin_api.a should be installed - which would
justify it being used from an "external" makefile.
You need meson to build this lib in the first place, so I guess that
99.9% of the people writing a plugin will have a qemu source tree (with
access to plugin headers), and first compile the lib.
I am not convinced by the scenario where people build this out of tree
to be honest, but I may be wrong.