diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-11-28 08:36:41 +0100 |
---|---|---|
committer | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2013-11-28 09:06:43 +0100 |
commit | e8677aa36333206f59fae610e9b94ad5d2c3c7e2 (patch) | |
tree | c2200fdb3ed2517a14e5491f433afe1021f41c46 /waftools | |
parent | 156dcbbeb1c64fdba668f4d44ab717511f8bd985 (diff) | |
download | mpv-e8677aa36333206f59fae610e9b94ad5d2c3c7e2.tar.bz2 mpv-e8677aa36333206f59fae610e9b94ad5d2c3c7e2.tar.xz |
build: make --disable-gl disable all the gl backends
Fixes #369
Diffstat (limited to 'waftools')
-rw-r--r-- | waftools/dependencies.py | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/waftools/dependencies.py b/waftools/dependencies.py index 16fd2d5f57..f83f29fc38 100644 --- a/waftools/dependencies.py +++ b/waftools/dependencies.py @@ -34,6 +34,7 @@ class Dependency(object): self.ctx.start_msg('Checking for {0}'.format(self.desc)) try: + self.check_group_disabled() self.check_disabled() self.check_any_dependencies() self.check_dependencies() @@ -49,6 +50,14 @@ class Dependency(object): self.check_autodetect_func() + def check_group_disabled(self): + if 'groups' in self.attributes: + groups = self.attributes['groups'] + disabled = (self.enabled_option(g) == False for g in groups) + if any(disabled): + self.skip() + raise DependencyError + def check_disabled(self): if self.enabled_option() == False: self.skip() @@ -89,15 +98,15 @@ the autodetection check failed.".format(self.identifier) self.fail() self.fatal_if_needed() - def enabled_option(self): + def enabled_option(self, identifier=None): try: - return getattr(self.ctx.options, self.enabled_option_repr()) + return getattr(self.ctx.options, self.enabled_option_repr(identifier)) except AttributeError: pass return None - def enabled_option_repr(self): - return "enable_{0}".format(self.identifier) + def enabled_option_repr(self, identifier): + return "enable_{0}".format(identifier or self.identifier) def success(self, depname): self.ctx.mark_satisfied(depname) |