aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/expr.h
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2010-06-08 12:25:57 -0400
committerMichal Marek <mmarek@suse.cz>2010-07-02 08:53:09 -0400
commit246cf9c26bf11f2bffbecea6e5bd222eee7b1df8 (patch)
tree29ddd2eaa165dbad9e8760866d782f122f579118 /scripts/kconfig/expr.h
parent60c8eca69f7fb2820677a635d921866f66727fcb (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.h2
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;