[GHC] #16253: Offer a shorthand for `--skip=_build/stage$n/compiler/.dependencies.mk`

GHC ghc-devs at haskell.org
Tue Jan 29 13:00:50 UTC 2019


#16253: Offer a shorthand for `--skip=_build/stage$n/compiler/.dependencies.mk`
-------------------------------------+-------------------------------------
        Reporter:  sgraf             |                Owner:  (none)
            Type:  task              |               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 snowleopard):

 > Andrey, is the reason this is hideously expensive because `ghc -M` is
 hideously expensive?

 There are ~500 Haskell files in the `compiler` directory, so global (i.e.
 per-package) dependency analysis can't be very fast, however efficiently
 it is implemented.

 > If not, then using oracles to cache the various parts of
 `dependencies.mk` would be the right solution.

 This is what we do, but this doesn't solve the problem: right now, if you
 edit a single Haskell file in `compiler`, we will rerun `ghc -M` on the
 whole set of ~500 package files. Yes, oracles will helpfully cut the
 changes from propagating further, but this single `ghc -M` invocation will
 be slow.

 I think the only solution is to have a way (e.g. a new GHC flag) to run
 dependency analysis on a single file, without transitive exploration of
 all its dependencies.

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/16253#comment:12>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list