summaryrefslogtreecommitdiff
path: root/mesonbuild/compilers
diff options
context:
space:
mode:
authorBarnabás Pőcze <pobrn@protonmail.com>2024-06-01 21:26:49 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2024-06-23 22:33:37 +0300
commiteba5498e9b40fdc6fd7d9621a9262dbd8364ea62 (patch)
tree79c23bb6d1c9c9a0cbbd0e5f2001d12ed03240e5 /mesonbuild/compilers
parent03ffb5bd6f2e441227e0a1758b258c2a4d3d58d7 (diff)
downloadmeson-eba5498e9b40fdc6fd7d9621a9262dbd8364ea62.tar.gz
compilers: cpp: fix header name and return value use in header check
There are two issues: 1. has_header() wants just the header name without surrounding <> or similar; it fails otherwise. 2. has_header() returns a tuple of two bools, where the first element determines whether or not the header has been found. So use that element specifically, otherwise the tuple will always evaluate to true because it is not empty. Fixes: 675b47b0692131 ("compilers: cpp: improve libc++ vs libstdc++ detection (again)")
Diffstat (limited to 'mesonbuild/compilers')
-rw-r--r--mesonbuild/compilers/cpp.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/mesonbuild/compilers/cpp.py b/mesonbuild/compilers/cpp.py
index df2f90510..9467a35c5 100644
--- a/mesonbuild/compilers/cpp.py
+++ b/mesonbuild/compilers/cpp.py
@@ -185,7 +185,7 @@ class _StdCPPLibMixin(CompilerMixinBase):
def language_stdlib_provider(self, env: Environment) -> str:
# https://stackoverflow.com/a/31658120
- header = 'version' if self.has_header('<version>', '', env) else 'ciso646'
+ header = 'version' if self.has_header('version', '', env)[0] else 'ciso646'
is_libcxx = self.has_header_symbol(header, '_LIBCPP_VERSION', '', env)[0]
lib = 'c++' if is_libcxx else 'stdc++'
return lib