From nobody Sun Feb 8 15:30:49 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) client-ip=207.211.31.120; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1594894088; cv=none; d=zohomail.com; s=zohoarc; b=KMpbYXBrvrafsUDKIXeQn6CeRaob8Gebx50tKHvyVXns98/GIxTY/Yxl3J8BzirggG+muHXRDRSX8+MQiSIESkKbHvZBIhjgScPWyY3lsv7nGamAJ+kXCF/nHtR1ph2jEqnCjXNt33D4jTfjV/tUFyI01FuT9nuVMt1htPE6/oc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1594894088; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Lg4PW0PQcGmeo30uumefYsd2EdX2xLK6RD/ZTuFaZxk=; b=PjhUaz9jFHwv76Gzf5BUzbVylyzkIMPfHBPWyEmI3QujCDT/MMuMI349Tr8MF3/la5p/Z3oXXYfmIQvd+mKEQH5xp25pU/g+0nYXsM2ArPYEfmFaZHrWeILDk1CDLu7L+WCXT5nfCdiLjTg0UsokML3/cFGLiJUg3DkdnGrlCJ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 207.211.31.120 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) by mx.zohomail.com with SMTPS id 1594894088682743.5957234330476; Thu, 16 Jul 2020 03:08:08 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-81-AenMWwlTMEidR3bpwmF5Fg-1; Thu, 16 Jul 2020 06:08:02 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 741061888AAA; Thu, 16 Jul 2020 10:07:55 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 57107724C2; Thu, 16 Jul 2020 10:07:55 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 235071804748; Thu, 16 Jul 2020 10:07:55 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 06GA419l017604 for ; Thu, 16 Jul 2020 06:04:01 -0400 Received: by smtp.corp.redhat.com (Postfix) id 5B9512DE69; Thu, 16 Jul 2020 10:04:01 +0000 (UTC) Received: from antique-work.redhat.com (unknown [10.40.194.85]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA7622B6DB for ; Thu, 16 Jul 2020 10:04:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1594894087; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Lg4PW0PQcGmeo30uumefYsd2EdX2xLK6RD/ZTuFaZxk=; b=PFAfoe7WVCfNYPV5+ePvW0pH22FLCAB4kSDB8BeiXu82f1w0JBNgHr1Z01tsg50Cff72ef c23j5R+OBYPmNF5tBlnSdENmex2+M/jUD//9onE94UXch7RkUJuxjn1fEMqXDwgsDNjLNq AhYS+FtDXwaqOS1bdoETlrm0CJ+z7g0= X-MC-Unique: AenMWwlTMEidR3bpwmF5Fg-1 From: Pavel Hrdina To: libvir-list@redhat.com Subject: [libvirt PATCH 152/351] meson: src: build libvirt.so library Date: Thu, 16 Jul 2020 11:56:28 +0200 Message-Id: <0a8f826136b3ca467cb89ab922ebe8cafa67ed91.1594891445.git.phrdina@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Signed-off-by: Pavel Hrdina --- 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 =3D INSTALL_DATA_DIRS =3D INSTALL_DATA_LOCAL =3D UNINSTALL_LOCAL =3D -libvirt_la_BUILT_LIBADD =3D SYM_FILES =3D USED_SYM_FILES =3D GENERATED_SYM_FILES =3D @@ -65,7 +64,7 @@ COMMON_UNIT_VARS =3D \ =20 # Set these variables before we include any of the subdirs as libvirt-admi= n.la # has to be installed after libvirt.la. -lib_LTLIBRARIES +=3D libvirt.la libvirt-qemu.la libvirt-lxc.la +lib_LTLIBRARIES +=3D libvirt-qemu.la libvirt-lxc.la =20 include util/Makefile.inc.am include cpu_map/Makefile.inc.am @@ -204,13 +203,6 @@ check-local: check-protocol check-symfile check-symsor= ting \ .PHONY: check-protocol $(PROTOCOL_STRUCTS:structs=3Dstruct) =20 =20 -######################### -# -# 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 +=3D $(USED_SYM_FILES) @@ -237,32 +229,7 @@ check-augeas: $(augeas_DATA) $(augeastest_DATA) AUG_GENTEST_SCRIPT =3D $(top_srcdir)/scripts/augeas-gentest.py AUG_GENTEST =3D $(RUNUTF8) $(PYTHON) $(AUG_GENTEST_SCRIPT) =20 -# Empty source list - it merely links a bunch of convenience libs together -libvirt_la_SOURCES =3D -libvirt_la_LDFLAGS =3D \ - $(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 +=3D \ - $(DLOPEN_LIBS) \ - $(XDR_LIBS) \ - $(NULL) -libvirt_la_CFLAGS =3D -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 =3D $(libvirt_la_BUILT_LIBADD) $(LIBVIRT_SYMBOL_FI= LE) - if WITH_DTRACE_PROBES -libvirt_la_BUILT_LIBADD +=3D libvirt_probes.lo -libvirt_la_DEPENDENCIES +=3D libvirt_probes.lo libvirt_probes.o -nodist_libvirt_la_SOURCES =3D libvirt_probes.h =20 tapset_DATA +=3D libvirt_functions.stp =20 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 =3D \ =20 ACCESS_DRIVER_POLKIT_POLICY =3D access/org.libvirt.api.policy =20 -libvirt_la_BUILT_LIBADD +=3D 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 =3D static_library( ] ) =20 +libvirt_libs +=3D virt_access_lib + access_inc_dir =3D include_directories('.') =20 # 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 =3D static_library( xdr_dep, ], ) + +libvirt_libs +=3D 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 =3D static_library( ], ) =20 +libvirt_libs +=3D virt_conf_lib + conf_inc_dir =3D 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 =3D static_library( conf_inc_dir, ], ) + +libvirt_libs +=3D 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 +=3D esx_lib endif =20 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 +=3D 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 =3D static_library( ], ) =20 +libvirt_libs +=3D hypervisor_lib + hypervisor_inc_dir =3D 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 =3D static_library( conf_inc_dir, ], ) + +libvirt_libs +=3D 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 =3D static_library( xdr_dep, ], ) + +libvirt_libs +=3D 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 =20 =20 +# variables filled by subdirectories + +libvirt_libs =3D [] + + # list subdirectories =20 subdir('util') @@ -179,6 +184,8 @@ driver_lib =3D static_library( ], ) =20 +libvirt_libs +=3D driver_lib + =20 # symbol files for libvirt.so =20 @@ -206,6 +213,7 @@ libvirt_syms =3D custom_target( command: [ gen_sym_files_prog, 'LIBVIRT_PRIVATE_' + meson.project_versio= n(), '@INPUT@' ], capture: true, ) +libvirt_syms_file =3D libvirt_syms if host_machine.system() =3D=3D 'windows' libvirt_def =3D custom_target( 'libvirt.def', @@ -214,4 +222,36 @@ if host_machine.system() =3D=3D 'windows' command: [ gen_def_files_prog, '@INPUT@' ], capture: true, ) + libvirt_syms_file =3D libvirt_def endif + + +# libvirt.so library + +libvirt_syms_flags =3D '@0@@1@'.format( + version_script_flags, + libvirt_syms_file.full_path(), +) + +libvirt_lib =3D 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 +=3D openvz_lib endif =20 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 +=3D remote_driver_lib endif =20 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 =3D declare_dependency( include_directories: [ rpc_inc_dir ], sources: [ rpc_gen_headers ], ) + +libvirt_libs +=3D [ + 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 =3D static_library( conf_inc_dir, ], ) + +libvirt_libs +=3D 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') ], ) =20 + libvirt_libs +=3D 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 =3D static_library( ], ) =20 +libvirt_libs +=3D virt_util_lib + util_inc_dir =3D 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 +=3D vmware_lib endif =20 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 +=3D vmx_lib endif =20 vmx_inc_dir =3D include_directories('.') --=20 2.26.2