[GHC] #16242: Hadrian is too aggressive in rebuilding

GHC ghc-devs at haskell.org
Thu Jan 31 17:05:44 UTC 2019


#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


More information about the ghc-tickets mailing list