aboutsummaryrefslogtreecommitdiffstats
path: root/meson/test cases/common/4 shared
diff options
context:
space:
mode:
Diffstat (limited to 'meson/test cases/common/4 shared')
-rw-r--r--meson/test cases/common/4 shared/libfile.c14
-rw-r--r--meson/test cases/common/4 shared/meson.build13
2 files changed, 27 insertions, 0 deletions
diff --git a/meson/test cases/common/4 shared/libfile.c b/meson/test cases/common/4 shared/libfile.c
new file mode 100644
index 000000000..0797eecc4
--- /dev/null
+++ b/meson/test cases/common/4 shared/libfile.c
@@ -0,0 +1,14 @@
+#if defined _WIN32 || defined __CYGWIN__
+ #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
+
+int DLL_PUBLIC libfunc(void) {
+ return 3;
+}
diff --git a/meson/test cases/common/4 shared/meson.build b/meson/test cases/common/4 shared/meson.build
new file mode 100644
index 000000000..1c88bc587
--- /dev/null
+++ b/meson/test cases/common/4 shared/meson.build
@@ -0,0 +1,13 @@
+project('shared library test', 'c')
+lib = shared_library('mylib', 'libfile.c')
+build_target('mylib2', 'libfile.c', target_type: 'shared_library')
+
+has_not_changed = false
+if is_disabler(lib)
+ has_not_changed = true
+else
+ has_not_changed = true
+endif
+assert(has_not_changed, 'Shared library has changed.')
+
+assert(not is_disabler(lib), 'Shared library is a disabler.')