aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2017-05-09 18:40:10 +0300
committerGitHub <noreply@github.com>2017-05-09 18:40:10 +0300
commitebfaf3a16f9f397b95601f0f472ec852899f909d (patch)
tree81e077f79c45b23f3a6e804eb6babcdba331a685
parent8d3d6382e8d390b3b570247ba9de7fca88ee9e47 (diff)
parent45affdd5f2764b5ac3808c0446fafa63d7529663 (diff)
downloadmeson-ebfaf3a16f9f397b95601f0f472ec852899f909d.zip
meson-ebfaf3a16f9f397b95601f0f472ec852899f909d.tar.gz
meson-ebfaf3a16f9f397b95601f0f472ec852899f909d.tar.bz2
Merge pull request #1758 from dcbaker/llvm-cpp-blacklist
LLVM cpp blacklist
-rw-r--r--mesonbuild/dependencies.py5
-rw-r--r--mesonbuild/mesonlib.py6
2 files changed, 8 insertions, 3 deletions
diff --git a/mesonbuild/dependencies.py b/mesonbuild/dependencies.py
index 37e2cbd..18d418e 100644
--- a/mesonbuild/dependencies.py
+++ b/mesonbuild/dependencies.py
@@ -1635,6 +1635,7 @@ class LLVMDependency(Dependency):
llvmconfig = None
_llvmconfig_found = False
__best_found = None
+ __cpp_blacklist = {'-DNDEBUG'}
def __init__(self, environment, kwargs):
super().__init__('llvm-config', kwargs)
@@ -1651,7 +1652,7 @@ class LLVMDependency(Dependency):
self.check_llvmconfig(req_version)
if not self._llvmconfig_found:
if self.__best_found is not None:
- mlog.log('found {!r} but need:'.format(self.version),
+ mlog.log('found {!r} but need:'.format(self.__best_found),
req_version)
else:
mlog.log("No llvm-config found; can't detect dependency")
@@ -1680,7 +1681,7 @@ class LLVMDependency(Dependency):
p, out = Popen_safe([self.llvmconfig, '--cppflags'])[:2]
if p.returncode != 0:
raise DependencyException('Could not generate includedir for LLVM.')
- self.cargs = shlex.split(out)
+ self.cargs = list(mesonlib.OrderedSet(shlex.split(out)).difference(self.__cpp_blacklist))
p, out = Popen_safe([self.llvmconfig, '--components'])[:2]
if p.returncode != 0:
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index fbd732a..7248be9 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -708,7 +708,8 @@ class OrderedSet(collections.MutableSet):
def __repr__(self):
# Don't print 'OrderedSet("")' for an empty set.
if self.__container:
- return 'OrderedSet("{}")'.format('", "'.join(self.__container.keys()))
+ return 'OrderedSet("{}")'.format(
+ '", "'.join(repr(e) for e in self.__container.keys()))
return 'OrderedSet()'
def add(self, value):
@@ -721,3 +722,6 @@ class OrderedSet(collections.MutableSet):
def update(self, iterable):
for item in iterable:
self.__container[item] = None
+
+ def difference(self, set_):
+ return type(self)(e for e in self if e not in set_)