diff options
| author | Nirbheek Chauhan <nirbheek@centricular.com> | 2018-04-12 02:41:33 +0530 | 
|---|---|---|
| committer | Jussi Pakkanen <jpakkane@gmail.com> | 2018-04-21 16:10:03 +0300 | 
| commit | fc5e8dfcdae11d23469fd01d878c7c9c30d67d30 (patch) | |
| tree | ee863f6d18e0d95fa08d042647613a2ff9842fc2 /mesonbuild/interpreter.py | |
| parent | 2993eaf8844cfc04800ac22ab4012c8ee6f87b0e (diff) | |
| download | meson-fc5e8dfcdae11d23469fd01d878c7c9c30d67d30.tar.gz | |
Don't fail on not-required not-found deps in forcefallback mode
This involves the creation of a new dummy NotFoundDependency.
Diffstat (limited to 'mesonbuild/interpreter.py')
| -rw-r--r-- | mesonbuild/interpreter.py | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py index b119b3d23..fc97b62ea 100644 --- a/mesonbuild/interpreter.py +++ b/mesonbuild/interpreter.py @@ -23,7 +23,7 @@ from .wrap import wrap, WrapMode  from . import mesonlib  from .mesonlib import FileMode, Popen_safe, listify, extract_as_list, has_path_sep  from .dependencies import ExternalProgram -from .dependencies import InternalDependency, Dependency, DependencyException +from .dependencies import InternalDependency, Dependency, NotFoundDependency, DependencyException  from .interpreterbase import InterpreterBase  from .interpreterbase import check_stringlist, noPosargs, noKwargs, stringArgs, permittedKwargs, permittedMethodKwargs  from .interpreterbase import InterpreterException, InvalidArguments, InvalidCode, SubdirDoneRequest @@ -2501,7 +2501,7 @@ to directly access options of other subprojects.''')          if name == '':              if required:                  raise InvalidArguments('Dependency is both required and not-found') -            return DependencyHolder(Dependency('not-found', {})) +            return DependencyHolder(NotFoundDependency(self.environment))          if '<' in name or '>' in name or '=' in name:              raise InvalidArguments('Characters <, > and = are forbidden in dependency names. To specify' @@ -2525,7 +2525,7 @@ to directly access options of other subprojects.''')              # We need to actually search for this dep              exception = None -            dep = None +            dep = NotFoundDependency(self.environment)              # Search for it outside the project              if self.coredata.wrap_mode != WrapMode.forcefallback or 'fallback' not in kwargs: @@ -2537,7 +2537,7 @@ to directly access options of other subprojects.''')                  exception = DependencyException("fallback for %s not found" % name)              # Search inside the projects list -            if not dep or not dep.found(): +            if not dep.found():                  if 'fallback' in kwargs:                      fallback_dep = self.dependency_fallback(name, kwargs)                      if fallback_dep: @@ -2545,7 +2545,7 @@ to directly access options of other subprojects.''')                          # cannot cache them. They must always be evaluated else                          # we won't actually read all the build files.                          return fallback_dep -                if not dep: +                if required:                      assert(exception is not None)                      raise exception | 
