diff options
Diffstat (limited to 'meson/test cases/common/57 custom header generator')
5 files changed, 39 insertions, 0 deletions
diff --git a/meson/test cases/common/57 custom header generator/input.def b/meson/test cases/common/57 custom header generator/input.def new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/meson/test cases/common/57 custom header generator/input.def @@ -0,0 +1 @@ +0 diff --git a/meson/test cases/common/57 custom header generator/makeheader.py b/meson/test cases/common/57 custom header generator/makeheader.py new file mode 100644 index 000000000..f15683447 --- /dev/null +++ b/meson/test cases/common/57 custom header generator/makeheader.py @@ -0,0 +1,12 @@ +#!/usr/bin/env python3 + +# NOTE: this file does not have the executable bit set. This tests that +# Meson can automatically parse shebang lines. + +import sys + +template = '#define RET_VAL %s\n' +with open(sys.argv[1]) as f: + output = template % (f.readline().strip(), ) +with open(sys.argv[2], 'w') as f: + f.write(output) diff --git a/meson/test cases/common/57 custom header generator/meson.build b/meson/test cases/common/57 custom header generator/meson.build new file mode 100644 index 000000000..d43915a3c --- /dev/null +++ b/meson/test cases/common/57 custom header generator/meson.build @@ -0,0 +1,21 @@ +project('custom header generator', 'c') + +cc_id = meson.get_compiler('c').get_id() +cc_ver = meson.get_compiler('c').version() + +if cc_id == 'intel' or (cc_id == 'lcc' and cc_ver.version_compare('<=1.23.08')) + # ICC and LCC <= 1.23.08 do not escape spaces in paths in the dependency file, so Ninja + # (correctly) thinks that the rule has multiple outputs and errors out: + # 'depfile has multiple output paths' + error('MESON_SKIP_TEST: Skipping test because your compiler is known to generate broken dependency files') +endif + +gen = find_program('makeheader.py') + +generated_h = custom_target('makeheader.py', + output : 'myheader.lh', # Suffix not .h to ensure this works with custom suffixes, too. + input : 'input.def', + command : [gen, '@INPUT0@', '@OUTPUT0@', files('somefile.txt')]) + +prog = executable('prog', 'prog.c', generated_h) +test('gentest', prog) diff --git a/meson/test cases/common/57 custom header generator/prog.c b/meson/test cases/common/57 custom header generator/prog.c new file mode 100644 index 000000000..acd0ff79b --- /dev/null +++ b/meson/test cases/common/57 custom header generator/prog.c @@ -0,0 +1,5 @@ +#include"myheader.lh" + +int main(void) { + return RET_VAL; +} diff --git a/meson/test cases/common/57 custom header generator/somefile.txt b/meson/test cases/common/57 custom header generator/somefile.txt new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/meson/test cases/common/57 custom header generator/somefile.txt |