]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: src: build libvirt_driver_qemu_impl.a static library
authorPavel Hrdina <phrdina@redhat.com>
Mon, 27 Jul 2020 06:43:24 +0000 (08:43 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:04 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
src/logging/meson.build
src/meson.build
src/qemu/Makefile.inc.am
src/qemu/libvirt_qemu_probes.d [moved from src/libvirt_qemu_probes.d with 100% similarity]
src/qemu/meson.build [new file with mode: 0644]

index 5d1f30ac08f5dd2ec471bd8075a61fff21c9beb0..295f07d4e2f31e6cde12e9305a127225add6d2e3 100644 (file)
@@ -6,7 +6,7 @@ log_protocol = 'log_protocol.x'
 
 log_protocol_generated = []
 
-log_protocol_generated += custom_target(
+log_protocol_header_generated = custom_target(
   'log_protocol.h',
   input: log_protocol,
   output: 'log_protocol.h',
@@ -14,6 +14,7 @@ log_protocol_generated += custom_target(
     genprotocol_prog, rpcgen_prog, '-h', '@INPUT@', '@OUTPUT@'
   ],
 )
+log_protocol_generated += log_protocol_header_generated
 
 log_protocol_generated += custom_target(
   'log_protocol.c',
@@ -38,3 +39,10 @@ log_driver_lib = static_library(
 )
 
 libvirt_libs += log_driver_lib
+
+log_inc_dir = include_directories('.')
+
+log_dep = declare_dependency(
+  include_directories: log_inc_dir,
+  sources: log_protocol_header_generated,
+)
index 704118c88c6e7ca59d6d14b35329c64ce31495c5..325a6227b7d27a12f4e859578dc72006877c1e54 100644 (file)
@@ -163,6 +163,7 @@ subdir('hyperv')
 subdir('libxl')
 subdir('lxc')
 subdir('openvz')
+subdir('qemu')
 subdir('test')
 subdir('vmware')
 
index f28f2609f73bb4f3af15971b4d73bf991e2bd0c7..3d703d15d337cf505f8f015073af40f655ba427e 100644 (file)
@@ -1,90 +1,9 @@
 # vim: filetype=automake
 
-QEMU_DRIVER_SOURCES = \
-       qemu/qemu_agent.c \
-       qemu/qemu_agent.h \
-       qemu/qemu_alias.c \
-       qemu/qemu_alias.h \
-       qemu/qemu_block.c \
-       qemu/qemu_block.h \
-       qemu/qemu_blockjob.c \
-       qemu/qemu_blockjob.h \
-       qemu/qemu_capabilities.c \
-       qemu/qemu_capabilities.h \
-       qemu/qemu_command.c \
-       qemu/qemu_command.h \
-       qemu/qemu_dbus.c \
-       qemu/qemu_dbus.h \
-       qemu/qemu_domain.c \
-       qemu/qemu_domain.h \
-       qemu/qemu_domainjob.c \
-       qemu/qemu_domainjob.h \
-       qemu/qemu_domain_address.c \
-       qemu/qemu_domain_address.h \
-       qemu/qemu_cgroup.c \
-       qemu/qemu_cgroup.h \
-       qemu/qemu_extdevice.c \
-       qemu/qemu_extdevice.h \
-       qemu/qemu_firmware.c \
-       qemu/qemu_firmware.h \
-       qemu/qemu_hostdev.c \
-       qemu/qemu_hostdev.h \
-       qemu/qemu_hotplug.c \
-       qemu/qemu_hotplug.h \
-       qemu/qemu_conf.c \
-       qemu/qemu_conf.h \
-       qemu/qemu_interop_config.c \
-       qemu/qemu_interop_config.h \
-       qemu/qemu_process.c \
-       qemu/qemu_process.h \
-       qemu/qemu_processpriv.h \
-       qemu/qemu_migration.c \
-       qemu/qemu_migration.h \
-       qemu/qemu_migration_cookie.c \
-       qemu/qemu_migration_cookie.h \
-       qemu/qemu_migration_params.c \
-       qemu/qemu_migration_params.h \
-       qemu/qemu_migration_paramspriv.h \
-       qemu/qemu_monitor.c \
-       qemu/qemu_monitor.h \
-       qemu/qemu_monitor_priv.h \
-       qemu/qemu_monitor_text.c \
-       qemu/qemu_monitor_text.h \
-       qemu/qemu_monitor_json.c \
-       qemu/qemu_monitor_json.h \
-       qemu/qemu_driver.c \
-       qemu/qemu_driver.h \
-       qemu/qemu_interface.c \
-       qemu/qemu_interface.h \
-       qemu/qemu_capspriv.h \
-       qemu/qemu_security.c \
-       qemu/qemu_security.h \
-       qemu/qemu_qapi.c \
-       qemu/qemu_qapi.h \
-       qemu/qemu_slirp.c \
-       qemu/qemu_slirp.h \
-       qemu/qemu_tpm.c \
-       qemu/qemu_tpm.h \
-       qemu/qemu_vhost_user.c \
-       qemu/qemu_vhost_user.h \
-       qemu/qemu_vhost_user_gpu.c \
-       qemu/qemu_vhost_user_gpu.h \
-       qemu/qemu_virtiofs.c \
-       qemu/qemu_virtiofs.h \
-       qemu/qemu_checkpoint.c \
-       qemu/qemu_checkpoint.h \
-       qemu/qemu_backup.c \
-       qemu/qemu_backup.h \
-       qemu/qemu_validate.c \
-       qemu/qemu_validate.h \
-       $(NULL)
-
-
 DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(QEMU_DRIVER_SOURCES))
 STATEFUL_DRIVER_SOURCE_FILES += $(addprefix $(srcdir)/,$(QEMU_DRIVER_SOURCES))
 
 if WITH_QEMU
-noinst_LTLIBRARIES += libvirt_driver_qemu_impl.la
 libvirt_driver_qemu_la_SOURCES =
 libvirt_driver_qemu_la_LIBADD = \
        libvirt_driver_qemu_impl.la \
@@ -94,34 +13,8 @@ libvirt_driver_qemu_la_LIBADD = \
 mod_LTLIBRARIES += libvirt_driver_qemu.la
 libvirt_driver_qemu_la_LDFLAGS = $(AM_LDFLAGS_MOD_NOUNDEF)
 
-libvirt_driver_qemu_impl_la_CFLAGS = \
-       $(GNUTLS_CFLAGS) \
-       $(LIBNL_CFLAGS) \
-       $(SELINUX_CFLAGS) \
-       $(XDR_CFLAGS) \
-       -I$(srcdir)/access \
-       -I$(builddir)/access \
-       -I$(srcdir)/conf \
-       -I$(srcdir)/hypervisor \
-       $(AM_CFLAGS) \
-       $(NULL)
-libvirt_driver_qemu_impl_la_LDFLAGS = $(AM_LDFLAGS)
-libvirt_driver_qemu_impl_la_LIBADD = \
-       $(CAPNG_LIBS) \
-       $(GNUTLS_LIBS) \
-       $(LIBNL_LIBS) \
-       $(SELINUX_LIBS) \
-       $(LIBXML_LIBS) \
-       $(NULL)
-libvirt_driver_qemu_impl_la_SOURCES = $(QEMU_DRIVER_SOURCES)
-
 if WITH_DTRACE_PROBES
 libvirt_driver_qemu_la_LIBADD += libvirt_qemu_probes.lo
-nodist_libvirt_driver_qemu_la_SOURCES = libvirt_qemu_probes.h
-BUILT_SOURCES += libvirt_qemu_probes.h
-
-tapset_DATA += libvirt_qemu_probes.stp
-
 endif WITH_DTRACE_PROBES
 
 sbin_PROGRAMS += virtqemud
diff --git a/src/qemu/meson.build b/src/qemu/meson.build
new file mode 100644 (file)
index 0000000..a2f5c0c
--- /dev/null
@@ -0,0 +1,99 @@
+qemu_driver_sources = [
+  'qemu_agent.c',
+  'qemu_alias.c',
+  'qemu_backup.c',
+  'qemu_block.c',
+  'qemu_blockjob.c',
+  'qemu_capabilities.c',
+  'qemu_cgroup.c',
+  'qemu_checkpoint.c',
+  'qemu_command.c',
+  'qemu_conf.c',
+  'qemu_dbus.c',
+  'qemu_domain.c',
+  'qemu_domain_address.c',
+  'qemu_domainjob.c',
+  'qemu_driver.c',
+  'qemu_extdevice.c',
+  'qemu_firmware.c',
+  'qemu_hostdev.c',
+  'qemu_hotplug.c',
+  'qemu_interface.c',
+  'qemu_interop_config.c',
+  'qemu_migration.c',
+  'qemu_migration_cookie.c',
+  'qemu_migration_params.c',
+  'qemu_monitor.c',
+  'qemu_monitor_json.c',
+  'qemu_monitor_text.c',
+  'qemu_process.c',
+  'qemu_qapi.c',
+  'qemu_security.c',
+  'qemu_slirp.c',
+  'qemu_tpm.c',
+  'qemu_validate.c',
+  'qemu_vhost_user.c',
+  'qemu_vhost_user_gpu.c',
+  'qemu_virtiofs.c',
+]
+
+qemu_dtrace_gen_headers = []
+qemu_dtrace_gen_objects = []
+
+if conf.has('WITH_DTRACE_PROBES')
+  infile = 'libvirt_qemu_probes.d'
+  out_h = 'libvirt_qemu_probes.h'
+  out_o = 'libvirt_qemu_probes.o'
+  out_stp = 'libvirt_qemu_probes.stp'
+
+  qemu_dtrace_gen_headers += custom_target(
+    out_h,
+    input: infile,
+    output: out_h,
+    command: [ dtrace_prog, '-o', '@OUTPUT@', '-h', '-s', '@INPUT@' ],
+  )
+
+  qemu_dtrace_gen_objects += custom_target(
+    out_o,
+    input: infile,
+    output: out_o,
+    command: [ dtrace_prog, '-o', '@OUTPUT@', '-G', '-s', '@INPUT@' ],
+  )
+
+  qemu_dtrace_gen_stp = custom_target(
+    out_stp,
+    input: infile,
+    output: out_stp,
+    command: [
+      meson_python_prog, python3_prog.path(), dtrace2systemtap_prog.path(),
+      bindir, sbindir, libdir, '@INPUT@',
+    ],
+    capture: true,
+    install: conf.has('WITH_QEMU'),
+    install_dir: systemtap_dir,
+  )
+endif
+
+if conf.has('WITH_QEMU')
+  qemu_driver_impl = static_library(
+    'virt_driver_qemu_impl',
+    [
+      qemu_driver_sources,
+      qemu_dtrace_gen_headers,
+    ],
+    dependencies: [
+      access_dep,
+      capng_dep,
+      gnutls_dep,
+      libnl_dep,
+      log_dep,
+      selinux_dep,
+      src_dep,
+      xdr_dep,
+    ],
+    include_directories: [
+      conf_inc_dir,
+      hypervisor_inc_dir,
+    ],
+  )
+endif