summaryrefslogtreecommitdiffstats
path: root/scripts/kconfig/zconf.y
diff options
context:
space:
mode:
authorSam Ravnborg <sam@ravnborg.org>2007-05-06 09:20:10 +0200
committerSam Ravnborg <sam@ravnborg.org>2007-05-06 09:20:10 +0200
commit5447d34b080a1e3e312b05a91e87eff4710a1152 (patch)
tree0e232d4f5fa7116fb48ca39ce1dc8dcbdeec0187 /scripts/kconfig/zconf.y
parent04c58f8196b386948abf68128605de3d2db3c6ba (diff)
downloadlinux-stable-5447d34b080a1e3e312b05a91e87eff4710a1152.tar.gz
linux-stable-5447d34b080a1e3e312b05a91e87eff4710a1152.tar.bz2
linux-stable-5447d34b080a1e3e312b05a91e87eff4710a1152.zip
kconfig: error out if recursive dependencies are found
Sample: config FOO bool "This is foo" depends on BAR config BAR bool "This is bar" depends on FOO This will result in following error message: error: found recursive dependency: FOO -> BAR -> FOO And will then exit with exit code equal 1 so make will stop. Inspired by patch from: Adrian Bunk <bunk@stusta.de> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Adrian Bunk <bunk@stusta.de> Cc: Roman Zippel <zippel@linux-m68k.org>
Diffstat (limited to 'scripts/kconfig/zconf.y')
-rw-r--r--scripts/kconfig/zconf.y6
1 files changed, 4 insertions, 2 deletions
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y
index 04a5864c03b1..92eb02bdf9c5 100644
--- a/scripts/kconfig/zconf.y
+++ b/scripts/kconfig/zconf.y
@@ -501,9 +501,11 @@ void conf_parse(const char *name)
}
menu_finalize(&rootmenu);
for_all_symbols(i, sym) {
- sym_check_deps(sym);
+ if (sym_check_deps(sym))
+ zconfnerrs++;
}
-
+ if (zconfnerrs)
+ exit(1);
sym_set_change_count(1);
}