kconfig: make "Selected by:" and "Implied by:" readable
authorPetr Vorel <petr.vorel@gmail.com>
Thu, 25 Jan 2018 09:46:35 +0000 (10:46 +0100)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 25 Jan 2018 12:53:00 +0000 (21:53 +0900)
commit1ccb27143360bd2390a9a970e50709f858b53761
treecf5e766bdaca1c1976ad004a87e0d163f19b15da
parent312ee68752faaa553499775d2c191ff7a883826f
kconfig: make "Selected by:" and "Implied by:" readable

Reverse dependency expressions can get rather unwieldy, especially if
a symbol is selected by more than a handful of other symbols. I.e. it's
possible to have near endless expressions like:
   A && B && !C || D || F && (G || H) || [...]

Chop these expressions into actually readable chunks:
   - A && B && !C
   - D
   - F && (G || H)
   - [...]

I.e. transform the top level OR tokens into newlines and prepend each
line with a minus. This makes the "Selected by:" and "Implied by:" blurb
much easier to read. This is done only if there is more than one top
level OR. "Depends on:" and "Range :" were deliberately left as they are.

Based on idea from Paul Bolle.

Suggested-by: Paul Bolle <pebolle@tiscali.nl>
Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
scripts/kconfig/expr.c
scripts/kconfig/expr.h
scripts/kconfig/menu.c