meson: src: build libvirt_access.a static library

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
This commit is contained in:
Pavel Hrdina 2020-06-18 00:57:13 +02:00
parent 29a29f9b01
commit 9e24d677a0
4 changed files with 74 additions and 76 deletions

View File

@ -1,14 +1,5 @@
# vim: filetype=automake
ACCESS_DRIVER_GENERATED = \
access/viraccessapicheck.h \
access/viraccessapicheck.c \
access/viraccessapicheckqemu.h \
access/viraccessapicheckqemu.c \
access/viraccessapichecklxc.h \
access/viraccessapichecklxc.c \
$(NULL)
ACCESS_DRIVER_SYM_FILES = \
libvirt_access.syms \
libvirt_access_qemu.syms \
@ -21,44 +12,11 @@ ACCESS_DRIVER_API_FILES = \
libvirt_access_lxc.xml \
$(NULL)
ACCESS_DRIVER_SOURCES = \
access/viraccessperm.h \
access/viraccessperm.c \
access/viraccessmanager.h \
access/viraccessmanager.c \
access/viraccessdriver.h \
access/viraccessdrivernop.h \
access/viraccessdrivernop.c \
access/viraccessdriverstack.h \
access/viraccessdriverstack.c \
$(NULL)
ACCESS_DRIVER_POLKIT_SOURCES = \
access/viraccessdriverpolkit.h \
access/viraccessdriverpolkit.c \
$(NULL)
ACCESS_DRIVER_POLKIT_POLICY = access/org.libvirt.api.policy
GENERATED_SYM_FILES += $(ACCESS_DRIVER_SYM_FILES)
libvirt_driver_access_la_SOURCES = \
$(ACCESS_DRIVER_SOURCES) \
$(NULL)
nodist_libvirt_driver_access_la_SOURCES = \
$(ACCESS_DRIVER_GENERATED) \
$(NULL)
noinst_LTLIBRARIES += libvirt_driver_access.la
libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
libvirt_driver_access_la_CFLAGS = \
-I$(srcdir)/conf \
$(AM_CFLAGS) \
$(NULL)
libvirt_driver_access_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_access_la_LIBADD = \
$(GLIB_LIBS) \
$(NULL)
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
$(top_srcdir)/scripts/genpolkit.py Makefile.am
@ -66,7 +24,6 @@ $(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
$(top_srcdir)/scripts/genpolkit.py $< > $@ || rm -f $@
if WITH_POLKIT
libvirt_driver_access_la_SOURCES += $(ACCESS_DRIVER_POLKIT_SOURCES)
polkitactiondir = $(datadir)/polkit-1/actions
if WITH_LIBVIRTD
@ -78,7 +35,6 @@ endif WITH_POLKIT
BUILT_SOURCES += \
$(ACCESS_DRIVER_GENERATED) \
$(ACCESS_DRIVER_API_FILES) \
$(NULL)
@ -108,35 +64,3 @@ libvirt_access_lxc.xml: $(srcdir)/rpc/gendispatch.pl \
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclapi \
lxc LXC $(LXC_PROTOCOL) > $@
access/viraccessapicheck.h: $(srcdir)/rpc/gendispatch.pl \
$(REMOTE_PROTOCOL) Makefile.am
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
remote REMOTE $(REMOTE_PROTOCOL) \
> access/viraccessapicheck.h
access/viraccessapicheck.c: $(srcdir)/rpc/gendispatch.pl \
$(REMOTE_PROTOCOL) Makefile.am
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
remote REMOTE $(REMOTE_PROTOCOL) access/viraccessapicheck.h \
> access/viraccessapicheck.c
access/viraccessapicheckqemu.h: $(srcdir)/rpc/gendispatch.pl \
$(QEMU_PROTOCOL) Makefile.am
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
qemu QEMU $(QEMU_PROTOCOL) \
> access/viraccessapicheckqemu.h
access/viraccessapicheckqemu.c: $(srcdir)/rpc/gendispatch.pl \
$(QEMU_PROTOCOL) Makefile.am
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
qemu QEMU $(QEMU_PROTOCOL) access/viraccessapicheckqemu.h \
> access/viraccessapicheckqemu.c
access/viraccessapichecklxc.h: $(srcdir)/rpc/gendispatch.pl \
$(LXC_PROTOCOL) Makefile.am
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclheader \
lxc LXC $(LXC_PROTOCOL) \
> access/viraccessapichecklxc.h
access/viraccessapichecklxc.c: $(srcdir)/rpc/gendispatch.pl \
$(LXC_PROTOCOL) Makefile.am
$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=aclbody \
lxc LXC $(LXC_PROTOCOL) access/viraccessapichecklxc.h \
> access/viraccessapichecklxc.c

72
src/access/meson.build Normal file
View File

@ -0,0 +1,72 @@
access_sources = [
'viraccessperm.c',
'viraccessmanager.c',
'viraccessdrivernop.c',
'viraccessdriverstack.c',
]
access_polkit_sources = [
'viraccessdriverpolkit.c',
]
remote_path = meson.source_root() / 'src' / 'remote'
access_gen_headers = []
access_gen_sources = []
foreach name : [ 'remote', 'qemu', 'lxc' ]
if name == 'remote'
header_file = 'viraccessapicheck.h'
source_file = 'viraccessapicheck.c'
else
header_file = 'viraccessapicheck@0@.h'.format(name)
source_file = 'viraccessapicheck@0@.c'.format(name)
endif
protocol_file = remote_path / '@0@_protocol.x'.format(name)
access_gen_headers += custom_target(
header_file,
output: header_file,
command: [
gendispatch_prog, '--mode=aclheader', name, name.to_upper(), protocol_file,
],
capture: true,
)
access_gen_sources += custom_target(
source_file,
output: source_file,
command: [
gendispatch_prog, '--mode=aclbody', name, name.to_upper(),
protocol_file, header_file,
],
capture: true,
)
endforeach
if conf.has('WITH_POLKIT')
access_sources += access_polkit_sources
endif
virt_access_lib = static_library(
'virt_access',
[
access_sources,
access_gen_headers,
access_gen_sources,
],
dependencies: [
src_dep,
],
include_directories: [
conf_inc_dir,
]
)
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,
)

View File

@ -89,3 +89,4 @@ src_dep = declare_dependency(
subdir('conf')
subdir('rpc')
subdir('access')

View File

@ -1,4 +1,5 @@
genprotocol_prog = find_program('genprotocol.pl')
gendispatch_prog = find_program('gendispatch.pl')
rpc_sources = [
'virnetmessage.c',