meson: src: build libvirt_util.a static lib

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-07-27 08:17:48 +02:00
parent c83b567ca0
commit f8c6781fef
4 changed files with 206 additions and 314 deletions

View File

@ -19,11 +19,6 @@
# No libraries with the exception of LIBXML should be listed
# here. List them against the individual XXX_la_CFLAGS targets
# that actually use them.
AM_CPPFLAGS = \
-I$(srcdir)/util \
-I./util \
$(NULL)
AM_LDFLAGS_MOD = \
-module \
-avoid-version \

View File

@ -76,3 +76,13 @@ if conf.has('WITH_DTRACE_PROBES')
install_dir: systemtap_dir,
)
endif
# list subdirectories
subdir('util')
src_dep = declare_dependency(
dependencies: [ src_dep ],
include_directories: [ util_inc_dir ],
)

View File

@ -1,312 +1,3 @@
# vim: filetype=automake
# These files are not related to driver APIs. Simply generic
# helper APIs for various purposes
UTIL_SOURCES = \
util/glibcompat.c \
util/glibcompat.h \
util/viralloc.c \
util/viralloc.h \
util/virarch.c \
util/virarch.h \
util/virarptable.c \
util/virarptable.h \
util/viraudit.c \
util/viraudit.h \
util/virauth.c \
util/virauth.h \
util/virauthconfig.c \
util/virauthconfig.h \
util/virbitmap.c \
util/virbitmap.h \
util/virbpf.c \
util/virbpf.h \
util/virbuffer.c \
util/virbuffer.h \
util/virperf.c \
util/virperf.h \
util/vircgroup.c \
util/vircgroup.h util/vircgrouppriv.h \
util/vircgroupbackend.c \
util/vircgroupbackend.h \
util/vircgroupv1.c \
util/vircgroupv1.h \
util/vircgroupv2.c \
util/vircgroupv2.h \
util/vircgroupv2devices.c \
util/vircgroupv2devices.h \
util/vircommand.c \
util/vircommand.h \
util/vircommandpriv.h \
util/virconf.c \
util/virconf.h \
util/vircrypto.c \
util/vircrypto.h \
util/virdaemon.c \
util/virdaemon.h \
util/virdbus.c \
util/virdbus.h \
util/virdbuspriv.h \
util/virdevmapper.c \
util/virdevmapper.h \
util/virdnsmasq.c \
util/virdnsmasq.h \
util/virebtables.c \
util/virebtables.h \
util/virendian.h \
util/virenum.h \
util/virenum.c \
util/virerror.c \
util/virerror.h \
util/virerrorpriv.h \
util/virevent.c \
util/virevent.h \
util/vireventglib.c \
util/vireventglib.h \
util/vireventglibwatch.c \
util/vireventglibwatch.h \
util/vireventthread.c \
util/vireventthread.h \
util/virfcp.c \
util/virfcp.h \
util/virfdstream.c \
util/virfdstream.h \
util/virfile.c \
util/virfile.h \
util/virfirewall.c \
util/virfirewall.h \
util/virfirewallpriv.h \
util/virfirewalld.c \
util/virfirewalld.h \
util/virfirewalldpriv.h \
util/virfirmware.c \
util/virfirmware.h \
util/virgettext.c \
util/virgettext.h \
util/virgic.c \
util/virgic.h \
util/virhash.c \
util/virhash.h \
util/virhashcode.c \
util/virhashcode.h \
util/virhook.c \
util/virhook.h \
util/virhostcpu.c \
util/virhostcpu.h \
util/virhostcpupriv.h \
util/virhostmem.c \
util/virhostmem.h \
util/virhostuptime.c \
util/virhostuptime.h \
util/viridentity.c \
util/viridentity.h \
util/virinitctl.c \
util/virinitctl.h \
util/viriptables.c \
util/viriptables.h \
util/viriscsi.c \
util/viriscsi.h \
util/virjson.c \
util/virjson.h \
util/virkeycode.c \
util/virkeycode.h \
util/virlease.c \
util/virlease.h \
util/virlockspace.c \
util/virlockspace.h \
util/virlog.c \
util/virlog.h \
util/virmacaddr.c \
util/virmacaddr.h \
util/virmacmap.c \
util/virmacmap.h \
util/virmodule.c \
util/virmodule.h \
util/virnetdev.c \
util/virnetdev.h \
util/virnetdevbandwidth.c \
util/virnetdevbandwidth.h \
util/virnetdevbridge.c \
util/virnetdevbridge.h \
util/virnetdevip.c \
util/virnetdevip.h \
util/virnetdevmacvlan.c \
util/virnetdevmacvlan.h \
util/virnetdevmidonet.c \
util/virnetdevmidonet.h \
util/virnetdevopenvswitch.c \
util/virnetdevopenvswitch.h \
util/virnetdevtap.c \
util/virnetdevtap.h \
util/virnetdevveth.c \
util/virnetdevveth.h \
util/virnetdevvlan.c \
util/virnetdevvlan.h \
util/virnetdevvportprofile.c \
util/virnetdevvportprofile.h \
util/virnetlink.c \
util/virnetlink.h \
util/virnodesuspend.c \
util/virnodesuspend.h \
util/virnvme.c \
util/virnvme.h \
util/virkmod.c \
util/virkmod.h \
util/virnuma.c \
util/virnuma.h \
util/virobject.c \
util/virobject.h \
util/virpci.c \
util/virpci.h \
util/virpidfile.c \
util/virpidfile.h \
util/virpolkit.c \
util/virpolkit.h \
util/virportallocator.c \
util/virportallocator.h \
util/virprobe.h \
util/virprocess.c \
util/virprocess.h \
util/virqemu.c \
util/virqemu.h \
util/virrandom.c \
util/virrandom.h \
util/virresctrl.c \
util/virresctrl.h \
util/virresctrlpriv.h \
util/virrotatingfile.c \
util/virrotatingfile.h \
util/virscsi.c \
util/virscsi.h \
util/virscsihost.c \
util/virscsihost.h \
util/virscsivhost.c \
util/virscsivhost.h \
util/virseclabel.c \
util/virseclabel.h \
util/virsecret.c \
util/virsecret.h \
util/virsocket.c \
util/virsocket.h \
util/virsocketaddr.c \
util/virsocketaddr.h \
util/virstorageencryption.c \
util/virstorageencryption.h \
util/virstoragefile.c \
util/virstoragefile.h \
util/virstoragefilebackend.c \
util/virstoragefilebackend.h \
util/virstring.c \
util/virstring.h \
util/virsysinfo.c \
util/virsysinfo.h \
util/virsysinfopriv.h \
util/virsystemd.c \
util/virsystemd.h \
util/virsystemdpriv.h \
util/virthread.c \
util/virthread.h \
util/virthreadjob.c \
util/virthreadjob.h \
util/virthreadpool.c \
util/virthreadpool.h \
util/virtime.c \
util/virtime.h \
util/virtpm.c \
util/virtpm.h \
util/virtypedparam-public.c \
util/virtypedparam.c \
util/virtypedparam.h \
util/virusb.c \
util/virusb.h \
util/viruri.c \
util/viruri.h \
util/virutil.c \
util/virutil.h \
util/viruuid.c \
util/viruuid.h \
util/virvhba.c \
util/virvhba.h \
util/virvsock.c \
util/virvsock.h \
util/virxdrdefs.h \
util/virxml.c \
util/virxml.h \
util/virmdev.c \
util/virmdev.h \
util/virfilecache.c \
util/virfilecache.h \
$(NULL)
# Sync with docs/
KEYCODES = linux osx atset1 atset2 atset3 xtkbd usb win32 qnum
KEYNAMES = linux osx win32
KEYTABLES = \
$(KEYCODES:%=util/virkeycodetable_%.h) \
$(KEYNAMES:%=util/virkeynametable_%.h) \
$(NULL)
BUILT_SOURCES += $(KEYTABLES)
UTIL_IO_HELPER_SOURCES = util/iohelper.c
noinst_LTLIBRARIES += libvirt_util.la
libvirt_la_LIBADD = $(libvirt_la_BUILT_LIBADD)
libvirt_la_BUILT_LIBADD += libvirt_util.la
libvirt_util_la_SOURCES = \
$(UTIL_SOURCES) \
$(NULL)
nodist_libvirt_util_la_SOURCES = \
$(KEYTABLES) \
$(NULL)
libvirt_util_la_CFLAGS = \
$(CAPNG_CFLAGS) \
$(YAJL_CFLAGS) \
$(LIBNL_CFLAGS) \
$(AM_CFLAGS) \
$(AUDIT_CFLAGS) \
$(DEVMAPPER_CFLAGS) \
$(DBUS_CFLAGS) \
$(NUMACTL_CFLAGS) \
$(GNUTLS_CFLAGS) \
$(ACL_CFLAGS) \
$(NULL)
libvirt_util_la_LIBADD = \
-lm \
$(CAPNG_LIBS) \
$(YAJL_LIBS) \
$(LIBNL_LIBS) \
$(THREAD_LIBS) \
$(AUDIT_LIBS) \
$(DEVMAPPER_LIBS) \
$(DBUS_LIBS) \
$(WIN32_EXTRA_LIBS) \
$(LIBXML_LIBS) \
$(SECDRIVER_LIBS) \
$(NUMACTL_LIBS) \
$(ACL_LIBS) \
$(GNUTLS_LIBS) \
$(NULL)
util/virkeycodetable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeycodetable_,,' \
-e 's,\.h,,'` && \
$(MKDIR_P) util/ && \
$(RUNUTF8) $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
code-table --lang stdc --varname virKeyCodeTable_$$NAME \
$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
mv $@-tmp $@ || rm -f $@-tmp
util/virkeynametable_%.h: $(srcdir)/keycodemapdb/data/keymaps.csv \
$(srcdir)/keycodemapdb/tools/keymap-gen Makefile.am
$(AM_V_GEN)export NAME=`echo $@ | sed -e 's,util/virkeynametable_,,' \
-e 's,\.h,,'` && \
$(MKDIR_P) util/ && \
$(RUNUTF8) $(PYTHON) $(srcdir)/keycodemapdb/tools/keymap-gen \
name-table --lang stdc --varname virKeyNameTable_$$NAME \
$(srcdir)/keycodemapdb/data/keymaps.csv $$NAME > $@-tmp && \
mv $@-tmp $@ || rm -f $@-tmp

196
src/util/meson.build Normal file
View File

@ -0,0 +1,196 @@
util_sources = [
'glibcompat.c',
'viralloc.c',
'virarch.c',
'virarptable.c',
'viraudit.c',
'virauth.c',
'virauthconfig.c',
'virbitmap.c',
'virbpf.c',
'virbuffer.c',
'vircgroup.c',
'vircgroupbackend.c',
'vircgroupv1.c',
'vircgroupv2.c',
'vircgroupv2devices.c',
'vircommand.c',
'virconf.c',
'vircrypto.c',
'virdaemon.c',
'virdbus.c',
'virdevmapper.c',
'virdnsmasq.c',
'virebtables.c',
'virenum.c',
'vireventglib.c',
'vireventglibwatch.c',
'vireventthread.c',
'virfcp.c',
'virfdstream.c',
'virfile.c',
'virfilecache.c',
'virfirewall.c',
'virfirewalld.c',
'virfirmware.c',
'virgettext.c',
'virgic.c',
'virhash.c',
'virhashcode.c',
'virhook.c',
'virhostcpu.c',
'virhostmem.c',
'virhostuptime.c',
'viridentity.c',
'virinitctl.c',
'viriptables.c',
'viriscsi.c',
'virjson.c',
'virkeycode.c',
'virkmod.c',
'virlease.c',
'virlockspace.c',
'virlog.c',
'virmacaddr.c',
'virmacmap.c',
'virmdev.c',
'virmodule.c',
'virnetdev.c',
'virnetdevbandwidth.c',
'virnetdevbridge.c',
'virnetdevip.c',
'virnetdevmacvlan.c',
'virnetdevmidonet.c',
'virnetdevopenvswitch.c',
'virnetdevtap.c',
'virnetdevveth.c',
'virnetdevvlan.c',
'virnetdevvportprofile.c',
'virnetlink.c',
'virnodesuspend.c',
'virnuma.c',
'virnvme.c',
'virobject.c',
'virpci.c',
'virperf.c',
'virpidfile.c',
'virpolkit.c',
'virportallocator.c',
'virprocess.c',
'virqemu.c',
'virrandom.c',
'virresctrl.c',
'virrotatingfile.c',
'virscsi.c',
'virscsihost.c',
'virscsivhost.c',
'virseclabel.c',
'virsecret.c',
'virsocket.c',
'virsocketaddr.c',
'virstorageencryption.c',
'virstoragefile.c',
'virstoragefilebackend.c',
'virstring.c',
'virsysinfo.c',
'virsystemd.c',
'virthread.c',
'virthreadjob.c',
'virthreadpool.c',
'virtime.c',
'virtpm.c',
'virtypedparam.c',
'viruri.c',
'virusb.c',
'virutil.c',
'viruuid.c',
'virvhba.c',
'virvsock.c',
'virxml.c',
]
util_public_sources = files(
'virerror.c',
'virevent.c',
'virtypedparam-public.c',
)
keycode_gen_sources = []
keycode_list = [
'atset1',
'atset2',
'atset3',
'linux',
'osx',
'qnum',
'usb',
'win32',
'xtkbd',
]
keyname_list = [
'linux',
'osx',
'win32',
]
keymap_gen_prog = find_program('@0@/src/keycodemapdb/tools/keymap-gen'.format(meson.source_root()))
keymap_src_file = '@0@/src/keycodemapdb/data/keymaps.csv'.format(meson.source_root())
foreach name : keycode_list
keycode_gen_sources += custom_target(
'virt_keycode_@0@'.format(name),
input: keymap_src_file,
output: 'virkeycodetable_@0@.h'.format(name),
command: [
meson_python_prog, python3_prog.path(), keymap_gen_prog.path(), 'code-table',
'--lang', 'stdc',
'--varname', 'virKeyCodeTable_@0@'.format(name),
'@INPUT@', name,
],
capture: true,
)
endforeach
foreach name : keyname_list
keycode_gen_sources += custom_target(
'keyname_@0@'.format(name),
input: keymap_src_file,
output: 'virkeynametable_@0@.h'.format(name),
command: [
meson_python_prog, python3_prog.path(), keymap_gen_prog.path(), 'name-table',
'--lang', 'stdc',
'--varname', 'virKeyNameTable_@0@'.format(name),
'@INPUT@', name,
],
capture: true,
)
endforeach
virt_util_lib = static_library(
'virt_util',
[
util_sources,
util_public_sources,
keycode_gen_sources,
dtrace_gen_headers,
],
dependencies: [
acl_dep,
audit_dep,
capng_dep,
dbus_dep,
devmapper_dep,
gnutls_dep,
libnl_dep,
numactl_dep,
secdriver_dep,
src_dep,
thread_dep,
win32_dep,
yajl_dep,
],
)
util_inc_dir = include_directories('.')