From 7b6e527f440cd7e6f8be2b07cee320ee6ca18786 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 29 Apr 2024 06:41:38 +0200 Subject: Adding upstream version 1.0.1. Signed-off-by: Daniel Baumann --- .../common/57 custom header generator/input.def | 1 + .../common/57 custom header generator/makeheader.py | 12 ++++++++++++ .../common/57 custom header generator/meson.build | 21 +++++++++++++++++++++ test cases/common/57 custom header generator/prog.c | 5 +++++ .../common/57 custom header generator/somefile.txt | 0 5 files changed, 39 insertions(+) create mode 100644 test cases/common/57 custom header generator/input.def create mode 100644 test cases/common/57 custom header generator/makeheader.py create mode 100644 test cases/common/57 custom header generator/meson.build create mode 100644 test cases/common/57 custom header generator/prog.c create mode 100644 test cases/common/57 custom header generator/somefile.txt (limited to 'test cases/common/57 custom header generator') diff --git a/test cases/common/57 custom header generator/input.def b/test cases/common/57 custom header generator/input.def new file mode 100644 index 0000000..573541a --- /dev/null +++ b/test cases/common/57 custom header generator/input.def @@ -0,0 +1 @@ +0 diff --git a/test cases/common/57 custom header generator/makeheader.py b/test cases/common/57 custom header generator/makeheader.py new file mode 100644 index 0000000..f156834 --- /dev/null +++ b/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/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) diff --git a/test cases/common/57 custom header generator/prog.c b/test cases/common/57 custom header generator/prog.c new file mode 100644 index 0000000..acd0ff7 --- /dev/null +++ b/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/test cases/common/57 custom header generator/somefile.txt b/test cases/common/57 custom header generator/somefile.txt new file mode 100644 index 0000000..e69de29 -- cgit v1.2.3