|
|
@ -18,6 +18,7 @@ from .. import mlog |
|
|
|
from .. import coredata |
|
|
|
from .. import coredata |
|
|
|
from ..mesonlib import EnvironmentException, version_compare, Popen_safe, listify |
|
|
|
from ..mesonlib import EnvironmentException, version_compare, Popen_safe, listify |
|
|
|
from ..mesonlib import for_windows, for_darwin, for_cygwin |
|
|
|
from ..mesonlib import for_windows, for_darwin, for_cygwin |
|
|
|
|
|
|
|
from . import compilers |
|
|
|
|
|
|
|
|
|
|
|
from .compilers import ( |
|
|
|
from .compilers import ( |
|
|
|
GCC_MINGW, |
|
|
|
GCC_MINGW, |
|
|
@ -89,6 +90,8 @@ class CCompiler(Compiler): |
|
|
|
|
|
|
|
|
|
|
|
# The default behavior is this, override in MSVC |
|
|
|
# The default behavior is this, override in MSVC |
|
|
|
def build_rpath_args(self, build_dir, from_dir, rpath_paths, build_rpath, install_rpath): |
|
|
|
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) |
|
|
|
return self.build_unix_rpath_args(build_dir, from_dir, rpath_paths, build_rpath, install_rpath) |
|
|
|
|
|
|
|
|
|
|
|
def get_dependency_gen_args(self, outtarget, outfile): |
|
|
|
def get_dependency_gen_args(self, outtarget, outfile): |
|
|
@ -811,6 +814,12 @@ class ClangCCompiler(ClangCompiler, CCompiler): |
|
|
|
def get_option_link_args(self, options): |
|
|
|
def get_option_link_args(self, options): |
|
|
|
return [] |
|
|
|
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): |
|
|
|
class GnuCCompiler(GnuCompiler, CCompiler): |
|
|
|
def __init__(self, exelist, version, gcc_type, is_cross, exe_wrapper=None, defines=None): |
|
|
|
def __init__(self, exelist, version, gcc_type, is_cross, exe_wrapper=None, defines=None): |
|
|
|