From: Adrian Bunk A recursive kconfig dependency is a bug that has to be fixed, and that might currently not be noted until booting the built kernel. Currently, the warning that a recursive dependency was detected scrolls away during "make oldconfig", and often people don't notice until they booted the kernel and note something like "Why is there no IPV6 support?". This patch therefore lets the configuration fail if kconfig found a recursive dependency. Signed-off-by: Adrian Bunk Cc: Sam Ravnborg Cc: Roman Zippel Signed-off-by: Andrew Morton --- scripts/kconfig/symbol.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff -puN scripts/kconfig/symbol.c~kconfig-abort-configuration-with-recursive-dependencies scripts/kconfig/symbol.c --- a/scripts/kconfig/symbol.c~kconfig-abort-configuration-with-recursive-dependencies +++ a/scripts/kconfig/symbol.c @@ -792,7 +792,7 @@ struct symbol *sym_check_deps(struct sym struct property *prop; if (sym->flags & SYMBOL_CHECK) { - printf("Warning! Found recursive dependency: %s", sym->name); + printf("Error: Found recursive dependency: %s", sym->name); return sym; } if (sym->flags & SYMBOL_CHECKED) @@ -820,7 +820,7 @@ out: printf(" %s", sym->name); if (sym2 == sym) { printf("\n"); - sym2 = NULL; + exit(1); } } sym->flags &= ~SYMBOL_CHECK; _