aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers.py
diff options
context:
space:
mode:
authorMike Sinkovsky <msink@permonline.ru>2016-12-27 14:54:51 +0500
committerJussi Pakkanen <jpakkane@gmail.com>2017-01-02 11:08:30 -0500
commit2d2e3b943c6abda1880b4e59fc50e773725be18b (patch)
tree4c200bd2af3524a98ec30dda476ae7b19ce66c4e /mesonbuild/compilers.py
parentf0bc5568a74d555b332671d0f7f0d950688e2d61 (diff)
downloadmeson-2d2e3b943c6abda1880b4e59fc50e773725be18b.zip
meson-2d2e3b943c6abda1880b4e59fc50e773725be18b.tar.gz
meson-2d2e3b943c6abda1880b4e59fc50e773725be18b.tar.bz2
fix for cross-builds targeting macosx
Diffstat (limited to 'mesonbuild/compilers.py')
-rw-r--r--mesonbuild/compilers.py40
1 files changed, 21 insertions, 19 deletions
diff --git a/mesonbuild/compilers.py b/mesonbuild/compilers.py
index 046147f..e9bad66 100644
--- a/mesonbuild/compilers.py
+++ b/mesonbuild/compilers.py
@@ -103,23 +103,19 @@ msvc_buildtype_args = {'plain': [],
'minsize': ["/MD", "/Zi", "/Os", "/Ob1"],
}
-gnulike_buildtype_linker_args = {}
-
-
-if mesonlib.is_osx():
- gnulike_buildtype_linker_args.update({'plain': [],
- 'debug': [],
- 'debugoptimized': [],
- 'release': [],
- 'minsize': [],
- })
-else:
- gnulike_buildtype_linker_args.update({'plain': [],
- 'debug': [],
- 'debugoptimized': [],
- 'release': ['-Wl,-O1'],
- 'minsize': [],
- })
+apple_buildtype_linker_args = {'plain': [],
+ 'debug': [],
+ 'debugoptimized': [],
+ 'release': [],
+ 'minsize': [],
+ }
+
+gnulike_buildtype_linker_args = {'plain': [],
+ 'debug': [],
+ 'debugoptimized': [],
+ 'release': ['-Wl,-O1'],
+ 'minsize': [],
+ }
msvc_buildtype_linker_args = {'plain': [],
'debug': [],
@@ -286,12 +282,12 @@ def get_base_link_args(options, linker, is_shared_module):
except KeyError:
pass
try:
- if not is_shared_module and options['b_lundef'].value:
+ if not is_shared_module and 'b_lundef' in linker.base_options and options['b_lundef'].value:
args.append('-Wl,--no-undefined')
except KeyError:
pass
try:
- if options['b_asneeded'].value:
+ if 'b_asneeded' in linker.base_options and options['b_asneeded'].value:
args.append('-Wl,--as-needed')
except KeyError:
pass
@@ -2128,6 +2124,8 @@ class GnuCompiler:
return gnulike_buildtype_args[buildtype]
def get_buildtype_linker_args(self, buildtype):
+ if self.gcc_type == GCC_OSX:
+ return apple_buildtype_linker_args[buildtype]
return gnulike_buildtype_linker_args[buildtype]
def get_always_args(self):
@@ -2275,6 +2273,8 @@ class ClangCompiler():
return gnulike_buildtype_args[buildtype]
def get_buildtype_linker_args(self, buildtype):
+ if self.clang_type == CLANG_OSX:
+ return apple_buildtype_linker_args[buildtype]
return gnulike_buildtype_linker_args[buildtype]
def get_pch_suffix(self):
@@ -2435,6 +2435,8 @@ end program prog
return gnulike_buildtype_args[buildtype]
def get_buildtype_linker_args(self, buildtype):
+ if mesonlib.is_osx():
+ return apple_buildtype_linker_args[buildtype]
return gnulike_buildtype_linker_args[buildtype]
def split_shlib_to_parts(self, fname):