Solver: Support dependencies on sub-libraries (issue #6039).
This commit tracks dependencies on sub-libraries by extending the functionality for tracking executables that was added in e86f8389. It also starts adding support for library visibility, though it currently only works for source packages. There is a TODO for handling installed packages. This commit handles visibility similarly to the way that the buildable field is handled currently. It only checks whether a component is made private by the current environment and flag constraints at the start of dependency solving. This means that the solver can treat a component as visible when the visibility is controlled by an automatic flag, and the build can fail later, depending on the value that is chosen for the flag. Fixes #6038.
Showing
- cabal-install/Distribution/Solver/Modular/Dependency.hs 6 additions, 3 deletionscabal-install/Distribution/Solver/Modular/Dependency.hs
- cabal-install/Distribution/Solver/Modular/Index.hs 17 additions, 1 deletioncabal-install/Distribution/Solver/Modular/Index.hs
- cabal-install/Distribution/Solver/Modular/IndexConversion.hs 66 additions, 33 deletionscabal-install/Distribution/Solver/Modular/IndexConversion.hs
- cabal-install/Distribution/Solver/Modular/Message.hs 9 additions, 4 deletionscabal-install/Distribution/Solver/Modular/Message.hs
- cabal-install/Distribution/Solver/Modular/Tree.hs 2 additions, 0 deletionscabal-install/Distribution/Solver/Modular/Tree.hs
- cabal-install/Distribution/Solver/Modular/Validate.hs 39 additions, 26 deletionscabal-install/Distribution/Solver/Modular/Validate.hs
Loading
Please register or sign in to comment