mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-10-31 10:23:09 +00:00
18c73a4c70
When using .path() for an argument to a python script meson will not setup dependancies on the file. This means that changes to the generator script will not trigger a rebiuld Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
126 lines
2.8 KiB
Meson
126 lines
2.8 KiB
Meson
access_sources = [
|
|
'viraccessperm.c',
|
|
'viraccessmanager.c',
|
|
'viraccessdrivernop.c',
|
|
'viraccessdriverstack.c',
|
|
]
|
|
|
|
access_polkit_sources = [
|
|
'viraccessdriverpolkit.c',
|
|
]
|
|
|
|
access_perm_h = files('viraccessperm.h')
|
|
|
|
remote_path = meson.source_root() / 'src' / 'remote'
|
|
|
|
access_gen_headers = []
|
|
access_gen_sources = []
|
|
access_gen_sym = []
|
|
access_gen_xml = []
|
|
|
|
foreach name : [ 'remote', 'qemu', 'lxc' ]
|
|
if name == 'remote'
|
|
header_file = 'viraccessapicheck.h'
|
|
source_file = 'viraccessapicheck.c'
|
|
syms_file = 'libvirt_access.syms'
|
|
xml_file = 'libvirt_access.xml'
|
|
else
|
|
header_file = 'viraccessapicheck@0@.h'.format(name)
|
|
source_file = 'viraccessapicheck@0@.c'.format(name)
|
|
syms_file = 'libvirt_access_@0@.syms'.format(name)
|
|
xml_file = 'libvirt_access_@0@.xml'.format(name)
|
|
endif
|
|
protocol_file = remote_path / '@0@_protocol.x'.format(name)
|
|
|
|
access_gen_headers += custom_target(
|
|
header_file,
|
|
input: protocol_file,
|
|
output: header_file,
|
|
command: [
|
|
gendispatch_prog, '--mode=aclheader', name, name.to_upper(), '@INPUT@',
|
|
],
|
|
capture: true,
|
|
)
|
|
|
|
access_gen_sources += custom_target(
|
|
source_file,
|
|
input: protocol_file,
|
|
output: source_file,
|
|
command: [
|
|
gendispatch_prog, '--mode=aclbody', name, name.to_upper(),
|
|
'@INPUT@', header_file,
|
|
],
|
|
capture: true,
|
|
)
|
|
|
|
access_gen_sym += custom_target(
|
|
syms_file,
|
|
input: protocol_file,
|
|
output: syms_file,
|
|
capture: true,
|
|
command: [
|
|
gendispatch_prog, '--mode=aclsym', name, name.to_upper(), '@INPUT@',
|
|
]
|
|
)
|
|
|
|
access_gen_xml += custom_target(
|
|
xml_file,
|
|
input: protocol_file,
|
|
output: xml_file,
|
|
capture: true,
|
|
command: [
|
|
gendispatch_prog, '--mode=aclapi', name, name.to_upper(), '@INPUT@',
|
|
],
|
|
)
|
|
endforeach
|
|
|
|
if conf.has('WITH_POLKIT')
|
|
access_sources += access_polkit_sources
|
|
|
|
if conf.has('WITH_LIBVIRTD')
|
|
custom_target(
|
|
'org.libvirt.api.policy',
|
|
input: access_perm_h,
|
|
output: 'org.libvirt.api.policy',
|
|
command: [ meson_python_prog, python3_prog, genpolkit_prog, '@INPUT@' ],
|
|
capture: true,
|
|
install: true,
|
|
install_dir: datadir / 'polkit-1' / 'actions',
|
|
)
|
|
endif
|
|
endif
|
|
|
|
virt_access_lib = static_library(
|
|
'virt_access',
|
|
[
|
|
access_sources,
|
|
access_gen_headers,
|
|
access_gen_sources,
|
|
],
|
|
dependencies: [
|
|
src_dep,
|
|
],
|
|
include_directories: [
|
|
conf_inc_dir,
|
|
]
|
|
)
|
|
|
|
libvirt_libs += virt_access_lib
|
|
|
|
access_inc_dir = include_directories('.')
|
|
|
|
# Used by others where generated headers are required
|
|
access_dep = declare_dependency(
|
|
include_directories: access_inc_dir,
|
|
sources: access_gen_headers,
|
|
)
|
|
|
|
generated_sym_files += access_gen_sym
|
|
|
|
test(
|
|
'check-aclperms',
|
|
python3_prog,
|
|
args: [ check_aclperms_prog.path(), access_perm_h, files('viraccessperm.c') ],
|
|
env: runutf8,
|
|
)
|