mirror of
https://github.com/systemd/systemd
synced 2024-07-21 10:17:21 +00: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/machine')
|
||||||
subdir('src/network')
|
subdir('src/network')
|
||||||
subdir('src/nspawn')
|
subdir('src/nspawn')
|
||||||
|
subdir('src/nss-myhostname')
|
||||||
|
subdir('src/nss-mymachines')
|
||||||
|
subdir('src/nss-resolve')
|
||||||
|
subdir('src/nss-systemd')
|
||||||
subdir('src/oom')
|
subdir('src/oom')
|
||||||
subdir('src/partition')
|
subdir('src/partition')
|
||||||
subdir('src/portable')
|
subdir('src/portable')
|
||||||
|
@ -2471,65 +2475,6 @@ test_dlopen = executable(
|
||||||
userspace],
|
userspace],
|
||||||
build_by_default : want_tests != 'false')
|
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
|
foreach dict : modules
|
||||||
name = dict.get('name')
|
name = dict.get('name')
|
||||||
is_nss = name.startswith('nss_')
|
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 a new issue