mirror of
https://github.com/systemd/systemd.git
synced 2024-12-23 21:35:11 +03:00
6b1aac3ccf
m4 was nice in '85, but the syntax feels a bit dated. Since we use python for
meson, let's use a popular python templating engine to replace some m4 usage.
A little nicety is that typos are caught:
FAILED: sysusers.d/systemd-remote.conf
/usr/bin/meson --internal exe --capture sysusers.d/systemd-remote.conf -- /home/zbyszek/src/systemd/tools/meson-render-jinja2.py config.h ../sysusers.d/systemd-remote.conf.j2
Traceback (most recent call last):
File "/home/zbyszek/src/systemd/tools/meson-render-jinja2.py", line 28, in <module>
print(render(sys.argv[2], defines))
File "/home/zbyszek/src/systemd/tools/meson-render-jinja2.py", line 24, in render
return template.render(defines)
File "/usr/lib/python3.9/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/usr/lib/python3.9/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/usr/lib/python3.9/site-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "<template>", line 8, in top-level template code
jinja2.exceptions.UndefinedError: 'HAVE_MICROHTTP' is undefined
This checking mirrors what 349cc4a507
did for C defines.
23 lines
755 B
Meson
23 lines
755 B
Meson
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
if enable_sysusers
|
|
install_data('README', install_dir : sysusersdir)
|
|
endif
|
|
|
|
in_files = [['basic.conf', enable_sysusers],
|
|
['systemd.conf', enable_sysusers],
|
|
['systemd-remote.conf', enable_sysusers and
|
|
conf.get('ENABLE_REMOTE') == 1 and conf.get('HAVE_MICROHTTPD') == 1]]
|
|
|
|
foreach tuple : in_files
|
|
file = tuple[0]
|
|
custom_target(
|
|
file,
|
|
input : file + '.in',
|
|
output: file,
|
|
command : [meson_render_jinja2, config_h, '@INPUT@'],
|
|
capture : true,
|
|
install : tuple[1],
|
|
install_dir : sysusersdir)
|
|
endforeach
|