From: Masahiro Yamada Date: Mon, 28 May 2018 09:21:55 +0000 (+0900) Subject: kconfig: error out if a recursive variable references itself X-Git-Url: https://jxself.org/git/?p=carl9170fw.git;a=commitdiff_plain;h=5fc8a231376143a6132f10e8bb24950df57f9e98;hp=5fc8a231376143a6132f10e8bb24950df57f9e98 kconfig: error out if a recursive variable references itself When using a recursively expanded variable, it is a common mistake to make circular reference. For example, Make terminates the following code: X = $(X) Y := $(X) Let's detect the circular expansion in Kconfig, too. On the other hand, a function that recurses itself is a commonly-used programming technique. So, Make does not check recursion in the reference with 'call'. For example, the following code continues running eternally: X = $(call X) Y := $(X) Kconfig allows circular expansion if one or more arguments are given, but terminates when the same function is recursively invoked 1000 times, assuming it is a programming mistake. Signed-off-by: Masahiro Yamada Signed-off-by: Christian Lamparter ---