|
|
|
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.21.22')
|
|
|
|
# ICC and LCC <= 1.21.22 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)
|