qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/12] Enable building plugins on Windows with Clang
@ 2024-10-31  4:04 Pierrick Bouvier
  2024-10-31  4:04 ` [PATCH 01/12] scripts: remove erroneous file that breaks git clone on Windows Pierrick Bouvier
                   ` (12 more replies)
  0 siblings, 13 replies; 31+ messages in thread
From: Pierrick Bouvier @ 2024-10-31  4:04 UTC (permalink / raw)
  To: qemu-devel
  Cc: Cleber Rosa, John Snow, Michael Roth, Alexandre Iooss,
	Konstantin Kostiuk, Stefano Garzarella, Thomas Huth,
	Daniel P. Berrangé, Paolo Bonzini,
	Philippe Mathieu-Daudé, Marc-André Lureau,
	Alex Bennée, Michael S. Tsirkin, Mahmoud Mandour,
	Pierrick Bouvier

For now, it was only possible to build plugins using GCC on Windows. However,
windows-aarch64 only supports Clang.

The first patches (already posted and normally pulled) are fixes and
prerequisite to build plugins with meson. They are integrated here because it's
not possible to have two based-on in the cover letter.

Then, we fix compilation warnings on Windows.
After that, we can enable linking with Clang on Windows.

Finally, we enhanced the plugin symbols export list (automatically generated,
and not a static file), and we report some of the information we discovered on
the path in the documentation.

Built and tested on Windows (all msys env)/Linux/MacOS for x86_64 and aarch64
hosts.

Pierrick Bouvier (12):
  scripts: remove erroneous file that breaks git clone on Windows
  contrib/plugins/cflow: fix warning
  meson: build contrib/plugins with meson
  contrib/plugins: remove Makefile for contrib/plugins
  qga: fix -Wsometimes-uninitialized windows warning
  qga: fix missing static and prototypes windows warnings
  win32: use compiler option instead of attribute gcc_struct
  plugins: enable linking with clang/lld
  plugins: add missing export for qemu_plugin_num_vcpus
  plugins: detect qemu plugin API symbols from header
  plugins: eradicate qemu-plugins.symbols static file
  docs: add information on how to setup build environments

 MAINTAINERS                               |   1 +
 docs/about/build-platforms.rst            |   4 +-
 docs/devel/build-system.rst               | 100 ++++++++++++++++++++++
 configure                                 |  18 ----
 Makefile                                  |  10 ---
 meson.build                               |  14 ++-
 include/qemu/compiler.h                   |   7 +-
 include/qemu/qemu-plugin.h                |   1 +
 subprojects/libvhost-user/libvhost-user.h |   6 +-
 contrib/plugins/cflow.c                   |   6 +-
 qga/commands-windows-ssh.c                |   2 +-
 contrib/plugins/Makefile                  |  87 -------------------
 contrib/plugins/meson.build               |  28 ++++++
 plugins/meson.build                       |  36 ++++++--
 plugins/qemu-plugins.symbols              |  59 -------------
 qga/vss-win32/install.cpp                 |   6 +-
 qga/vss-win32/provider.cpp                |   5 +-
 qga/vss-win32/requester.cpp               |   8 +-
 scripts/meson-buildoptions.               |   0
 scripts/qemu-plugin-symbols.py            |  45 ++++++++++
 tests/tcg/plugins/meson.build             |   3 +-
 21 files changed, 238 insertions(+), 208 deletions(-)
 delete mode 100644 contrib/plugins/Makefile
 create mode 100644 contrib/plugins/meson.build
 delete mode 100644 plugins/qemu-plugins.symbols
 delete mode 100644 scripts/meson-buildoptions.
 create mode 100755 scripts/qemu-plugin-symbols.py

-- 
2.39.5



^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2024-11-06 17:14 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-31  4:04 [PATCH 00/12] Enable building plugins on Windows with Clang Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 01/12] scripts: remove erroneous file that breaks git clone on Windows Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 02/12] contrib/plugins/cflow: fix warning Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 03/12] meson: build contrib/plugins with meson Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 04/12] contrib/plugins: remove Makefile for contrib/plugins Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 05/12] qga: fix -Wsometimes-uninitialized windows warning Pierrick Bouvier
2024-10-31 13:32   ` Konstantin Kostiuk
2024-11-04 13:43     ` Konstantin Kostiuk
2024-10-31  4:04 ` [PATCH 06/12] qga: fix missing static and prototypes windows warnings Pierrick Bouvier
2024-10-31  4:11   ` Philippe Mathieu-Daudé
2024-10-31 13:32   ` Konstantin Kostiuk
2024-11-04 13:43     ` Konstantin Kostiuk
2024-11-04 22:30       ` Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 07/12] win32: use compiler option instead of attribute gcc_struct Pierrick Bouvier
2024-10-31  9:28   ` Daniel P. Berrangé
2024-10-31 10:44     ` Thomas Huth
2024-10-31 19:01       ` Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 08/12] plugins: enable linking with clang/lld Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 09/12] plugins: add missing export for qemu_plugin_num_vcpus Pierrick Bouvier
2024-10-31  4:14   ` Philippe Mathieu-Daudé
2024-10-31  4:04 ` [PATCH 10/12] plugins: detect qemu plugin API symbols from header Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 11/12] plugins: eradicate qemu-plugins.symbols static file Pierrick Bouvier
2024-10-31  4:04 ` [PATCH 12/12] docs: add information on how to setup build environments Pierrick Bouvier
2024-10-31  9:24   ` Daniel P. Berrangé
2024-10-31 19:38     ` Pierrick Bouvier
2024-11-04 15:58   ` Peter Maydell
2024-11-04 16:08     ` Michael S. Tsirkin
2024-11-04 22:09       ` Pierrick Bouvier
2024-11-04 22:05     ` Pierrick Bouvier
2024-11-05 10:15       ` Peter Maydell
2024-11-06 17:13 ` [PATCH 00/12] Enable building plugins on Windows with Clang Pierrick Bouvier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).