Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
src/Makefile.am | 35 +--------------------------------
src/access/Makefile.inc.am | 2 --
src/access/meson.build | 2 ++
src/admin/meson.build | 2 ++
src/conf/meson.build | 2 ++
src/cpu/meson.build | 2 ++
src/esx/meson.build | 2 ++
src/hyperv/meson.build | 2 ++
src/hypervisor/meson.build | 2 ++
src/locking/meson.build | 2 ++
src/logging/meson.build | 2 ++
src/meson.build | 40 ++++++++++++++++++++++++++++++++++++++
src/openvz/meson.build | 2 ++
src/remote/meson.build | 2 ++
src/rpc/meson.build | 6 ++++++
src/security/meson.build | 2 ++
src/test/meson.build | 2 ++
src/util/meson.build | 2 ++
src/vmware/meson.build | 2 ++
src/vmx/meson.build | 2 ++
20 files changed, 79 insertions(+), 36 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 3ad565f7775..b83a087b716 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,7 +35,6 @@ mod_LTLIBRARIES =
INSTALL_DATA_DIRS =
INSTALL_DATA_LOCAL =
UNINSTALL_LOCAL =
-libvirt_la_BUILT_LIBADD =
SYM_FILES =
USED_SYM_FILES =
GENERATED_SYM_FILES =
@@ -65,7 +64,7 @@ COMMON_UNIT_VARS = \
# Set these variables before we include any of the subdirs as libvirt-admin.la
# has to be installed after libvirt.la.
-lib_LTLIBRARIES += libvirt.la libvirt-qemu.la libvirt-lxc.la
+lib_LTLIBRARIES += libvirt-qemu.la libvirt-lxc.la
include util/Makefile.inc.am
include cpu_map/Makefile.inc.am
@@ -204,13 +203,6 @@ check-local: check-protocol check-symfile check-symsorting \
.PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=struct)
-#########################
-#
-# Build up list of libvirt.la source files based on configure conditions
-#
-# First deal with sources usable in non-daemon context
-
-
# All .syms files should be placed in exactly one of these three lists,
# depending on whether they are stored in git and/or used in the build.
SYM_FILES += $(USED_SYM_FILES)
@@ -237,32 +229,7 @@ check-augeas: $(augeas_DATA) $(augeastest_DATA)
AUG_GENTEST_SCRIPT = $(top_srcdir)/scripts/augeas-gentest.py
AUG_GENTEST = $(RUNUTF8) $(PYTHON) $(AUG_GENTEST_SCRIPT)
-# Empty source list - it merely links a bunch of convenience libs together
-libvirt_la_SOURCES =
-libvirt_la_LDFLAGS = \
- $(VERSION_SCRIPT_FLAGS)$(LIBVIRT_SYMBOL_FILE) \
- -version-info $(LIBVIRT_VERSION_INFO) \
- $(LIBVIRT_NODELETE) \
- $(NO_UNDEFINED_LDFLAGS) \
- $(FLAT_NAMESPACE_FLAGS) \
- $(AM_LDFLAGS) \
- $(NULL)
-libvirt_la_LIBADD += \
- $(DLOPEN_LIBS) \
- $(XDR_LIBS) \
- $(NULL)
-libvirt_la_CFLAGS = -DIN_LIBVIRT $(AM_CFLAGS)
-# Because we specify libvirt_la_DEPENDENCIES for $(LIBVIRT_SYMBOL_FILE), we
-# lose automake's automatic dependencies on an appropriate subset of
-# $(libvirt_la_LIBADD). But we were careful to create
-# $(libvirt_la_BUILT_LIBADD) as the subset that automake would have
-# picked out for us.
-libvirt_la_DEPENDENCIES = $(libvirt_la_BUILT_LIBADD) $(LIBVIRT_SYMBOL_FILE)
-
if WITH_DTRACE_PROBES
-libvirt_la_BUILT_LIBADD += libvirt_probes.lo
-libvirt_la_DEPENDENCIES += libvirt_probes.lo libvirt_probes.o
-nodist_libvirt_la_SOURCES = libvirt_probes.h
tapset_DATA += libvirt_functions.stp
diff --git a/src/access/Makefile.inc.am b/src/access/Makefile.inc.am
index bd1d51dd777..72c62a0d2cd 100644
--- a/src/access/Makefile.inc.am
+++ b/src/access/Makefile.inc.am
@@ -8,8 +8,6 @@ ACCESS_DRIVER_API_FILES = \
ACCESS_DRIVER_POLKIT_POLICY = access/org.libvirt.api.policy
-libvirt_la_BUILT_LIBADD += libvirt_driver_access.la
-
$(ACCESS_DRIVER_POLKIT_POLICY): $(srcdir)/access/viraccessperm.h \
$(top_srcdir)/scripts/genpolkit.py Makefile.am
$(AM_V_GEN)$(RUNUTF8) $(PYTHON) \
diff --git a/src/access/meson.build b/src/access/meson.build
index dc962166873..f3b605f0009 100644
--- a/src/access/meson.build
+++ b/src/access/meson.build
@@ -75,6 +75,8 @@ virt_access_lib = static_library(
]
)
+libvirt_libs += virt_access_lib
+
access_inc_dir = include_directories('.')
# Used by others where generated headers are required
diff --git a/src/admin/meson.build b/src/admin/meson.build
index cf2f206e34a..31d1a437fbe 100644
--- a/src/admin/meson.build
+++ b/src/admin/meson.build
@@ -48,3 +48,5 @@ admin_driver_lib = static_library(
xdr_dep,
],
)
+
+libvirt_libs += admin_driver_lib
diff --git a/src/conf/meson.build b/src/conf/meson.build
index 394cca4e6a1..03b90aa6f60 100644
--- a/src/conf/meson.build
+++ b/src/conf/meson.build
@@ -105,4 +105,6 @@ virt_conf_lib = static_library(
],
)
+libvirt_libs += virt_conf_lib
+
conf_inc_dir = include_directories('.')
diff --git a/src/cpu/meson.build b/src/cpu/meson.build
index 2404dc6b76f..b4ad95e46d5 100644
--- a/src/cpu/meson.build
+++ b/src/cpu/meson.build
@@ -17,3 +17,5 @@ cpu_lib = static_library(
conf_inc_dir,
],
)
+
+libvirt_libs += cpu_lib
diff --git a/src/esx/meson.build b/src/esx/meson.build
index 08d8a542498..1718411d759 100644
--- a/src/esx/meson.build
+++ b/src/esx/meson.build
@@ -54,6 +54,8 @@ if conf.has('WITH_ESX')
vmx_inc_dir,
],
)
+
+ libvirt_libs += esx_lib
endif
if conf.has('WITH_ESX')
diff --git a/src/hyperv/meson.build b/src/hyperv/meson.build
index 71382e3db0e..d499889b01b 100644
--- a/src/hyperv/meson.build
+++ b/src/hyperv/meson.build
@@ -38,4 +38,6 @@ if conf.has('WITH_HYPERV')
conf_inc_dir,
]
)
+
+ libvirt_libs += hyperv_lib
endif
diff --git a/src/hypervisor/meson.build b/src/hypervisor/meson.build
index ea1dddfe983..85149c683ee 100644
--- a/src/hypervisor/meson.build
+++ b/src/hypervisor/meson.build
@@ -18,4 +18,6 @@ hypervisor_lib = static_library(
],
)
+libvirt_libs += hypervisor_lib
+
hypervisor_inc_dir = include_directories('.')
diff --git a/src/locking/meson.build b/src/locking/meson.build
index 67822486253..18b2e3c72a6 100644
--- a/src/locking/meson.build
+++ b/src/locking/meson.build
@@ -16,3 +16,5 @@ lock_driver_lib = static_library(
conf_inc_dir,
],
)
+
+libvirt_libs += lock_driver_lib
diff --git a/src/logging/meson.build b/src/logging/meson.build
index a9c30efe063..5d1f30ac08f 100644
--- a/src/logging/meson.build
+++ b/src/logging/meson.build
@@ -36,3 +36,5 @@ log_driver_lib = static_library(
xdr_dep,
],
)
+
+libvirt_libs += log_driver_lib
diff --git a/src/meson.build b/src/meson.build
index 257cdbe4090..b6b9da32df6 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -114,6 +114,11 @@ else
endif
+# variables filled by subdirectories
+
+libvirt_libs = []
+
+
# list subdirectories
subdir('util')
@@ -179,6 +184,8 @@ driver_lib = static_library(
],
)
+libvirt_libs += driver_lib
+
# symbol files for libvirt.so
@@ -206,6 +213,7 @@ libvirt_syms = custom_target(
command: [ gen_sym_files_prog, 'LIBVIRT_PRIVATE_' + meson.project_version(),
'@INPUT@' ],
capture: true,
)
+libvirt_syms_file = libvirt_syms
if host_machine.system() == 'windows'
libvirt_def = custom_target(
'libvirt.def',
@@ -214,4 +222,36 @@ if host_machine.system() == 'windows'
command: [ gen_def_files_prog, '@INPUT@' ],
capture: true,
)
+ libvirt_syms_file = libvirt_def
endif
+
+
+# libvirt.so library
+
+libvirt_syms_flags = '@0@@1(a)'.format(
+ version_script_flags,
+ libvirt_syms_file.full_path(),
+)
+
+libvirt_lib = shared_library(
+ 'virt',
+ dtrace_gen_objects,
+ dependencies: [
+ src_dep,
+ ],
+ link_args: [
+ libvirt_flat_namespace,
+ libvirt_no_undefined,
+ libvirt_nodelete,
+ libvirt_syms_flags,
+ ],
+ link_whole: [
+ libvirt_libs,
+ ],
+ link_depends: [
+ libvirt_syms_file,
+ ],
+ install: true,
+ version: libvirt_lib_version,
+ soversion: libvirt_so_version,
+)
diff --git a/src/openvz/meson.build b/src/openvz/meson.build
index 427b25fed1c..66048098774 100644
--- a/src/openvz/meson.build
+++ b/src/openvz/meson.build
@@ -17,6 +17,8 @@ if conf.has('WITH_OPENVZ')
conf_inc_dir,
],
)
+
+ libvirt_libs += openvz_lib
endif
if conf.has('WITH_OPENVZ')
diff --git a/src/remote/meson.build b/src/remote/meson.build
index f029edefd7e..a667f15ecf2 100644
--- a/src/remote/meson.build
+++ b/src/remote/meson.build
@@ -56,6 +56,8 @@ if conf.has('WITH_REMOTE')
conf_inc_dir,
],
)
+
+ libvirt_libs += remote_driver_lib
endif
if conf.has('WITH_REMOTE')
diff --git a/src/rpc/meson.build b/src/rpc/meson.build
index b8fbe0c38b1..8f4372bb3e2 100644
--- a/src/rpc/meson.build
+++ b/src/rpc/meson.build
@@ -112,3 +112,9 @@ rpc_dep = declare_dependency(
include_directories: [ rpc_inc_dir ],
sources: [ rpc_gen_headers ],
)
+
+libvirt_libs += [
+ virt_rpc_lib,
+ virt_rpc_client_lib,
+ virt_rpc_server_lib,
+]
diff --git a/src/security/meson.build b/src/security/meson.build
index 3dc88c2c546..1e85d8dcf5f 100644
--- a/src/security/meson.build
+++ b/src/security/meson.build
@@ -29,3 +29,5 @@ security_driver_lib = static_library(
conf_inc_dir,
],
)
+
+libvirt_libs += security_driver_lib
diff --git a/src/test/meson.build b/src/test/meson.build
index ec7b12304ec..f54585adfd1 100644
--- a/src/test/meson.build
+++ b/src/test/meson.build
@@ -20,5 +20,7 @@ if conf.has('WITH_TEST')
],
)
+ libvirt_libs += test_lib
+
install_data(test_driver_assets, install_dir: pkgdatadir)
endif
diff --git a/src/util/meson.build b/src/util/meson.build
index 59a531f6af1..3c728b355ee 100644
--- a/src/util/meson.build
+++ b/src/util/meson.build
@@ -193,4 +193,6 @@ virt_util_lib = static_library(
],
)
+libvirt_libs += virt_util_lib
+
util_inc_dir = include_directories('.')
diff --git a/src/vmware/meson.build b/src/vmware/meson.build
index dc2a32a1610..2021b4ffa44 100644
--- a/src/vmware/meson.build
+++ b/src/vmware/meson.build
@@ -15,6 +15,8 @@ if conf.has('WITH_VMWARE')
vmx_inc_dir,
],
)
+
+ libvirt_libs += vmware_lib
endif
if conf.has('WITH_VMWARE')
diff --git a/src/vmx/meson.build b/src/vmx/meson.build
index 25e3d1a6fca..e599b8de39b 100644
--- a/src/vmx/meson.build
+++ b/src/vmx/meson.build
@@ -15,6 +15,8 @@ if conf.has('WITH_VMX')
conf_inc_dir,
],
)
+
+ libvirt_libs += vmx_lib
endif
vmx_inc_dir = include_directories('.')
--
2.26.2