diff options
author | Sam Ravnborg <sam@ravnborg.org> | 2007-05-06 03:20:10 -0400 |
---|---|---|
committer | Sam Ravnborg <sam@ravnborg.org> | 2007-05-06 03:20:10 -0400 |
commit | 5447d34b080a1e3e312b05a91e87eff4710a1152 (patch) | |
tree | 0e232d4f5fa7116fb48ca39ce1dc8dcbdeec0187 /scripts/kconfig/zconf.y | |
parent | 04c58f8196b386948abf68128605de3d2db3c6ba (diff) |
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.y | 6 |
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) | |||
501 | } | 501 | } |
502 | menu_finalize(&rootmenu); | 502 | menu_finalize(&rootmenu); |
503 | for_all_symbols(i, sym) { | 503 | for_all_symbols(i, sym) { |
504 | sym_check_deps(sym); | 504 | if (sym_check_deps(sym)) |
505 | zconfnerrs++; | ||
505 | } | 506 | } |
506 | 507 | if (zconfnerrs) | |
508 | exit(1); | ||
507 | sym_set_change_count(1); | 509 | sym_set_change_count(1); |
508 | } | 510 | } |
509 | 511 | ||