summaryrefslogtreecommitdiffstats
path: root/test cases/unit/29 guessed linker dependencies/lib
diff options
context:
space:
mode:
Diffstat (limited to 'test cases/unit/29 guessed linker dependencies/lib')
-rw-r--r--test cases/unit/29 guessed linker dependencies/lib/lib.c20
-rw-r--r--test cases/unit/29 guessed linker dependencies/lib/meson.build11
-rw-r--r--test cases/unit/29 guessed linker dependencies/lib/meson_options.txt1
3 files changed, 32 insertions, 0 deletions
diff --git a/test cases/unit/29 guessed linker dependencies/lib/lib.c b/test cases/unit/29 guessed linker dependencies/lib/lib.c
new file mode 100644
index 0000000..1a8f94d
--- /dev/null
+++ b/test cases/unit/29 guessed linker dependencies/lib/lib.c
@@ -0,0 +1,20 @@
+#if defined _WIN32
+ #define DLL_PUBLIC __declspec(dllexport)
+#else
+ #if defined __GNUC__
+ #define DLL_PUBLIC __attribute__ ((visibility("default")))
+ #else
+ #pragma message ("Compiler does not support symbol visibility.")
+ #define DLL_PUBLIC
+ #endif
+#endif
+
+void DLL_PUBLIC liba_func() {
+}
+
+#ifdef MORE_EXPORTS
+
+void DLL_PUBLIC libb_func() {
+}
+
+#endif
diff --git a/test cases/unit/29 guessed linker dependencies/lib/meson.build b/test cases/unit/29 guessed linker dependencies/lib/meson.build
new file mode 100644
index 0000000..36df112
--- /dev/null
+++ b/test cases/unit/29 guessed linker dependencies/lib/meson.build
@@ -0,0 +1,11 @@
+project('lib1', ['c'])
+
+c_args = []
+
+# Microsoft's compiler is quite smart about touching import libs on changes,
+# so ensure that there is actually a change in symbols.
+if get_option('more_exports')
+ c_args += '-DMORE_EXPORTS'
+endif
+
+a = library('test-lib', 'lib.c', c_args: c_args, install: true)
diff --git a/test cases/unit/29 guessed linker dependencies/lib/meson_options.txt b/test cases/unit/29 guessed linker dependencies/lib/meson_options.txt
new file mode 100644
index 0000000..2123e45
--- /dev/null
+++ b/test cases/unit/29 guessed linker dependencies/lib/meson_options.txt
@@ -0,0 +1 @@
+option('more_exports', type : 'boolean', value : false)