build: hide duplicate options from `--help`

Hide --enable variants from [autodetect]'ed options and --enable/--disable
variants for [enable]'d/[disable]'d options. The hidden options are still
usable, just hidden for more readability.
This commit is contained in:
Stefano Pigozzi 2013-12-14 14:59:07 +01:00
parent a410a750c7
commit 652895abdc
2 changed files with 11 additions and 1 deletions

View File

@ -27,6 +27,12 @@ you think you have support for some feature installed but configure fails to
detect it, the file `build/config.log` may contain information about the
reasons for the failure.
NOTE: To avoid cluttering the output with unreadable spam, `--help` only shows
one of the two switches for each option. If the option is autodetected by
default, the `--disable-***` switch is printed; if the option is disabled by
default, the `--enable-***` switch is printed. Either way, you can use
`--enable-***` or `--disable-**` regardless of what is printed by `--help`.
To build the software you can use `./waf build`: the result of the compilation
will be located in `build/mpv`. You can use `./waf install` to install mpv
to the *prefix* after it is compiled.

View File

@ -1,4 +1,5 @@
from waflib.Options import OptionsContext
import optparse
class Feature(object):
def __init__(self, group, feature):
@ -43,8 +44,11 @@ class Feature(object):
return "--{0}-{1}".format(state, self.identifier)
def help(self, state):
default = self.behaviour()
if (default, state) == ("autodetect", "enable") or default == state:
return optparse.SUPPRESS_HELP
return "{0} {1} [{2}]" \
.format(state, self.attributes['desc'], self.behaviour())
.format(state, self.attributes['desc'], default)
def storage(self):
return "enable_{0}".format(self.identifier)