Thanks for letting me know this on GitLab.

On 2023/06/29 1:26, Anton Kochkov wrote:
Add crossplatform Meson file to build TCG plugins since
the Makefile makes wrong assumptions about it being used only
on Linux. Tested on Linux and macOS.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1710
Signed-off-by: Anton Kochkov <[email protected]>
---
  contrib/plugins/meson.build       | 31 +++++++++++++++++++++++++++++++
  contrib/plugins/meson_options.txt |  1 +
  2 files changed, 32 insertions(+)
  create mode 100644 contrib/plugins/meson.build
  create mode 100644 contrib/plugins/meson_options.txt

diff --git a/contrib/plugins/meson.build b/contrib/plugins/meson.build
new file mode 100644
index 0000000000..72c4167461
--- /dev/null
+++ b/contrib/plugins/meson.build
@@ -0,0 +1,31 @@
+project('qemu-plugins', 'c', meson_version: '>=0.50.0')
+
+qemu_src = get_option('qemu_path')
+if qemu_src == ''
+  qemu_src = '../..'
+endif

The default value should be provided in meson_options.txt.

+
+qemu_include = qemu_src + '/include/qemu'

I think the following is more idiomatic:
qemu_include = qemu_src / 'include/qemu'

Regards,
Akihiko Odaki

+incdir = include_directories(qemu_include)
+
+plugins = [
+  'execlog',
+  'hotblocks',
+  'hotpages',
+  'howvec',
+  'lockstep',
+  'hwprofile',
+  'cache',
+  'drcov',
+]
+
+th = dependency('threads', required: true)
+glib = dependency('glib-2.0', required: true)
+
+foreach p: plugins
+  library(p, p + '.c',
+    include_directories: incdir,
+    dependencies: [th, glib],
+    override_options: ['b_lundef=false']
+  )
+endforeach
diff --git a/contrib/plugins/meson_options.txt 
b/contrib/plugins/meson_options.txt
new file mode 100644
index 0000000000..2d76cda496
--- /dev/null
+++ b/contrib/plugins/meson_options.txt
@@ -0,0 +1 @@
+option('qemu_path', type : 'string', value : '', description : 'Full path to 
the QEMU sources to build plugins for')
--
2.41.0




Reply via email to