libvirt/src/qemu/meson.build

183 lines
3.9 KiB
Meson
Raw Normal View History

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_namespace.c',
'qemu_process.c',
'qemu_qapi.c',
'qemu_saveimage.c',
'qemu_security.c',
'qemu_snapshot.c',
'qemu_slirp.c',
'qemu_tpm.c',
'qemu_validate.c',
'qemu_vhost_user.c',
'qemu_vhost_user_gpu.c',
'qemu_virtiofs.c',
]
driver_source_files += files(qemu_driver_sources)
stateful_driver_source_files += files(qemu_driver_sources)
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, dtrace2systemtap_prog,
bindir, sbindir, libdir, '@INPUT@',
],
capture: true,
install: conf.has('WITH_QEMU'),
install_dir: systemtap_dir,
)
endif
qemu_shim_sources = files(
'qemu_shim.c',
)
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,
],
)
virt_modules += {
'name': 'virt_driver_qemu',
'sources': [
qemu_dtrace_gen_objects,
],
'link_whole': [
qemu_driver_impl,
],
'link_args': [
libvirt_no_undefined,
],
}
virt_daemons += {
'name': 'virtqemud',
'c_args': [
'-DDAEMON_NAME="virtqemud"',
'-DMODULE_NAME="qemu"',
],
}
virt_conf_files += files('qemu.conf')
virt_aug_files += files('libvirtd_qemu.aug')
virt_test_aug_files += {
'name': 'test_libvirtd_qemu.aug',
'aug': files('test_libvirtd_qemu.aug.in'),
'conf': files('qemu.conf'),
'test_name': 'libvirtd_qemu',
'test_srcdir': meson.current_source_dir(),
'test_builddir': meson.current_build_dir(),
}
virt_helpers += {
'name': 'virt-qemu-run',
'sources': [
qemu_shim_sources
],
'install_dir': bindir,
}
virt_daemon_confs += {
'name': 'virtqemud',
}
virt_daemon_units += {
'service': 'virtqemud',
'service_in': files('virtqemud.service.in'),
'name': 'Libvirt qemu',
'sockprefix': 'virtqemud',
'sockets': [ 'main', 'ro', 'admin' ],
'conflicts': true,
}
openrc_init_files += {
'name': 'virtqemud',
'in_file': files('virtqemud.init.in'),
}
sysconf_files += {
'name': 'virtqemud',
'file': files('virtqemud.sysconf'),
}
virt_install_dirs += [
localstatedir / 'lib' / 'libvirt' / 'qemu',
runstatedir / 'libvirt' / 'qemu',
localstatedir / 'cache' / 'libvirt' / 'qemu',
localstatedir / 'log' / 'libvirt' / 'qemu',
localstatedir / 'lib' / 'libvirt' / 'swtpm',
runstatedir / 'libvirt' / 'qemu' / 'swtpm',
localstatedir / 'log' / 'swtpm' / 'libvirt' / 'qemu',
]
endif