summaryrefslogtreecommitdiff
path: root/test cases/common/256 subproject extracted objects
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2022-10-24 01:00:57 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2022-10-25 00:03:32 +0300
commit458dcf8aac74903380c2adceb2b16a87f231b42b (patch)
treeb84536ec74c1eb4131282f4a4caecbbe644c8def /test cases/common/256 subproject extracted objects
parent1a1aad317f71731d8440f695d29bc12c28011de2 (diff)
downloadmeson-458dcf8aac74903380c2adceb2b16a87f231b42b.tar.gz
Condense test directory numbers.
Diffstat (limited to 'test cases/common/256 subproject extracted objects')
-rw-r--r--test cases/common/256 subproject extracted objects/foo.c11
-rw-r--r--test cases/common/256 subproject extracted objects/meson.build5
-rw-r--r--test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.cpp6
-rw-r--r--test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.h12
-rw-r--r--test cases/common/256 subproject extracted objects/subprojects/myobjects/meson.build3
-rw-r--r--test cases/common/256 subproject extracted objects/test.json5
6 files changed, 42 insertions, 0 deletions
diff --git a/test cases/common/256 subproject extracted objects/foo.c b/test cases/common/256 subproject extracted objects/foo.c
new file mode 100644
index 000000000..f6c7aebe0
--- /dev/null
+++ b/test cases/common/256 subproject extracted objects/foo.c
@@ -0,0 +1,11 @@
+#if defined _WIN32 || defined __CYGWIN__
+ #define DLL_IMPORT __declspec(dllimport)
+#else
+ #define DLL_IMPORT
+#endif
+
+int DLL_IMPORT cppfunc(void);
+
+int otherfunc(void) {
+ return cppfunc() != 42;
+}
diff --git a/test cases/common/256 subproject extracted objects/meson.build b/test cases/common/256 subproject extracted objects/meson.build
new file mode 100644
index 000000000..bad450fab
--- /dev/null
+++ b/test cases/common/256 subproject extracted objects/meson.build
@@ -0,0 +1,5 @@
+project('link to extracted objects', 'c')
+
+sublib = subproject('myobjects').get_variable('sublib')
+
+mainlib = static_library('foo', 'foo.c', install: true, link_with: sublib)
diff --git a/test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.cpp b/test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.cpp
new file mode 100644
index 000000000..12ef756c7
--- /dev/null
+++ b/test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.cpp
@@ -0,0 +1,6 @@
+#define BUILDING_DLL
+#include "cpplib.h"
+
+extern "C" int DLL_PUBLIC cppfunc(void) {
+ return 42;
+}
diff --git a/test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.h b/test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.h
new file mode 100644
index 000000000..a1c38b3ba
--- /dev/null
+++ b/test cases/common/256 subproject extracted objects/subprojects/myobjects/cpplib.h
@@ -0,0 +1,12 @@
+/* See http://gcc.gnu.org/wiki/Visibility#How_to_use_the_new_C.2B-.2B-_visibility_support */
+#if defined(_WIN32) || defined(__CYGWIN__)
+ #ifdef BUILDING_DLL
+ #define DLL_PUBLIC __declspec(dllexport)
+ #else
+ #define DLL_PUBLIC __declspec(dllimport)
+ #endif
+#else
+ #define DLL_PUBLIC __attribute__ ((visibility ("default")))
+#endif
+
+extern "C" int DLL_PUBLIC cppfunc(void);
diff --git a/test cases/common/256 subproject extracted objects/subprojects/myobjects/meson.build b/test cases/common/256 subproject extracted objects/subprojects/myobjects/meson.build
new file mode 100644
index 000000000..1c2729bc1
--- /dev/null
+++ b/test cases/common/256 subproject extracted objects/subprojects/myobjects/meson.build
@@ -0,0 +1,3 @@
+project('myobjects', 'cpp')
+
+sublib = static_library('sublib', 'cpplib.cpp')
diff --git a/test cases/common/256 subproject extracted objects/test.json b/test cases/common/256 subproject extracted objects/test.json
new file mode 100644
index 000000000..baa5dfb8b
--- /dev/null
+++ b/test cases/common/256 subproject extracted objects/test.json
@@ -0,0 +1,5 @@
+{
+ "installed": [
+ { "type": "file", "file": "usr/lib/libfoo.a" }
+ ]
+}