summaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-11-05 00:16:17 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-11-05 00:16:17 +0200
commitbcdb84fcbe31b9dff686794b1cabaff0e95a5e91 (patch)
treef0b3756bcae6f64aa9be0e45cf4898146c37ae67 /test cases
parent34d673984d603092d0710a372b8656561d884ae8 (diff)
downloadmeson-bcdb84fcbe31b9dff686794b1cabaff0e95a5e91.tar.gz
Can use object files directly in targets.
Diffstat (limited to 'test cases')
-rw-r--r--test cases/prebuilt object/1 basic/linux-amd64.obin0 -> 2592 bytes
-rw-r--r--test cases/prebuilt object/1 basic/main.c5
-rw-r--r--test cases/prebuilt object/1 basic/meson.build19
-rw-r--r--test cases/prebuilt object/1 basic/source.c8
4 files changed, 32 insertions, 0 deletions
diff --git a/test cases/prebuilt object/1 basic/linux-amd64.o b/test cases/prebuilt object/1 basic/linux-amd64.o
new file mode 100644
index 000000000..5c2488542
--- /dev/null
+++ b/test cases/prebuilt object/1 basic/linux-amd64.o
Binary files differ
diff --git a/test cases/prebuilt object/1 basic/main.c b/test cases/prebuilt object/1 basic/main.c
new file mode 100644
index 000000000..480bda5f4
--- /dev/null
+++ b/test cases/prebuilt object/1 basic/main.c
@@ -0,0 +1,5 @@
+int func();
+
+int main(int argc, char **argv) {
+ return func() == 42 ? 0 : 99;
+}
diff --git a/test cases/prebuilt object/1 basic/meson.build b/test cases/prebuilt object/1 basic/meson.build
new file mode 100644
index 000000000..5e4fb7e49
--- /dev/null
+++ b/test cases/prebuilt object/1 basic/meson.build
@@ -0,0 +1,19 @@
+# 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')
+
+object = 'linux-amd64.o'
+
+# Remember: do not put source.c in this
+# declaration. Only the prebuilt object.
+e = executable('prog', 'main.c',
+objects : object)
+
+test('objtest', e)
diff --git a/test cases/prebuilt object/1 basic/source.c b/test cases/prebuilt object/1 basic/source.c
new file mode 100644
index 000000000..f39b4f366
--- /dev/null
+++ b/test cases/prebuilt object/1 basic/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;
+}