
#16242: Hadrian is too aggressive in rebuilding -------------------------------------+------------------------------------- Reporter: goldfire | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Build System | Version: 8.6.3 (Hadrian) | Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): IIRC part of the reason that the `make` build system behaves "correctly" here is that the testsuite rule is essentially decoupled from the rest of the build system: it has no dependencies whatsoever. You can observe this by running `make test` in a clean tree. You will find that it makes no attempt to build anything but rather just starts in on running the testsuite, using whatever GHC it finds on the path. There is actually a good reason for this: the testsuite can be run against any GHC, not only one from a GHC working directory. As to whether Hadrian should emulate this, I'm torn. Certainly we should have **some** target for running the testsuite against an arbitrary out- of-tree GHC. However, it would make sense if `hadrian test` tested the current working directory. I think the real root of the problem here is that it's very easy to forget adding `--freeze1` to the command line. Perhaps having a way to persist this setting would alleviate much of the pain associated with unintended rebuilds. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/16242#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler