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 --- .../245 custom target index source/code_source.c | 6 +++ .../245 custom target index source/copyfile.py | 6 +++ .../245 custom target index source/copyfile2.py | 7 +++ .../245 custom target index source/header_source.h | 1 + .../common/245 custom target index source/main.c | 8 ++++ .../245 custom target index source/meson.build | 51 ++++++++++++++++++++++ 6 files changed, 79 insertions(+) create mode 100644 test cases/common/245 custom target index source/code_source.c create mode 100644 test cases/common/245 custom target index source/copyfile.py create mode 100644 test cases/common/245 custom target index source/copyfile2.py create mode 100644 test cases/common/245 custom target index source/header_source.h create mode 100644 test cases/common/245 custom target index source/main.c create mode 100644 test cases/common/245 custom target index source/meson.build (limited to 'test cases/common/245 custom target index source') diff --git a/test cases/common/245 custom target index source/code_source.c b/test cases/common/245 custom target index source/code_source.c new file mode 100644 index 0000000..484955b --- /dev/null +++ b/test cases/common/245 custom target index source/code_source.c @@ -0,0 +1,6 @@ +extern int genfunc(void); + +int genfunc(void) +{ + return 0; +} diff --git a/test cases/common/245 custom target index source/copyfile.py b/test cases/common/245 custom target index source/copyfile.py new file mode 100644 index 0000000..ff42ac3 --- /dev/null +++ b/test cases/common/245 custom target index source/copyfile.py @@ -0,0 +1,6 @@ +#!/usr/bin/env python3 + +import sys +import shutil + +shutil.copyfile(sys.argv[1], sys.argv[2]) diff --git a/test cases/common/245 custom target index source/copyfile2.py b/test cases/common/245 custom target index source/copyfile2.py new file mode 100644 index 0000000..efbfc28 --- /dev/null +++ b/test cases/common/245 custom target index source/copyfile2.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python3 + +import sys +import shutil + +shutil.copyfile(sys.argv[1], sys.argv[2]) +shutil.copyfile(sys.argv[3], sys.argv[4]) diff --git a/test cases/common/245 custom target index source/header_source.h b/test cases/common/245 custom target index source/header_source.h new file mode 100644 index 0000000..e06c9de --- /dev/null +++ b/test cases/common/245 custom target index source/header_source.h @@ -0,0 +1 @@ +extern int genfunc(void); diff --git a/test cases/common/245 custom target index source/main.c b/test cases/common/245 custom target index source/main.c new file mode 100644 index 0000000..48af141 --- /dev/null +++ b/test cases/common/245 custom target index source/main.c @@ -0,0 +1,8 @@ +#include +#include "gen.h" + +int main(int argc) +{ + assert(argc == 3); + return genfunc(); +} diff --git a/test cases/common/245 custom target index source/meson.build b/test cases/common/245 custom target index source/meson.build new file mode 100644 index 0000000..c8087dd --- /dev/null +++ b/test cases/common/245 custom target index source/meson.build @@ -0,0 +1,51 @@ +project('custom target index source', 'c') + +# Test that using a custom target index as a sourcefile works correctly + +copy1 = find_program('copyfile.py') +copy2 = find_program('copyfile2.py') + +step_1 = custom_target('step_1', + input: ['code_source.c', files('header_source.h')], + output: ['step_1.c', 'step_1.h'], + command: [copy2, '@INPUT0@', '@OUTPUT0@', '@INPUT1@', '@OUTPUT1@'], + build_by_default: false) + +# test custom target with a single CustomTargetIndex input +step_2_c = custom_target('step_2_c', + input: step_1[0], + output: 'step_2.c', + command: [copy1, '@INPUT0@', '@OUTPUT0@'], + build_by_default: false) + +step_2_h = custom_target('step_2_h', + input: step_1[1], + output: 'step_2.h', + command: [copy1, '@INPUT0@', '@OUTPUT0@'], + build_by_default: false, +) + +# test custom target with multiple CustomTargetIndex inputs +gen = custom_target('step_3', + input: [step_2_c, step_2_h], + output: ['gen.c', 'gen.h'], + command: [copy2, '@INPUT0@', '@OUTPUT0@', '@INPUT1@', '@OUTPUT1@'], + build_by_default: false) +gen_c = gen[0] +gen_h = gen[1] + +exe_separate = executable('exe_separate', + ['main.c', gen_c, gen_h], + build_by_default: false, + install: false, +) + +exe_together = executable('exe_together', + ['main.c', gen], + build_by_default: false, + install: false, +) + +# also cover passing custom target to tests as arguments +test('exe_separate', exe_separate, args: [gen_c, gen_h]) +test('exe_together', exe_together, args: gen) -- cgit v1.2.3