]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: src: build libvirt.so library
authorPavel Hrdina <phrdina@redhat.com>
Mon, 27 Jul 2020 06:39:38 +0000 (08:39 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:04 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
19 files changed:
src/Makefile.am
src/access/Makefile.inc.am
src/access/meson.build
src/conf/meson.build
src/cpu/meson.build
src/esx/meson.build
src/hyperv/meson.build
src/hypervisor/meson.build
src/locking/meson.build
src/logging/meson.build
src/meson.build
src/openvz/meson.build
src/remote/meson.build
src/rpc/meson.build
src/security/meson.build
src/test/meson.build
src/util/meson.build
src/vmware/meson.build
src/vmx/meson.build

index 67b8e5733575930f431b3b1ab89781663513e3b7..ff815dbd1b50d95576c87601ed078902cd650e08 100644 (file)
@@ -36,7 +36,6 @@ mod_LTLIBRARIES =
 INSTALL_DATA_DIRS =
 INSTALL_DATA_LOCAL =
 UNINSTALL_LOCAL =
-libvirt_la_BUILT_LIBADD =
 SYM_FILES =
 USED_SYM_FILES =
 GENERATED_SYM_FILES =
@@ -66,7 +65,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
@@ -207,13 +206,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)
@@ -242,32 +234,7 @@ AUG_GENTEST = $(RUNUTF8) $(PYTHON) $(AUG_GENTEST_SCRIPT)
 
 BUILT_SOURCES += $(GENERATED_SYM_FILES)
 
-# 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
 
 BUILT_SOURCES += libvirt_functions.stp
 
index a3dcc69fe0990c9e8d4fa5c80c5fdf2289bcb57f..4060035ec7023234a44caf4d515eacd374fa16eb 100644 (file)
@@ -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) \
index dc962166873b9ec5c106366276d1c4425031b4fd..f3b605f000989840d22327f96ddad19a257f3f35 100644 (file)
@@ -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
index 394cca4e6a11c7efb76113e5973f2f8522308316..03b90aa6f60b954e30f6bd326e60b6513d4716eb 100644 (file)
@@ -105,4 +105,6 @@ virt_conf_lib = static_library(
   ],
 )
 
+libvirt_libs += virt_conf_lib
+
 conf_inc_dir = include_directories('.')
index 2404dc6b76f81eba67acc76e19bd36f584fe4bc9..b4ad95e46d5e0bf686ed843f3c4c0ca9e66d6990 100644 (file)
@@ -17,3 +17,5 @@ cpu_lib = static_library(
     conf_inc_dir,
   ],
 )
+
+libvirt_libs += cpu_lib
index b15f515fe2e8ff851f1dd8fc898bc484f47a0925..a79cc5b834411e7ae6c0778469370a30f265dfe8 100644 (file)
@@ -53,6 +53,8 @@ if conf.has('WITH_ESX')
       vmx_inc_dir,
     ],
   )
+
+  libvirt_libs += esx_lib
 endif
 
 if conf.has('WITH_ESX')
index cd12269f18973cec587b3b692256e830ac7106ea..84fcedce38f8b8e443de536ee8c706edfaf2ca51 100644 (file)
@@ -37,4 +37,6 @@ if conf.has('WITH_HYPERV')
       conf_inc_dir,
     ]
   )
+
+  libvirt_libs += hyperv_lib
 endif
index ea1dddfe98324b4d63ba409a74c250d54dd91e19..85149c683ee48d32b299564b027a1fae76f18864 100644 (file)
@@ -18,4 +18,6 @@ hypervisor_lib = static_library(
   ],
 )
 
+libvirt_libs += hypervisor_lib
+
 hypervisor_inc_dir = include_directories('.')
index 67822486253ccd5bbf43781303e885874620d559..18b2e3c72a600c94fbe36fd992dc3e9454cf665f 100644 (file)
@@ -16,3 +16,5 @@ lock_driver_lib = static_library(
     conf_inc_dir,
   ],
 )
+
+libvirt_libs += lock_driver_lib
index a9c30efe0639debf28b5f88e651862d9a0c25801..5d1f30ac08f5dd2ec471bd8075a61fff21c9beb0 100644 (file)
@@ -36,3 +36,5 @@ log_driver_lib = static_library(
     xdr_dep,
   ],
 )
+
+libvirt_libs += log_driver_lib
index 5e89c1a34370afecefb744aa8733b506b87a6363..5869ab42abac9eabf237dc2382e3a6375237b0a1 100644 (file)
@@ -123,6 +123,11 @@ else
 endif
 
 
+# variables filled by subdirectories
+
+libvirt_libs = []
+
+
 # list subdirectories
 
 subdir('util')
@@ -189,6 +194,8 @@ driver_lib = static_library(
   ],
 )
 
+libvirt_libs += driver_lib
+
 
 # symbol files for libvirt.so
 
@@ -218,6 +225,7 @@ libvirt_syms = custom_target(
     '@OUTPUT@', 'LIBVIRT_PRIVATE_' + meson.project_version(), '@INPUT@',
   ],
 )
+libvirt_syms_file = libvirt_syms
 if host_machine.system() == 'windows'
   libvirt_def = custom_target(
     'libvirt.def',
@@ -228,4 +236,36 @@ if host_machine.system() == 'windows'
       '@INPUT@', '@OUTPUT@',
     ],
   )
+  libvirt_syms_file = libvirt_def
 endif
+
+
+# libvirt.so library
+
+libvirt_syms_flags = '@0@@1@'.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,
+)
index 427b25fed1cefdd3fc28c41c9c0691f58b2ec4d0..660480987742049d300c30d0cce10a3041a01459 100644 (file)
@@ -17,6 +17,8 @@ if conf.has('WITH_OPENVZ')
       conf_inc_dir,
     ],
   )
+
+  libvirt_libs += openvz_lib
 endif
 
 if conf.has('WITH_OPENVZ')
index f029edefd7e1379c42d496d5d37c34358b21cb6a..a667f15ecf2d267ba241c77de984396f47efb3a5 100644 (file)
@@ -56,6 +56,8 @@ if conf.has('WITH_REMOTE')
       conf_inc_dir,
     ],
   )
+
+  libvirt_libs += remote_driver_lib
 endif
 
 if conf.has('WITH_REMOTE')
index b8fbe0c38b115d8ff517c52d12baceaaba385d49..8f4372bb3e2c5574641d3665e74be6e398f126f8 100644 (file)
@@ -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,
+]
index 3dc88c2c5461ab6c76575becdc9c8c06f2616197..1e85d8dcf5f2b5e065100bb8f2a4a4053540ba07 100644 (file)
@@ -29,3 +29,5 @@ security_driver_lib = static_library(
     conf_inc_dir,
   ],
 )
+
+libvirt_libs += security_driver_lib
index ec7b12304ec1f5cde5607b7747a4f9848b5fce84..f54585adfd14008f79e7b683ca19f7cdd260f739 100644 (file)
@@ -20,5 +20,7 @@ if conf.has('WITH_TEST')
     ],
   )
 
+  libvirt_libs += test_lib
+
   install_data(test_driver_assets, install_dir: pkgdatadir)
 endif
index ad358b1b22741e93cce46b64d10fb492c14a1b94..e6dd037f84878cdcd35d48c2b96f62bc26f1d5bf 100644 (file)
@@ -193,4 +193,6 @@ virt_util_lib = static_library(
   ],
 )
 
+libvirt_libs += virt_util_lib
+
 util_inc_dir = include_directories('.')
index dc2a32a1610dce80b1de8338aa58be6704dfb8e3..2021b4ffa4415a62bac6f0195f19cdd7fd1d661d 100644 (file)
@@ -15,6 +15,8 @@ if conf.has('WITH_VMWARE')
       vmx_inc_dir,
     ],
   )
+
+  libvirt_libs += vmware_lib
 endif
 
 if conf.has('WITH_VMWARE')
index 25e3d1a6fcaf94a7ab84505b22a864329a90a8fb..e599b8de39b1d2ad0e659dbf1406d515663c284c 100644 (file)
@@ -15,6 +15,8 @@ if conf.has('WITH_VMX')
       conf_inc_dir,
     ],
   )
+
+  libvirt_libs += vmx_lib
 endif
 
 vmx_inc_dir = include_directories('.')