Details
-
Suggestion
-
Resolution: Out of scope
-
Not Evaluated
-
None
-
None
-
None
Description
It is crucial for the "manual" provider to know in advance the list of missing modules - currently, all providers are "greedy" and generate all modules present in some authoritative source - e.g. list of .prf files known to qmake or list of .pc files known to pkg-config.
For the manual provider, we don't have such a list in advance, but we can use only missing modules as such a list.
In order to get the list, we need to do an extra pass over the project dependencies - first, we collect all deps that we could not find a module for, then we run providers and only then we load actual modules.
This can be done by switching to BFS from DFS when traversing deps - that way, implementing multiple passes should be easier.
This is also required in order to know which Packages we need to load - since providers are run only once, the extensive list of Packages should be passed to it