diff options
author | Catalin Marinas <catalin.marinas@arm.com> | 2010-06-08 12:25:57 -0400 |
---|---|---|
committer | Michal Marek <mmarek@suse.cz> | 2010-07-02 08:53:09 -0400 |
commit | 246cf9c26bf11f2bffbecea6e5bd222eee7b1df8 (patch) | |
tree | 29ddd2eaa165dbad9e8760866d782f122f579118 /scripts/kconfig/expr.h | |
parent | 60c8eca69f7fb2820677a635d921866f66727fcb (diff) |
kbuild: Warn on selecting symbols with unmet direct dependencies
The "select" statement in Kconfig files allows the enabling of options
even if they have unmet direct dependencies (i.e. "depends on" expands
to "no"). Currently, the "depends on" clauses are used in calculating
the visibility but they do not affect the reverse dependencies in any
way.
The patch introduces additional tracking of the "depends on" statements
and prints a warning on selecting an option if its direct dependencies
are not met.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Diffstat (limited to 'scripts/kconfig/expr.h')
-rw-r--r-- | scripts/kconfig/expr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/scripts/kconfig/expr.h b/scripts/kconfig/expr.h index 891cd9ce9ba2..75a31e4552f3 100644 --- a/scripts/kconfig/expr.h +++ b/scripts/kconfig/expr.h | |||
@@ -83,6 +83,7 @@ struct symbol { | |||
83 | tristate visible; | 83 | tristate visible; |
84 | int flags; | 84 | int flags; |
85 | struct property *prop; | 85 | struct property *prop; |
86 | struct expr_value dir_dep; | ||
86 | struct expr_value rev_dep; | 87 | struct expr_value rev_dep; |
87 | }; | 88 | }; |
88 | 89 | ||
@@ -163,6 +164,7 @@ struct menu { | |||
163 | struct symbol *sym; | 164 | struct symbol *sym; |
164 | struct property *prompt; | 165 | struct property *prompt; |
165 | struct expr *dep; | 166 | struct expr *dep; |
167 | struct expr *dir_dep; | ||
166 | unsigned int flags; | 168 | unsigned int flags; |
167 | char *help; | 169 | char *help; |
168 | struct file *file; | 170 | struct file *file; |