diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2017-05-09 18:40:10 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-09 18:40:10 +0300 |
commit | ebfaf3a16f9f397b95601f0f472ec852899f909d (patch) | |
tree | 81e077f79c45b23f3a6e804eb6babcdba331a685 | |
parent | 8d3d6382e8d390b3b570247ba9de7fca88ee9e47 (diff) | |
parent | 45affdd5f2764b5ac3808c0446fafa63d7529663 (diff) | |
download | meson-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.py | 5 | ||||
-rw-r--r-- | mesonbuild/mesonlib.py | 6 |
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_) |