aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/compilers/cpp.py
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2019-05-02 14:54:02 -0700
committerGitHub <noreply@github.com>2019-05-02 14:54:02 -0700
commitc0aa89e57ff5a92c1a1e2cf542692f54622d8cd2 (patch)
treefebe385c372b2a1009be83be16528a892df60de5 /mesonbuild/compilers/cpp.py
parentae9a6417fe8158573801e10b84906931facb8112 (diff)
parentc61ae46461bf9f4c7afef2381032ac0cb2d26043 (diff)
downloadmeson-c0aa89e57ff5a92c1a1e2cf542692f54622d8cd2.zip
meson-c0aa89e57ff5a92c1a1e2cf542692f54622d8cd2.tar.gz
meson-c0aa89e57ff5a92c1a1e2cf542692f54622d8cd2.tar.bz2
Merge pull request #4952 from mensinda/cacheCompiles
Cache compilers.compile() in coredata
Diffstat (limited to 'mesonbuild/compilers/cpp.py')
-rw-r--r--mesonbuild/compilers/cpp.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index 2b2c4a0..e2bcaf0 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -64,10 +64,11 @@ class CPPCompiler(CCompiler):
def has_header_symbol(self, hname, symbol, prefix, env, *, extra_args=None, dependencies=None):
# Check if it's a C-like symbol
- if super().has_header_symbol(hname, symbol, prefix, env,
- extra_args=extra_args,
- dependencies=dependencies):
- return True
+ found, cached = super().has_header_symbol(hname, symbol, prefix, env,
+ extra_args=extra_args,
+ dependencies=dependencies)
+ if found:
+ return True, cached
# Check if it's a class or a template
if extra_args is None:
extra_args = []
@@ -263,7 +264,7 @@ class ElbrusCPPCompiler(GnuCPPCompiler, ElbrusCompiler):
# 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
+ return False, False
else:
return super().has_function(funcname, prefix, env,
extra_args=extra_args,