aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2021-08-06 15:16:49 -0400
committerDaniel Mensinger <daniel@mensinger-ka.de>2021-08-07 11:20:57 +0200
commit943596abbb1cba5b6b00051505df4ddd2480aee0 (patch)
treeb42028ceb9fdc204f83d1a534ad4236caf6fb4bc
parent1dcde9da61205f762ee4f1880732b18ee7360389 (diff)
downloadmeson-943596abbb1cba5b6b00051505df4ddd2480aee0.zip
meson-943596abbb1cba5b6b00051505df4ddd2480aee0.tar.gz
meson-943596abbb1cba5b6b00051505df4ddd2480aee0.tar.bz2
Fix --force-fallack-for with --wrap-mode=nofallback
Fixes: #9065
-rw-r--r--mesonbuild/interpreter/dependencyfallbacks.py8
-rw-r--r--unittests/allplatformstests.py6
2 files changed, 10 insertions, 4 deletions
diff --git a/mesonbuild/interpreter/dependencyfallbacks.py b/mesonbuild/interpreter/dependencyfallbacks.py
index 2639e42..5934cbd 100644
--- a/mesonbuild/interpreter/dependencyfallbacks.py
+++ b/mesonbuild/interpreter/dependencyfallbacks.py
@@ -105,13 +105,13 @@ class DependencyFallbacksHolder(MesonInterpreterObject):
return None
def _do_subproject(self, kwargs: TYPE_nkwargs, func_args: TYPE_nvar, func_kwargs: TYPE_nkwargs) -> T.Optional[Dependency]:
- if self.nofallback:
- mlog.log('Not looking for a fallback subproject for the dependency',
- mlog.bold(self.display_name), 'because:\nUse of fallback dependencies is disabled.')
- return None
if self.forcefallback:
mlog.log('Looking for a fallback subproject for the dependency',
mlog.bold(self.display_name), 'because:\nUse of fallback dependencies is forced.')
+ elif self.nofallback:
+ mlog.log('Not looking for a fallback subproject for the dependency',
+ mlog.bold(self.display_name), 'because:\nUse of fallback dependencies is disabled.')
+ return None
else:
mlog.log('Looking for a fallback subproject for the dependency',
mlog.bold(self.display_name))
diff --git a/unittests/allplatformstests.py b/unittests/allplatformstests.py
index bd1e3fa..b7881f6 100644
--- a/unittests/allplatformstests.py
+++ b/unittests/allplatformstests.py
@@ -556,6 +556,12 @@ class AllPlatformTests(BasePlatformTests):
self.build()
self.run_tests()
+ def test_force_fallback_for_nofallback(self):
+ testdir = os.path.join(self.unit_test_dir, '31 forcefallback')
+ self.init(testdir, extra_args=['--force-fallback-for=zlib,foo', '--wrap-mode=nofallback'])
+ self.build()
+ self.run_tests()
+
def test_testrepeat(self):
testdir = os.path.join(self.common_test_dir, '206 tap tests')
self.init(testdir)