Skip to content

Kconfig circular dependency bug? #89814

Answered by ldomaigne
ninjafail asked this question in Q&A
Discussion options

You must be logged in to vote

Yes these are totally valid use cases. The thing that slightly bugs me then, is: Why is there a loop detection anyway? Do you know the reason why it is forbidden to create pure "depends on"-cycles and pure "selects"-cycles?

From what I can see, the loop detection is needed as part of the recursive descent through the dependency tree. Quoting @ulfalizer from this thread:

There isn't any fancy SAT stuff going on internally btw, just (recursive) evaluation of symbols.

The only slightly tricky part is that symbol values must be cached (and invalidated), or you go into exponential times for some stuff.

This keeps the solver simple, at the expense of a more complex Kconfig trees maintenance.

Replies: 2 comments 4 replies

Comment options

You must be logged in to vote
1 reply
@ninjafail
Comment options

Comment options

You must be logged in to vote
3 replies
@ninjafail
Comment options

@ldomaigne
Comment options

Answer selected by ninjafail
@ninjafail
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants