aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/kconfig/menu.c')
-rw-r--r--scripts/kconfig/menu.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/kconfig/menu.c b/scripts/kconfig/menu.c
index eef17bacb6bc..11799894f3bd 100644
--- a/scripts/kconfig/menu.c
+++ b/scripts/kconfig/menu.c
@@ -105,6 +105,7 @@ static struct expr *menu_check_dep(struct expr *e)
105void menu_add_dep(struct expr *dep) 105void menu_add_dep(struct expr *dep)
106{ 106{
107 current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep)); 107 current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
108 current_entry->dir_dep = current_entry->dep;
108} 109}
109 110
110void menu_set_type(int type) 111void menu_set_type(int type)
@@ -288,6 +289,10 @@ void menu_finalize(struct menu *parent)
288 for (menu = parent->list; menu; menu = menu->next) 289 for (menu = parent->list; menu; menu = menu->next)
289 menu_finalize(menu); 290 menu_finalize(menu);
290 } else if (sym) { 291 } else if (sym) {
292 /* ignore inherited dependencies for dir_dep */
293 sym->dir_dep.expr = expr_transform(expr_copy(parent->dir_dep));
294 sym->dir_dep.expr = expr_eliminate_dups(sym->dir_dep.expr);
295
291 basedep = parent->prompt ? parent->prompt->visible.expr : NULL; 296 basedep = parent->prompt ? parent->prompt->visible.expr : NULL;
292 basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no); 297 basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no);
293 basedep = expr_eliminate_dups(expr_transform(basedep)); 298 basedep = expr_eliminate_dups(expr_transform(basedep));