mirror of
https://github.com/systemd/systemd.git
synced 2025-01-09 01:18:19 +03:00
meson: move declarations of nss modules
This commit is contained in:
parent
07e43306b3
commit
2080c0978d
63
meson.build
63
meson.build
@ -2387,6 +2387,10 @@ subdir('src/login')
|
||||
subdir('src/machine')
|
||||
subdir('src/network')
|
||||
subdir('src/nspawn')
|
||||
subdir('src/nss-myhostname')
|
||||
subdir('src/nss-mymachines')
|
||||
subdir('src/nss-resolve')
|
||||
subdir('src/nss-systemd')
|
||||
subdir('src/oom')
|
||||
subdir('src/partition')
|
||||
subdir('src/portable')
|
||||
@ -2471,65 +2475,6 @@ test_dlopen = executable(
|
||||
userspace],
|
||||
build_by_default : want_tests != 'false')
|
||||
|
||||
foreach tuple : [['myhostname', 'ENABLE_NSS_MYHOSTNAME'],
|
||||
['systemd', 'ENABLE_NSS_SYSTEMD', ['nss-systemd.h', 'userdb-glue.c', 'userdb-glue.h']],
|
||||
['mymachines', 'ENABLE_NSS_MYMACHINES'],
|
||||
['resolve', 'ENABLE_NSS_RESOLVE', [], resolve_includes]]
|
||||
|
||||
condition = tuple[1] == '' or conf.get(tuple[1]) == 1
|
||||
if condition
|
||||
module = tuple[0]
|
||||
|
||||
sym = 'src/nss-@0@/nss-@0@.sym'.format(module)
|
||||
version_script_arg = project_source_root / sym
|
||||
|
||||
sources = ['src/nss-@0@/nss-@0@.c'.format(module)]
|
||||
if tuple.length() > 2
|
||||
foreach s : tuple[2]
|
||||
sources += ['src/nss-@0@/@1@'.format(module, s)]
|
||||
endforeach
|
||||
endif
|
||||
|
||||
incs = tuple.length() > 3 ? tuple[3] : includes
|
||||
|
||||
nss = shared_library(
|
||||
'nss_' + module,
|
||||
sources,
|
||||
version : '2',
|
||||
include_directories : incs,
|
||||
# Note that we link NSS modules with '-z nodelete' so that mempools never get orphaned
|
||||
link_args : ['-Wl,-z,nodelete',
|
||||
'-shared',
|
||||
'-Wl,--version-script=' + version_script_arg],
|
||||
link_with : [libsystemd_static,
|
||||
libshared_static,
|
||||
libbasic],
|
||||
dependencies : [librt,
|
||||
threads,
|
||||
userspace],
|
||||
link_depends : sym,
|
||||
install : true,
|
||||
install_tag : 'nss',
|
||||
install_dir : libdir)
|
||||
|
||||
# We cannot use shared_module because it does not support version suffix.
|
||||
# Unfortunately shared_library insists on creating the symlink…
|
||||
meson.add_install_script('sh', '-c',
|
||||
'rm $DESTDIR@0@/libnss_@1@.so'
|
||||
.format(libdir, module),
|
||||
install_tag : 'nss'
|
||||
)
|
||||
|
||||
if want_tests != 'false'
|
||||
test('dlopen-nss_' + module,
|
||||
test_dlopen,
|
||||
# path to dlopen must include a slash
|
||||
args : nss.full_path(),
|
||||
depends : nss)
|
||||
endif
|
||||
endif
|
||||
endforeach
|
||||
|
||||
foreach dict : modules
|
||||
name = dict.get('name')
|
||||
is_nss = name.startswith('nss_')
|
||||
|
10
src/nss-myhostname/meson.build
Normal file
10
src/nss-myhostname/meson.build
Normal file
@ -0,0 +1,10 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
modules += [
|
||||
nss_template + {
|
||||
'name' : 'nss_myhostname',
|
||||
'conditions' : ['ENABLE_NSS_MYHOSTNAME'],
|
||||
'sources' : files('nss-myhostname.c'),
|
||||
'link_depends' : files('nss-myhostname.sym'),
|
||||
},
|
||||
]
|
10
src/nss-mymachines/meson.build
Normal file
10
src/nss-mymachines/meson.build
Normal file
@ -0,0 +1,10 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
modules += [
|
||||
nss_template + {
|
||||
'name' : 'nss_mymachines',
|
||||
'conditions' : ['ENABLE_NSS_MYMACHINES'],
|
||||
'sources' : files('nss-mymachines.c'),
|
||||
'link_depends' : files('nss-mymachines.sym'),
|
||||
},
|
||||
]
|
12
src/nss-resolve/meson.build
Normal file
12
src/nss-resolve/meson.build
Normal file
@ -0,0 +1,12 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
modules += [
|
||||
nss_template + {
|
||||
'name' : 'nss_resolve',
|
||||
'conditions' : ['ENABLE_NSS_RESOLVE'],
|
||||
'sources' : files('nss-resolve.c'),
|
||||
'link_depends' : files('nss-resolve.sym'),
|
||||
'include_directories' : includes +
|
||||
include_directories('../resolve'),
|
||||
},
|
||||
]
|
13
src/nss-systemd/meson.build
Normal file
13
src/nss-systemd/meson.build
Normal file
@ -0,0 +1,13 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
|
||||
modules += [
|
||||
nss_template + {
|
||||
'name' : 'nss_systemd',
|
||||
'conditions' : ['ENABLE_NSS_SYSTEMD'],
|
||||
'sources' : files(
|
||||
'nss-systemd.c',
|
||||
'userdb-glue.c',
|
||||
),
|
||||
'link_depends' : files('nss-systemd.sym'),
|
||||
},
|
||||
]
|
Loading…
Reference in New Issue
Block a user