Fix new-build exe target bug.
I noticed this bug when porting a (dead code) test case
for new-build on executables to the new test suite; I
noticed that if you do a fresh new-build on a project
with lib and executable, specifying to only build the
executable, AND the executable doesn't depend on the lib,
new-build incorrectly decides to try to register the lib
even though no lib was actually built.
This is because "needs registration" was computed pre-pruning.
I turned elabNeedsRegistration into a function that looks
at the post-pruning elabBuildTargets to determine if we
are actually going to build a library or not.
This was actually a bit tricky (I introduced a regression)
with regards to handling when there are NO targets. We have
a regression test for this now.
Signed-off-by:
Edward Z. Yang <ezyang@cs.stanford.edu>
Showing
- cabal-install/Distribution/Client/ProjectPlanning.hs 0 additions, 8 deletionscabal-install/Distribution/Client/ProjectPlanning.hs
- cabal-install/Distribution/Client/ProjectPlanning/Types.hs 26 additions, 3 deletionscabal-install/Distribution/Client/ProjectPlanning/Types.hs
- cabal-install/tests/IntegrationTests/new-build/executable/Main.hs 0 additions, 1 deletion...stall/tests/IntegrationTests/new-build/executable/Main.hs
- cabal-install/tests/IntegrationTests/new-build/executable/Test.hs 0 additions, 1 deletion...stall/tests/IntegrationTests/new-build/executable/Test.hs
- cabal-testsuite/PackageTests/Exec/cabal.out 9 additions, 0 deletionscabal-testsuite/PackageTests/Exec/cabal.out
- cabal-testsuite/PackageTests/Exec/cabal.project 0 additions, 0 deletionscabal-testsuite/PackageTests/Exec/cabal.project
- cabal-testsuite/PackageTests/Exec/cabal.test.hs 6 additions, 0 deletionscabal-testsuite/PackageTests/Exec/cabal.test.hs
- cabal-testsuite/PackageTests/ExecModern/Foo.hs 4 additions, 0 deletionscabal-testsuite/PackageTests/ExecModern/Foo.hs
- cabal-testsuite/PackageTests/ExecModern/My.hs 5 additions, 0 deletionscabal-testsuite/PackageTests/ExecModern/My.hs
- cabal-testsuite/PackageTests/ExecModern/cabal.out 9 additions, 0 deletionscabal-testsuite/PackageTests/ExecModern/cabal.out
- cabal-testsuite/PackageTests/ExecModern/cabal.project 1 addition, 0 deletionscabal-testsuite/PackageTests/ExecModern/cabal.project
- cabal-testsuite/PackageTests/ExecModern/cabal.test.hs 6 additions, 0 deletionscabal-testsuite/PackageTests/ExecModern/cabal.test.hs
- cabal-testsuite/PackageTests/ExecModern/my.cabal 15 additions, 0 deletionscabal-testsuite/PackageTests/ExecModern/my.cabal
- cabal-testsuite/PackageTests/NewBuild/T4375/A.hs 1 addition, 0 deletionscabal-testsuite/PackageTests/NewBuild/T4375/A.hs
- cabal-testsuite/PackageTests/NewBuild/T4375/Setup.hs 0 additions, 0 deletionscabal-testsuite/PackageTests/NewBuild/T4375/Setup.hs
- cabal-testsuite/PackageTests/NewBuild/T4375/a.cabal 11 additions, 0 deletionscabal-testsuite/PackageTests/NewBuild/T4375/a.cabal
- cabal-testsuite/PackageTests/NewBuild/T4375/cabal.out 18 additions, 0 deletionscabal-testsuite/PackageTests/NewBuild/T4375/cabal.out
- cabal-testsuite/PackageTests/NewBuild/T4375/cabal.project 1 addition, 0 deletionscabal-testsuite/PackageTests/NewBuild/T4375/cabal.project
- cabal-testsuite/PackageTests/NewBuild/T4375/cabal.test.hs 7 additions, 0 deletionscabal-testsuite/PackageTests/NewBuild/T4375/cabal.test.hs
- cabal-testsuite/PackageTests/NewBuild/T4375/repo/old-locale-1.0.0.7/System/Locale.hs 1 addition, 0 deletions...s/NewBuild/T4375/repo/old-locale-1.0.0.7/System/Locale.hs
Loading
Please register or sign in to comment