Signed-off-by: Hemmo Nieminen <
hemmo.n...@iki.fi>
---
Notes:
Forgot to add a source file for the project A.
test cases/common/79 shared subproject/a.c | 13 +++++++++++++
test cases/common/79 shared subproject/meson.build | 9 +++++++++
test cases/common/79 shared subproject/subprojects/B/b.c | 5 +++++
.../common/79 shared subproject/subprojects/B/meson.build | 4 ++++
test cases/common/79 shared subproject/subprojects/C/c.c | 5 +++++
.../common/79 shared subproject/subprojects/C/meson.build | 2 ++
6 files changed, 38 insertions(+)
create mode 100644 test cases/common/79 shared subproject/a.c
create mode 100644 test cases/common/79 shared subproject/meson.build
create mode 100644 test cases/common/79 shared subproject/subprojects/B/b.c
create mode 100644 test cases/common/79 shared subproject/subprojects/B/meson.build
create mode 100644 test cases/common/79 shared subproject/subprojects/C/c.c
create mode 100644 test cases/common/79 shared subproject/subprojects/C/meson.build
diff --git a/test cases/common/79 shared subproject/a.c b/test cases/common/79 shared subproject/a.c
new file mode 100644
index 0000000..bc0b97a
--- /dev/null
+++ b/test cases/common/79 shared subproject/a.c
@@ -0,0 +1,13 @@
+char func_b(void);
+char func_c(void);
+
+int
+main()
+{
+ char b = func_b(), c = func_c();
+
+ if (b == 'b' && c == 'c')
+ return 0;
+
+ return -1;
+}
diff --git a/test cases/common/79 shared subproject/meson.build b/test cases/common/79 shared subproject/meson.build
new file mode 100644
index 0000000..370eb13
--- /dev/null
+++ b/test cases/common/79 shared subproject/meson.build
@@ -0,0 +1,9 @@
+project('A', 'c')
+
+B = subproject('B')
+b = B.get_variable('b')
+
+C = subproject('C')
+c = C.get_variable('c')
+
+a = executable('a', 'a.c', link_with : [ b, c ])
diff --git a/test cases/common/79 shared subproject/subprojects/B/b.c b/test cases/common/79 shared subproject/subprojects/B/b.c
new file mode 100644
index 0000000..2ee5a42
--- /dev/null
+++ b/test cases/common/79 shared subproject/subprojects/B/b.c
@@ -0,0 +1,5 @@
+char
+func_b()
+{
+ return 'b';
+}
diff --git a/test cases/common/79 shared subproject/subprojects/B/meson.build b/test cases/common/79 shared subproject/subprojects/B/meson.build
new file mode 100644
index 0000000..280c60c
--- /dev/null
+++ b/test cases/common/79 shared subproject/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/79 shared subproject/subprojects/C/c.c b/test cases/common/79 shared subproject/subprojects/C/c.c
new file mode 100644
index 0000000..ff47251
--- /dev/null
+++ b/test cases/common/79 shared subproject/subprojects/C/c.c
@@ -0,0 +1,5 @@
+char
+func_c()
+{
+ return 'c';
+}
diff --git a/test cases/common/79 shared subproject/subprojects/C/meson.build b/test cases/common/79 shared subproject/subprojects/C/meson.build
new file mode 100644
index 0000000..abf0b1e
--- /dev/null
+++ b/test cases/common/79 shared subproject/subprojects/C/meson.build
@@ -0,0 +1,2 @@
+project('C', 'c')
+c = shared_library('c', 'c.c')
--
2.3.5