diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-12-03 02:25:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-03 02:25:44 +0200 |
commit | 554b484468c74621168f7bb7faf7110e7e72ebd5 (patch) | |
tree | e754d208928cb574b0dd5b6d3637e946d6d413df /mesonbuild/compilers/c.py | |
parent | e4f5fe1b356c0950ff51fd4f20da74b9cd03141b (diff) | |
parent | ab1f49f4002116b1bf2fa3642a3bd6bd19a89b27 (diff) | |
download | meson-554b484468c74621168f7bb7faf7110e7e72ebd5.zip meson-554b484468c74621168f7bb7faf7110e7e72ebd5.tar.gz meson-554b484468c74621168f7bb7faf7110e7e72ebd5.tar.bz2 |
Merge pull request #2618 from mesonbuild/osxlinkerfixes
Fix many things have have been slightly broken in OSX
Diffstat (limited to 'mesonbuild/compilers/c.py')
-rw-r--r-- | mesonbuild/compilers/c.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index 9e85712..317a4d7 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -18,6 +18,7 @@ from .. import mlog from .. import coredata from ..mesonlib import EnvironmentException, version_compare, Popen_safe, listify from ..mesonlib import for_windows, for_darwin, for_cygwin +from . import compilers from .compilers import ( GCC_MINGW, @@ -89,6 +90,8 @@ class CCompiler(Compiler): # The default behavior is this, override in MSVC def build_rpath_args(self, build_dir, from_dir, rpath_paths, build_rpath, install_rpath): + if self.id == 'clang' and self.clang_type == compilers.CLANG_OSX: + return self.build_osx_rpath_args(build_dir, rpath_paths, build_rpath) return self.build_unix_rpath_args(build_dir, from_dir, rpath_paths, build_rpath, install_rpath) def get_dependency_gen_args(self, outtarget, outfile): @@ -811,6 +814,12 @@ class ClangCCompiler(ClangCompiler, CCompiler): def get_option_link_args(self, options): return [] + def get_linker_always_args(self): + basic = super().get_linker_always_args() + if self.clang_type == compilers.CLANG_OSX: + return basic + ['-Wl,-headerpad_max_install_names'] + return basic + class GnuCCompiler(GnuCompiler, CCompiler): def __init__(self, exelist, version, gcc_type, is_cross, exe_wrapper=None, defines=None): |