diff options
author | Jussi Pakkanen <jpakkane@gmail.com> | 2019-03-26 01:45:59 +0200 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2019-03-26 01:45:59 +0200 |
commit | 4eb73553d55229ecae7c9a2fffa5d760e023fa15 (patch) | |
tree | 9ae26a503d5658f5517c5717c495fba2347e2281 | |
parent | 40b5abd668c1cd082a34378ad424170ccf3f494d (diff) | |
download | meson-fix5070.tar.gz |
Fail gracefully for Apple frameworks with a non-Clang compiler. Closes #5070.fix5070
-rw-r--r-- | mesonbuild/dependencies/base.py | 10 |
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): |