diff options
author | Mike Sinkovsky <msink@permonline.ru> | 2016-12-27 14:54:51 +0500 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-01-02 11:08:30 -0500 |
commit | 2d2e3b943c6abda1880b4e59fc50e773725be18b (patch) | |
tree | 4c200bd2af3524a98ec30dda476ae7b19ce66c4e /mesonbuild/compilers.py | |
parent | f0bc5568a74d555b332671d0f7f0d950688e2d61 (diff) | |
download | meson-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.py | 40 |
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): |