Re: [PATCH v3] kbuild: document recursive dependency limitation / resolution

From: Luis R. Rodriguez
Date: Wed Oct 07 2015 - 19:08:53 EST


On Tue, Oct 6, 2015 at 2:22 AM, Valentin Rothberg
<valentinrothberg@xxxxxxxxx> wrote:
> Hi Paul,
>
> On Oct 06 '15 10:32, Paul Bolle wrote:
>> Hi Valentin,
>>
>> On di, 2015-10-06 at 10:19 +0200, Valentin Rothberg wrote:
>> > I think that a general remark that using selects should be discouraged
>> > as, besides causing the recursive issue, selects can also break
>> > dependencies.
>>
>> How do selects break dependencies?
>
> Consider the following example (I also attached it as a path):
>
> config A
> bool "CONFIG A"
>
> config B
> bool "CONFIG B"
> depends on !A
>
> config C
> bool "CONFIG C"
> depends on A
> select B
>
> The option B and C are clearly contradicting with respect to A.
> However, when A is set, C can be set as well because Kconfig does not
> visit the dependencies of the select target (in this case B). And since
> Kconfig does not visit the dependencies, it breaks the dependencies of B
> (!A).
>
> You can test the example after applying the patch via:
> $ make KBUILD_KCONFIG=bad_selects.Kconfig menuconfig
>
> Set A, then set C and you'll see that B is set to 'y' as well.

I'll add a form of this example into my patch as well... I'll respin
next. I've decided to take out all of the SAT solving discussion and
text and throw it into a wiki. We now also have quite a bit of
interest from mentors and at least one developer who might be
interested in this work. I'll Cc them and provide the wiki URL and
mailing list that can be used for further discussions / ideas on SAT
solver - kconfig integration.

Luis

Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/