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

GHC ghc-devs at haskell.org
Tue Jan 29 12:36: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 NeilMitchell):

 Andrey, is the reason this is hideously expensive because {{{ghc -M}}} is
 hideously expensive? If not, then using oracles to cache the various parts
 of {{{dependencies.mk}}} would be the right solution.

 I believe the way {{{-M}}} works is it builds a complete dependency tree,
 which is pretty expensive, and requires running all C preprocessors etc.
 Doing it in individual steps is likely to be hideously expensive.

 The solution I've always used in the past is something like
 https://shakebuild.com/includes#generated-transitive-imports. Pro's are
 it's super fast, super granular and allows you to import files that are
 themselves generated on demand. Con is that you have to write your own
 "spot an import" code. My experience is that's really hard ''in general''
 but quite easy for any specific project with sane conventions.

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


More information about the ghc-tickets mailing list