aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHemmo Nieminen <hemmo.nieminen@iki.fi>2015-04-09 00:09:24 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2015-04-09 00:41:51 +0300
commit4952d2628e4e9fa8c512678b585821f09d0baba6 (patch)
tree589e3afc6007e7c9aa7e3acbaeaf35b3c43fb446
parent0747402e6ac6421b824ccd18477528f95b52361d (diff)
downloadmeson-4952d2628e4e9fa8c512678b585821f09d0baba6.zip
meson-4952d2628e4e9fa8c512678b585821f09d0baba6.tar.gz
meson-4952d2628e4e9fa8c512678b585821f09d0baba6.tar.bz2
Add a second "shared subproject" test.
This time, process the subprojects in reverse order. Signed-off-by: Hemmo Nieminen <hemmo.nieminen@iki.fi>
-rw-r--r--test cases/common/80 shared subproject 2/a.c13
-rw-r--r--test cases/common/80 shared subproject 2/meson.build10
-rw-r--r--test cases/common/80 shared subproject 2/subprojects/B/b.c9
-rw-r--r--test cases/common/80 shared subproject 2/subprojects/B/meson.build4
-rw-r--r--test cases/common/80 shared subproject 2/subprojects/C/c.c3
-rw-r--r--test cases/common/80 shared subproject 2/subprojects/C/meson.build2
6 files changed, 41 insertions, 0 deletions
diff --git a/test cases/common/80 shared subproject 2/a.c b/test cases/common/80 shared subproject 2/a.c
new file mode 100644
index 0000000..6ed96fa
--- /dev/null
+++ b/test cases/common/80 shared subproject 2/a.c
@@ -0,0 +1,13 @@
+#include<assert.h>
+char func_b();
+char func_c();
+
+int main(int argc, char **argv) {
+ if(func_b() != 'b') {
+ return 1;
+ }
+ if(func_c() != 'c') {
+ return 2;
+ }
+ return 0;
+}
diff --git a/test cases/common/80 shared subproject 2/meson.build b/test cases/common/80 shared subproject 2/meson.build
new file mode 100644
index 0000000..a0ce0f4
--- /dev/null
+++ b/test cases/common/80 shared subproject 2/meson.build
@@ -0,0 +1,10 @@
+project('A', 'c')
+
+C = subproject('C')
+c = C.get_variable('c')
+
+B = subproject('B')
+b = B.get_variable('b')
+
+a = executable('a', 'a.c', link_with : [b, c])
+test('a test', a)
diff --git a/test cases/common/80 shared subproject 2/subprojects/B/b.c b/test cases/common/80 shared subproject 2/subprojects/B/b.c
new file mode 100644
index 0000000..03b0cc7
--- /dev/null
+++ b/test cases/common/80 shared subproject 2/subprojects/B/b.c
@@ -0,0 +1,9 @@
+#include<stdlib.h>
+char func_c();
+
+char func_b() {
+ if(func_c() != 'c') {
+ exit(3);
+ }
+ return 'b';
+}
diff --git a/test cases/common/80 shared subproject 2/subprojects/B/meson.build b/test cases/common/80 shared subproject 2/subprojects/B/meson.build
new file mode 100644
index 0000000..280c60c
--- /dev/null
+++ b/test cases/common/80 shared subproject 2/subprojects/B/meson.build
@@ -0,0 +1,4 @@
+project('B', 'c')
+C = subproject('C')
+c = C.get_variable('c')
+b = shared_library('b', 'b.c', link_with : c)
diff --git a/test cases/common/80 shared subproject 2/subprojects/C/c.c b/test cases/common/80 shared subproject 2/subprojects/C/c.c
new file mode 100644
index 0000000..3bbac08
--- /dev/null
+++ b/test cases/common/80 shared subproject 2/subprojects/C/c.c
@@ -0,0 +1,3 @@
+char func_c() {
+ return 'c';
+}
diff --git a/test cases/common/80 shared subproject 2/subprojects/C/meson.build b/test cases/common/80 shared subproject 2/subprojects/C/meson.build
new file mode 100644
index 0000000..abf0b1e
--- /dev/null
+++ b/test cases/common/80 shared subproject 2/subprojects/C/meson.build
@@ -0,0 +1,2 @@
+project('C', 'c')
+c = shared_library('c', 'c.c')