diff options
author | makise-homura <akemi_homura@kurisa.ch> | 2018-03-21 16:42:15 +0300 |
---|---|---|
committer | makise-homura <akemi_homura@kurisa.ch> | 2018-03-21 16:42:15 +0300 |
commit | 546f81e0f943022e27b4aeaea3edd7bc8549093d (patch) | |
tree | 3566eb84ecd25fb801f12c6b3906398718e776e7 | |
parent | 942e34241f9b7430c56b9936c1309665662816bb (diff) | |
download | meson-546f81e0f943022e27b4aeaea3edd7bc8549093d.zip meson-546f81e0f943022e27b4aeaea3edd7bc8549093d.tar.gz meson-546f81e0f943022e27b4aeaea3edd7bc8549093d.tar.bz2 |
Fixed lchmod detection for lcc C/C++ compilers
-rw-r--r-- | mesonbuild/compilers/c.py | 8 | ||||
-rw-r--r-- | mesonbuild/compilers/cpp.py | 8 |
2 files changed, 16 insertions, 0 deletions
diff --git a/mesonbuild/compilers/c.py b/mesonbuild/compilers/c.py index be8bb52..47acdd9 100644 --- a/mesonbuild/compilers/c.py +++ b/mesonbuild/compilers/c.py @@ -903,6 +903,14 @@ class ElbrusCCompiler(GnuCCompiler, ElbrusCompiler): 'none')} return opts + # Elbrus C compiler does not have lchmod, but there is only linker warning, not compiler error. + # So we should explicitly fail at this case. + def has_function(self, funcname, prefix, env, extra_args=None, dependencies=None): + if funcname == 'lchmod': + return False + else: + return super().has_function(funcname, prefix, env, extra_args, dependencies) + class IntelCCompiler(IntelCompiler, CCompiler): def __init__(self, exelist, version, icc_type, is_cross, exe_wrapper=None, **kwargs): diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py index 394c961..d2d2585 100644 --- a/mesonbuild/compilers/cpp.py +++ b/mesonbuild/compilers/cpp.py @@ -148,6 +148,14 @@ class ElbrusCPPCompiler(GnuCPPCompiler, ElbrusCompiler): 'none') return opts + # Elbrus C++ compiler does not have lchmod, but there is only linker warning, not compiler error. + # So we should explicitly fail at this case. + def has_function(self, funcname, prefix, env, extra_args=None, dependencies=None): + if funcname == 'lchmod': + return False + else: + return super().has_function(funcname, prefix, env, extra_args, dependencies) + class IntelCPPCompiler(IntelCompiler, CPPCompiler): def __init__(self, exelist, version, icc_type, is_cross, exe_wrap, **kwargs): |