]>
git.ipfire.org Git - thirdparty/systemd.git/blob - tools/meson-render-jinja2.py
2 # SPDX-License-Identifier: LGPL-2.1-or-later
3 # pylint: disable=consider-using-with
12 def parse_config_h(filename
):
13 # Parse config.h file generated by meson.
15 for line
in open(filename
):
16 m
= re
.match(r
'#define\s+(\w+)\s+(.*)', line
)
20 if b
and b
[0] in '0123456789"':
21 b
= ast
.literal_eval(b
)
25 def render(filename
, defines
):
26 text
= open(filename
).read()
27 template
= jinja2
.Template(text
,
30 keep_trailing_newline
=True,
31 undefined
=jinja2
.StrictUndefined
)
32 return template
.render(defines
)
35 defines
= parse_config_h(sys
.argv
[1])
36 output
= render(sys
.argv
[2], defines
)
37 with
open(sys
.argv
[3], 'w') as f
:
39 info
= os
.stat(sys
.argv
[2])
40 os
.chmod(sys
.argv
[3], info
.st_mode
)
42 if __name__
== '__main__':