aboutsummaryrefslogtreecommitdiff
path: root/test cases/osx
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek@centricular.com>2019-06-18 12:10:55 +0530
committerJussi Pakkanen <jpakkane@gmail.com>2019-06-23 16:50:24 +0300
commit9042130e9a990497c0e53a43d2750fb907507f09 (patch)
treee4c7805cffee9935c0f79eadaf630b54a2b9cd71 /test cases/osx
parent80856884ccfb3f05afa35ba865c2464a464fd931 (diff)
downloadmeson-9042130e9a990497c0e53a43d2750fb907507f09.zip
meson-9042130e9a990497c0e53a43d2750fb907507f09.tar.gz
meson-9042130e9a990497c0e53a43d2750fb907507f09.tar.bz2
compilers: Fix bitcode and other options for objc code
We were setting the base options for the Objective-C compiler manually, due to which options such as b_bitcode and b_ndebug were not getting set at all. The base options here are the same as for C code with the Clang compiler, so just use the same inherited list. Also expand the bitcode test to ObjC and ObjC++ so this doesn't happen again.
Diffstat (limited to 'test cases/osx')
-rw-r--r--test cases/osx/7 bitcode/libbar.mm7
-rw-r--r--test cases/osx/7 bitcode/libfile.c5
-rw-r--r--test cases/osx/7 bitcode/libfoo.m7
-rw-r--r--test cases/osx/7 bitcode/meson.build10
-rw-r--r--test cases/osx/7 bitcode/vis.h6
5 files changed, 35 insertions, 0 deletions
diff --git a/test cases/osx/7 bitcode/libbar.mm b/test cases/osx/7 bitcode/libbar.mm
new file mode 100644
index 0000000..22c4dd4
--- /dev/null
+++ b/test cases/osx/7 bitcode/libbar.mm
@@ -0,0 +1,7 @@
+#import <stdio.h>
+#import "vis.h"
+
+int EXPORT_PUBLIC libbar(int arg) {
+ return 0;
+}
+
diff --git a/test cases/osx/7 bitcode/libfile.c b/test cases/osx/7 bitcode/libfile.c
new file mode 100644
index 0000000..cc87aa0
--- /dev/null
+++ b/test cases/osx/7 bitcode/libfile.c
@@ -0,0 +1,5 @@
+#include "vis.h"
+
+int EXPORT_PUBLIC libfunc() {
+ return 3;
+}
diff --git a/test cases/osx/7 bitcode/libfoo.m b/test cases/osx/7 bitcode/libfoo.m
new file mode 100644
index 0000000..7981ab4
--- /dev/null
+++ b/test cases/osx/7 bitcode/libfoo.m
@@ -0,0 +1,7 @@
+#import <stdio.h>
+#import "vis.h"
+
+int EXPORT_PUBLIC libfoo(int arg) {
+ return 0;
+}
+
diff --git a/test cases/osx/7 bitcode/meson.build b/test cases/osx/7 bitcode/meson.build
new file mode 100644
index 0000000..f94bf9d
--- /dev/null
+++ b/test cases/osx/7 bitcode/meson.build
@@ -0,0 +1,10 @@
+project('bitcode test', 'c', 'objc', 'objcpp')
+
+both_libraries('alib', 'libfoo.m')
+shared_module('amodule', 'libfoo.m')
+
+both_libraries('blib', 'libbar.mm')
+shared_module('bmodule', 'libbar.mm')
+
+both_libraries('clib', 'libfile.c')
+shared_module('cmodule', 'libfile.c')
diff --git a/test cases/osx/7 bitcode/vis.h b/test cases/osx/7 bitcode/vis.h
new file mode 100644
index 0000000..fa252b4
--- /dev/null
+++ b/test cases/osx/7 bitcode/vis.h
@@ -0,0 +1,6 @@
+#if defined __GNUC__
+ #define EXPORT_PUBLIC __attribute__ ((visibility("default")))
+#else
+ #pragma message ("Compiler does not support symbol visibility.")
+ #define EXPORT_PUBLIC
+#endif