[PATCH v1 5/7] admin: Build only when RPC is available
Michal Privoznik
mprivozn at redhat.com
Wed Dec 8 15:29:07 UTC 2021
The admin module is very closely tied to RPC. If we are
building without RPC support there's not much use for the
admin module, in fact it fails to build.
Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
---
examples/c/admin/meson.build | 36 ++++++-------
src/admin/meson.build | 36 ++++++-------
src/meson.build | 98 ++++++++++++++++++------------------
tools/meson.build | 44 ++++++++--------
4 files changed, 111 insertions(+), 103 deletions(-)
diff --git a/examples/c/admin/meson.build b/examples/c/admin/meson.build
index 094408a63c..aa7811ebe5 100644
--- a/examples/c/admin/meson.build
+++ b/examples/c/admin/meson.build
@@ -8,20 +8,22 @@ example_admin_files = [
'threadpool_params',
]
-foreach name : example_admin_files
- source_file = '@0 at .c'.format(name)
- executable(
- name,
- [
- source_file,
- ],
- include_directories: [
- libvirt_inc,
- ],
- link_with: [
- libvirt_lib,
- libvirt_admin_lib,
- ],
- )
- install_data(source_file, install_dir: example_dir / 'c' / 'admin')
-endforeach
+if conf.has('WITH_REMOTE')
+ foreach name : example_admin_files
+ source_file = '@0 at .c'.format(name)
+ executable(
+ name,
+ [
+ source_file,
+ ],
+ include_directories: [
+ libvirt_inc,
+ ],
+ link_with: [
+ libvirt_lib,
+ libvirt_admin_lib,
+ ],
+ )
+ install_data(source_file, install_dir: example_dir / 'c' / 'admin')
+ endforeach
+endif
diff --git a/src/admin/meson.build b/src/admin/meson.build
index f787c6665b..130997fb87 100644
--- a/src/admin/meson.build
+++ b/src/admin/meson.build
@@ -91,24 +91,26 @@ libvirt_admin_syms_flags = '@0@@1@'.format(
libvirt_admin_syms_file.full_path(),
)
-admin_driver_lib = static_library(
- 'virt_admin_driver',
- [
- admin_driver_sources,
- admin_driver_generated,
- ],
- dependencies: [
- rpc_dep,
- sasl_dep,
- src_dep,
- xdr_dep,
- ],
-)
+if conf.has('WITH_REMOTE')
+ admin_driver_lib = static_library(
+ 'virt_admin_driver',
+ [
+ admin_driver_sources,
+ admin_driver_generated,
+ ],
+ dependencies: [
+ rpc_dep,
+ sasl_dep,
+ src_dep,
+ xdr_dep,
+ ],
+ )
-check_protocols += {
- 'name': 'admin_protocol',
- 'lib': admin_driver_lib,
-}
+ check_protocols += {
+ 'name': 'admin_protocol',
+ 'lib': admin_driver_lib,
+ }
+endif
virt_conf_files += files('libvirt-admin.conf')
diff --git a/src/meson.build b/src/meson.build
index 2bd88e6699..2408344ef7 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -517,48 +517,48 @@ libvirt_lxc_lib = shared_library(
# libvirt-admin.so
-
-libvirt_admin_lib = shared_library(
- 'virt-admin',
- [
- admin_sources,
- admin_client_generated,
- admin_driver_generated,
- datatypes_sources,
- dtrace_gen_objects,
- ],
- dependencies: [
- capng_dep,
- devmapper_dep,
- gnutls_dep,
- libssh2_dep,
- libssh_dep,
- sasl_dep,
- src_dep,
- rpc_dep,
- xdr_dep,
- yajl_dep,
- ],
- include_directories: [
- admin_inc_dir,
- remote_inc_dir,
- ],
- link_args: [
- libvirt_admin_syms_flags,
- libvirt_nodelete,
- ],
- link_with: [
- libvirt_lib,
- ],
- link_depends: [
- libvirt_admin_syms_file,
- ],
- install: true,
- install_rpath: libvirt_rpath,
- version: libvirt_lib_version,
- soversion: libvirt_so_version,
-)
-
+if conf.has('WITH_REMOTE')
+ libvirt_admin_lib = shared_library(
+ 'virt-admin',
+ [
+ admin_sources,
+ admin_client_generated,
+ admin_driver_generated,
+ datatypes_sources,
+ dtrace_gen_objects,
+ ],
+ dependencies: [
+ capng_dep,
+ devmapper_dep,
+ gnutls_dep,
+ libssh2_dep,
+ libssh_dep,
+ sasl_dep,
+ src_dep,
+ rpc_dep,
+ xdr_dep,
+ yajl_dep,
+ ],
+ include_directories: [
+ admin_inc_dir,
+ remote_inc_dir,
+ ],
+ link_args: [
+ libvirt_admin_syms_flags,
+ libvirt_nodelete,
+ ],
+ link_with: [
+ libvirt_lib,
+ ],
+ link_depends: [
+ libvirt_admin_syms_file,
+ ],
+ install: true,
+ install_rpath: libvirt_rpath,
+ version: libvirt_lib_version,
+ soversion: libvirt_so_version,
+ )
+endif
# build libvirt shared modules
@@ -919,12 +919,14 @@ if host_machine.system() == 'linux'
env: runutf8,
)
- test(
- 'check-admin-symfile',
- python3_prog,
- args: [ check_symfile_prog.path(), libvirt_admin_syms, libvirt_admin_lib ],
- env: runutf8,
- )
+ if conf.has('WITH_REMOTE')
+ test(
+ 'check-admin-symfile',
+ python3_prog,
+ args: [ check_symfile_prog.path(), libvirt_admin_syms, libvirt_admin_lib ],
+ env: runutf8,
+ )
+ endif
endif
test(
diff --git a/tools/meson.build b/tools/meson.build
index 3fba313e5f..22fa3604ba 100644
--- a/tools/meson.build
+++ b/tools/meson.build
@@ -206,27 +206,29 @@ executable(
install_rpath: libvirt_rpath,
)
-executable(
- 'virt-admin',
- [
- 'virt-admin.c',
- 'virt-admin-completer.c',
- ],
- dependencies: [
- tools_dep,
- readline_dep,
- ],
- link_args: [
- coverage_flags,
- ],
- link_with: [
- libvirt_admin_lib,
- libvirt_shell_lib,
- ],
- install: true,
- install_dir: bindir,
- install_rpath: libvirt_rpath,
-)
+if conf.has('WITH_REMOTE')
+ executable(
+ 'virt-admin',
+ [
+ 'virt-admin.c',
+ 'virt-admin-completer.c',
+ ],
+ dependencies: [
+ tools_dep,
+ readline_dep,
+ ],
+ link_args: [
+ coverage_flags,
+ ],
+ link_with: [
+ libvirt_admin_lib,
+ libvirt_shell_lib,
+ ],
+ install: true,
+ install_dir: bindir,
+ install_rpath: libvirt_rpath,
+ )
+endif
tools_conf = configuration_data()
tools_conf.set('PACKAGE', meson.project_name())
--
2.32.0
More information about the libvir-list
mailing list