summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2019-03-26 01:45:59 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2019-03-26 01:45:59 +0200
commit4eb73553d55229ecae7c9a2fffa5d760e023fa15 (patch)
tree9ae26a503d5658f5517c5717c495fba2347e2281
parent40b5abd668c1cd082a34378ad424170ccf3f494d (diff)
downloadmeson-fix5070.tar.gz
Fail gracefully for Apple frameworks with a non-Clang compiler. Closes #5070.fix5070
-rw-r--r--mesonbuild/dependencies/base.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py
index 4e61f4ce0..d2f863c54 100644
--- a/mesonbuild/dependencies/base.py
+++ b/mesonbuild/dependencies/base.py
@@ -2190,7 +2190,15 @@ class ExtraFrameworkDependency(ExternalDependency):
if not self.clib_compiler:
raise DependencyException('No C-like compilers are available')
if self.system_framework_paths is None:
- self.system_framework_paths = self.clib_compiler.find_framework_paths(self.env)
+ try:
+ self.system_framework_paths = self.clib_compiler.find_framework_paths(self.env)
+ except MesonException as e:
+ if 'non-clang' in str(e):
+ # Apple frameworks can only be found (and used) with the
+ # system compiler. It is not available so bail immediately.
+ self.is_found = False
+ return
+ raise
self.detect(name, paths)
def detect(self, name, paths):