aboutsummaryrefslogtreecommitdiffstats
path: root/generate_auto_job
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2022-01-06 17:46:40 +0100
committerJay Berkenbilt <ejb@ql.org>2022-01-30 19:11:03 +0100
commit6e70d99b58caf545061038c3bd574dfdab2b1c7d (patch)
treefc596c73f048f78ad5fb70b9c515846e67403c3b /generate_auto_job
parentcb684ec4d3bdc68438f269b6cc611d6ba3ff6aa1 (diff)
downloadqpdf-6e70d99b58caf545061038c3bd574dfdab2b1c7d.tar.zst
QPDFJob increment: generate choices variables in init
Diffstat (limited to 'generate_auto_job')
-rwxr-xr-xgenerate_auto_job11
1 files changed, 11 insertions, 0 deletions
diff --git a/generate_auto_job b/generate_auto_job
index c63f76c9..e2d465b7 100755
--- a/generate_auto_job
+++ b/generate_auto_job
@@ -22,6 +22,7 @@ class Main:
SOURCES = [whoami, 'job.yml']
DESTS = {
'decl': 'libqpdf/qpdf/auto_job_decl.hh',
+ 'init': 'libqpdf/qpdf/auto_job_init.hh',
}
SUMS = 'job.sums'
@@ -93,6 +94,7 @@ class Main:
data = yaml.safe_load(f.read())
self.validate(data)
self.generate_decl(data)
+ self.generate_init(data)
# Update hashes last to ensure that this will be rerun in the
# event of a failure.
@@ -135,6 +137,15 @@ class Main:
i = self.to_identifier(table, 'O_', True)
print(f'static constexpr char const* {i} = "{table}";', file=f)
+ def generate_init(self, data):
+ with open(self.DESTS['init'], 'w') as f:
+ print(BANNER, file=f)
+ for k, v in data['choices'].items():
+ print(f'char const* {k}_choices[] = {{', file=f, end='')
+ for i in v:
+ print(f'"{i}", ', file=f, end='')
+ print('0};', file=f)
+
if __name__ == '__main__':
try: