summaryrefslogtreecommitdiff
path: root/test cases/common/22 object extraction
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2021-10-07 14:30:59 +0200
committerDylan Baker <dylan@pnwbakers.com>2021-12-06 13:27:12 -0800
commit901f444ea585c3661eb3284098cac4ab64df4ec8 (patch)
tree4acabc044d7e1ea0d42a116fe4e2fab589d183d5 /test cases/common/22 object extraction
parent18408f82d1ed2f04ef069e8e5836449a9cc5c355 (diff)
downloadmeson-901f444ea585c3661eb3284098cac4ab64df4ec8.tar.gz
interpreter: allow extract_objects to receive generated sources
Fixes: #8333
Diffstat (limited to 'test cases/common/22 object extraction')
-rw-r--r--test cases/common/22 object extraction/create-source.py3
-rw-r--r--test cases/common/22 object extraction/meson.build15
2 files changed, 18 insertions, 0 deletions
diff --git a/test cases/common/22 object extraction/create-source.py b/test cases/common/22 object extraction/create-source.py
new file mode 100644
index 000000000..d2e8e8b83
--- /dev/null
+++ b/test cases/common/22 object extraction/create-source.py
@@ -0,0 +1,3 @@
+#! /usr/bin/env python3
+import sys
+print(f'#include "{sys.argv[1]}"')
diff --git a/test cases/common/22 object extraction/meson.build b/test cases/common/22 object extraction/meson.build
index 4847fa11d..37ac66dc1 100644
--- a/test cases/common/22 object extraction/meson.build
+++ b/test cases/common/22 object extraction/meson.build
@@ -20,6 +20,18 @@ else
e5 = executable('main5', 'main.c', objects : obj5)
e6 = executable('main6', 'main.c', objects : obj6)
+ ct_src = custom_target('lib3.c', output: 'lib3.c', capture: true,
+ command: [find_program('create-source.py'), 'lib.c'])
+ lib3 = library('somelib3', ct_src)
+ e7 = executable('main7', 'main.c', objects: lib3.extract_objects(ct_src[0]))
+ e8 = executable('main8', 'main.c', objects: lib3.extract_objects(ct_src))
+
+ gen = generator(find_program('create-source.py'), arguments: ['@INPUT@'],
+ output: '@BASENAME@4.c', capture: true)
+ gen_src = gen.process('lib.c')
+ lib4 = library('somelib4', gen_src)
+ e9 = executable('main9', 'main.c', objects: lib4.extract_objects(gen_src))
+
custom_target('custom_target with object inputs', output: 'objs',
input: [obj1, obj2, obj3, obj5, obj6],
build_by_default: true,
@@ -32,4 +44,7 @@ else
test('extraction test 4', e4)
test('extraction test 5', e5)
test('extraction test 6', e6)
+ test('extraction test 7', e7)
+ test('extraction test 8', e8)
+ test('extraction test 9', e9)
endif