mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
00c4dd794a
shared_module() is intended for shared objects that are
loaded at runtime using dlopen() whereas NSS plugins need to
be full-fledged shared libraries with, among other things, a
proper SONAME.
Meson seems to have become more strict about this recently,
because libnss_libvirt.so.2 gets a SONAME when I build it with
Meson 0.59.4 on Fedora 34 but doesn't when I use Meson 0.60.2
on Debian testing instead.
Either way, shared_library() was always the right function
to use for NSS plugins.
Fixes: 36780c9319
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
95 lines
1.7 KiB
Meson
95 lines
1.7 KiB
Meson
if conf.has('WITH_BSD_NSS')
|
|
nss_sym_file = 'libvirt_nss_bsd.syms'
|
|
nss_guest_sym_file = nss_sym_file
|
|
nss_so_ver = '1'
|
|
nss_prefix = ''
|
|
else
|
|
nss_sym_file = 'libvirt_nss.syms'
|
|
nss_guest_sym_file = 'libvirt_guest_nss.syms'
|
|
nss_so_ver = '2'
|
|
nss_prefix = 'lib'
|
|
endif
|
|
|
|
nss_sources = [
|
|
'libvirt_nss.c',
|
|
'libvirt_nss_leases.c',
|
|
]
|
|
|
|
nss_guest_sources = [
|
|
'libvirt_nss_macs.c',
|
|
]
|
|
|
|
nss_libvirt_impl = static_library(
|
|
'nss_libvirt_impl',
|
|
[
|
|
nss_sources,
|
|
],
|
|
c_args: [
|
|
'-DLIBVIRT_NSS'
|
|
],
|
|
dependencies: [
|
|
tools_dep,
|
|
yajl_dep,
|
|
],
|
|
)
|
|
|
|
nss_libvirt_guest_impl = static_library(
|
|
'nss_libvirt_guest_impl',
|
|
[
|
|
nss_sources,
|
|
nss_guest_sources,
|
|
],
|
|
c_args: [
|
|
'-DLIBVIRT_NSS',
|
|
'-DLIBVIRT_NSS_GUEST',
|
|
],
|
|
dependencies: [
|
|
tools_dep,
|
|
yajl_dep,
|
|
],
|
|
)
|
|
|
|
nss_libvirt_syms = '@0@@1@'.format(
|
|
version_script_flags,
|
|
meson.current_source_dir() / nss_sym_file,
|
|
)
|
|
|
|
nss_libvirt_guest_syms = '@0@@1@'.format(
|
|
version_script_flags,
|
|
meson.current_source_dir() / nss_guest_sym_file,
|
|
)
|
|
|
|
nss_libvirt_lib = shared_library(
|
|
'nss_libvirt',
|
|
name_prefix: nss_prefix,
|
|
name_suffix: 'so.@0@'.format(nss_so_ver),
|
|
link_args: [
|
|
nss_libvirt_syms,
|
|
libvirt_export_dynamic,
|
|
coverage_flags,
|
|
],
|
|
link_whole: [
|
|
nss_libvirt_impl,
|
|
],
|
|
install: true,
|
|
install_dir: libdir,
|
|
)
|
|
|
|
nss_libvirt_guest_lib = shared_library(
|
|
'nss_libvirt_guest',
|
|
name_prefix: nss_prefix,
|
|
name_suffix: 'so.@0@'.format(nss_so_ver),
|
|
link_args: [
|
|
nss_libvirt_guest_syms,
|
|
libvirt_export_dynamic,
|
|
coverage_flags,
|
|
],
|
|
link_whole: [
|
|
nss_libvirt_guest_impl,
|
|
],
|
|
install: true,
|
|
install_dir: libdir,
|
|
)
|
|
|
|
nss_inc_dir = include_directories('.')
|