aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/unit/15 prebuilt object
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/unit/15 prebuilt object')
-rw-r--r--meson/test cases/unit/15 prebuilt object/main.c5
-rw-r--r--meson/test cases/unit/15 prebuilt object/meson.build25
-rw-r--r--meson/test cases/unit/15 prebuilt object/source.c8
3 files changed, 38 insertions, 0 deletions
diff --git a/meson/test cases/unit/15 prebuilt object/main.c b/meson/test cases/unit/15 prebuilt object/main.c
new file mode 100644
index 000000000..480bda5f4
--- /dev/null
+++ b/meson/test cases/unit/15 prebuilt object/main.c
@@ -0,0 +1,5 @@
+int func();
+
+int main(int argc, char **argv) {
+ return func() == 42 ? 0 : 99;
+}
diff --git a/meson/test cases/unit/15 prebuilt object/meson.build b/meson/test cases/unit/15 prebuilt object/meson.build
new file mode 100644
index 000000000..92f966b97
--- /dev/null
+++ b/meson/test cases/unit/15 prebuilt object/meson.build
@@ -0,0 +1,25 @@
+# This test is on its own because it is special.
+# To run the test you need the prebuilt object
+# file for the given platform.
+#
+# Combined with cross compilation this would make
+# the state space explode so let's just keep this
+# in its own subdir so it's not run during cross
+# compilation tests.
+
+project('prebuilt object', 'c')
+
+if host_machine.system() == 'windows'
+ prebuilt = 'prebuilt.obj'
+else
+ prebuilt = 'prebuilt.o'
+endif
+
+# Remember: do not put source.c in this
+# declaration. run_tests.py generates the
+# prebuilt object before running this test.
+
+e = executable('prog', 'main.c',
+objects : prebuilt)
+
+test('objtest', e)
diff --git a/meson/test cases/unit/15 prebuilt object/source.c b/meson/test cases/unit/15 prebuilt object/source.c
new file mode 100644
index 000000000..f39b4f366
--- /dev/null
+++ b/meson/test cases/unit/15 prebuilt object/source.c
@@ -0,0 +1,8 @@
+/*
+ * Compile this manually on new platforms and add the
+ * object file to revision control and Meson configuration.
+ */
+
+int func() {
+ return 42;
+}