aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/216 custom target input extracted objects
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/common/216 custom target input extracted objects')
-rw-r--r--meson/test cases/common/216 custom target input extracted objects/check_object.py13
-rw-r--r--meson/test cases/common/216 custom target input extracted objects/libdir/meson.build1
-rw-r--r--meson/test cases/common/216 custom target input extracted objects/libdir/source.c3
-rw-r--r--meson/test cases/common/216 custom target input extracted objects/meson.build18
4 files changed, 35 insertions, 0 deletions
diff --git a/meson/test cases/common/216 custom target input extracted objects/check_object.py b/meson/test cases/common/216 custom target input extracted objects/check_object.py
new file mode 100644
index 000000000..bafcf2c17
--- /dev/null
+++ b/meson/test cases/common/216 custom target input extracted objects/check_object.py
@@ -0,0 +1,13 @@
+#!/usr/bin/env python3
+
+import sys, os
+
+if __name__ == '__main__':
+ if len(sys.argv) != 3:
+ print(sys.argv[0], 'object', 'output')
+ sys.exit(1)
+ elif os.path.exists(sys.argv[1]):
+ with open(sys.argv[2], 'wb') as out:
+ pass
+ else:
+ sys.exit(1)
diff --git a/meson/test cases/common/216 custom target input extracted objects/libdir/meson.build b/meson/test cases/common/216 custom target input extracted objects/libdir/meson.build
new file mode 100644
index 000000000..7f833115c
--- /dev/null
+++ b/meson/test cases/common/216 custom target input extracted objects/libdir/meson.build
@@ -0,0 +1 @@
+objlib = static_library('object', 'source.c', override_options : ['unity=off'])
diff --git a/meson/test cases/common/216 custom target input extracted objects/libdir/source.c b/meson/test cases/common/216 custom target input extracted objects/libdir/source.c
new file mode 100644
index 000000000..1dc08e168
--- /dev/null
+++ b/meson/test cases/common/216 custom target input extracted objects/libdir/source.c
@@ -0,0 +1,3 @@
+int func1_in_obj(void) {
+ return 0;
+}
diff --git a/meson/test cases/common/216 custom target input extracted objects/meson.build b/meson/test cases/common/216 custom target input extracted objects/meson.build
new file mode 100644
index 000000000..8f8b22f23
--- /dev/null
+++ b/meson/test cases/common/216 custom target input extracted objects/meson.build
@@ -0,0 +1,18 @@
+project('custom target input extracted objects', 'c')
+
+if meson.backend() == 'xcode'
+ error('MESON_SKIP_TEST: sometimes Xcode puts object files in weird paths and we can not extract them.')
+endif
+
+
+checker = find_program('check_object.py')
+
+cc = meson.get_compiler('c').cmd_array().get(-1)
+
+subdir('libdir')
+
+custom_target('check',
+ input: objlib.extract_objects('source.c'),
+ output: 'objcheck',
+ command: [checker, '@INPUT@', '@OUTPUT@'],
+ build_by_default: true)