aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter.py
diff options
context:
space:
mode:
authorMathieu Duponchelle <mathieu@centricular.com>2018-03-24 23:44:50 +0100
committerMathieu Duponchelle <mathieu@centricular.com>2018-04-06 23:48:48 +0200
commit31f0242a6fad3f15dc42f81927b5627c73516958 (patch)
treeed05c9eb260a825fa3c8659a9d2789568c28d154 /mesonbuild/interpreter.py
parentaef1a81b3586aeb48988b60fbeaef5c19e112c45 (diff)
downloadmeson-31f0242a6fad3f15dc42f81927b5627c73516958.zip
meson-31f0242a6fad3f15dc42f81927b5627c73516958.tar.gz
meson-31f0242a6fad3f15dc42f81927b5627c73516958.tar.bz2
new wrap-mode: forcefallback
This can be useful to make sure that a project builds when its fallbacks are used on systems where external dependencies satisfy the version requirements, or to easily hack on the sources of a dependency for which a fallback exists.
Diffstat (limited to 'mesonbuild/interpreter.py')
-rw-r--r--mesonbuild/interpreter.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 88565af..acb86f0 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -2404,10 +2404,13 @@ to directly access options of other subprojects.''')
dep = None
# Search for it outside the project
- try:
- dep = dependencies.find_external_dependency(name, self.environment, kwargs)
- except DependencyException as e:
- exception = e
+ if self.coredata.wrap_mode != WrapMode.forcefallback or 'fallback' not in kwargs:
+ try:
+ dep = dependencies.find_external_dependency(name, self.environment, kwargs)
+ except DependencyException as e:
+ exception = e
+ else:
+ exception = DependencyException("fallback for %s not found" % name)
# Search inside the projects list
if not dep or not dep.found():