summaryrefslogtreecommitdiffstats
path: root/test cases/common/57 custom header generator/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/common/57 custom header generator/meson.build')
-rw-r--r--test cases/common/57 custom header generator/meson.build21
1 files changed, 21 insertions, 0 deletions
diff --git a/test cases/common/57 custom header generator/meson.build b/test cases/common/57 custom header generator/meson.build
new file mode 100644
index 0000000..d43915a
--- /dev/null
+++ b/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)