Browse Source

Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
  kbuild: fix oldnoconfig to do the right thing
  kconfig: Temporarily disable dependency warnings
  kconfig: delay symbol direct dependency initialization
Linus Torvalds 14 years ago
parent
commit
29979aa8bd
4 changed files with 5 additions and 7 deletions
  1. 1 1
      scripts/kconfig/conf.c
  2. 0 1
      scripts/kconfig/expr.h
  3. 2 5
      scripts/kconfig/menu.c
  4. 2 0
      scripts/kconfig/symbol.c

+ 1 - 1
scripts/kconfig/conf.c

@@ -427,7 +427,7 @@ static void check_conf(struct menu *menu)
 				if (sym->name && !sym_is_choice_value(sym)) {
 				if (sym->name && !sym_is_choice_value(sym)) {
 					printf("CONFIG_%s\n", sym->name);
 					printf("CONFIG_%s\n", sym->name);
 				}
 				}
-			} else {
+			} else if (input_mode != oldnoconfig) {
 				if (!conf_cnt++)
 				if (!conf_cnt++)
 					printf(_("*\n* Restart config...\n*\n"));
 					printf(_("*\n* Restart config...\n*\n"));
 				rootEntry = menu_get_parent_menu(menu);
 				rootEntry = menu_get_parent_menu(menu);

+ 0 - 1
scripts/kconfig/expr.h

@@ -165,7 +165,6 @@ struct menu {
 	struct symbol *sym;
 	struct symbol *sym;
 	struct property *prompt;
 	struct property *prompt;
 	struct expr *dep;
 	struct expr *dep;
-	struct expr *dir_dep;
 	unsigned int flags;
 	unsigned int flags;
 	char *help;
 	char *help;
 	struct file *file;
 	struct file *file;

+ 2 - 5
scripts/kconfig/menu.c

@@ -107,7 +107,6 @@ static struct expr *menu_check_dep(struct expr *e)
 void menu_add_dep(struct expr *dep)
 void menu_add_dep(struct expr *dep)
 {
 {
 	current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
 	current_entry->dep = expr_alloc_and(current_entry->dep, menu_check_dep(dep));
-	current_entry->dir_dep = current_entry->dep;
 }
 }
 
 
 void menu_set_type(int type)
 void menu_set_type(int type)
@@ -291,10 +290,6 @@ void menu_finalize(struct menu *parent)
 		for (menu = parent->list; menu; menu = menu->next)
 		for (menu = parent->list; menu; menu = menu->next)
 			menu_finalize(menu);
 			menu_finalize(menu);
 	} else if (sym) {
 	} else if (sym) {
-		/* ignore inherited dependencies for dir_dep */
-		sym->dir_dep.expr = expr_transform(expr_copy(parent->dir_dep));
-		sym->dir_dep.expr = expr_eliminate_dups(sym->dir_dep.expr);
-
 		basedep = parent->prompt ? parent->prompt->visible.expr : NULL;
 		basedep = parent->prompt ? parent->prompt->visible.expr : NULL;
 		basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no);
 		basedep = expr_trans_compare(basedep, E_UNEQUAL, &symbol_no);
 		basedep = expr_eliminate_dups(expr_transform(basedep));
 		basedep = expr_eliminate_dups(expr_transform(basedep));
@@ -325,6 +320,8 @@ void menu_finalize(struct menu *parent)
 			parent->next = last_menu->next;
 			parent->next = last_menu->next;
 			last_menu->next = NULL;
 			last_menu->next = NULL;
 		}
 		}
+
+		sym->dir_dep.expr = parent->dep;
 	}
 	}
 	for (menu = parent->list; menu; menu = menu->next) {
 	for (menu = parent->list; menu; menu = menu->next) {
 		if (sym && sym_is_choice(sym) &&
 		if (sym && sym_is_choice(sym) &&

+ 2 - 0
scripts/kconfig/symbol.c

@@ -350,6 +350,7 @@ void sym_calc_value(struct symbol *sym)
 				}
 				}
 			}
 			}
 		calc_newval:
 		calc_newval:
+#if 0
 			if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
 			if (sym->dir_dep.tri == no && sym->rev_dep.tri != no) {
 				fprintf(stderr, "warning: (");
 				fprintf(stderr, "warning: (");
 				expr_fprint(sym->rev_dep.expr, stderr);
 				expr_fprint(sym->rev_dep.expr, stderr);
@@ -358,6 +359,7 @@ void sym_calc_value(struct symbol *sym)
 				expr_fprint(sym->dir_dep.expr, stderr);
 				expr_fprint(sym->dir_dep.expr, stderr);
 				fprintf(stderr, ")\n");
 				fprintf(stderr, ")\n");
 			}
 			}
+#endif
 			newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
 			newval.tri = EXPR_OR(newval.tri, sym->rev_dep.tri);
 		}
 		}
 		if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)
 		if (newval.tri == mod && sym_get_type(sym) == S_BOOLEAN)