[GHC] #3226: please eliminate error message from Make on every build

GHC trac at galois.com
Tue May 19 04:42:07 EDT 2009


#3226: please eliminate error message from Make on every build
---------------------------------+------------------------------------------
    Reporter:  nr                |        Owner:                  
        Type:  feature request   |       Status:  new             
    Priority:  normal            |    Milestone:                  
   Component:  Build System      |      Version:  6.11            
    Severity:  minor             |   Resolution:                  
    Keywords:                    |   Difficulty:  Unknown         
    Testcase:                    |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |  
---------------------------------+------------------------------------------
Comment (by simonmar):

 Replying to [comment:7 nr]:
 > Two comments:
 >
 >   * Regarding the speed of the build, I think it is really worth
 exploring Glenn Fowler's nmake.  nmake is engineered by real engineers to
 be portable and to work at scale.  It is entirely possible that it might
 make the safe path also fast.  It could even make it possible (although
 time-consuming and tedious) to eliminate the separate 'configure' step.
 What do you think of this as a possible student project?

 The speed of `make` is not the limiting factor.  IIRC, at the end of a
 complete GHC build the single `make` process has used only a couple of
 seconds of CPU time.

 nmake may well be better than GNU make (though it's not clear that it does
 everything we need).  Anyway I don't have the energy to rewrite the build
 system again right now - maybe in a few years!

 The real problem we would like to solve is the way GNU make handles
 rebuilding included makefiles, which leads to the need for the
 [wiki:Building/Architecture/Idiom/PhaseOrdering phase ordering].  This
 adds 4 seconds or so to each rebuild, not to mention complexity and
 fragility in the build system.  Now, two of those phases are only needed
 because GHCs before 6.11 didn't generate makefile dependencies between
 packages in the way the new build system needs, so in the future when
 bootstrapping with 6.11+ we can drop the two slowest phases, which should
 help a lot.

 For now I've made `make 1` and `make 2` omit phases 1-3.  It's much
 quicker for me now.

 >   * Having established the safe but slow path, is there a way to make it
 less noisy?  In particular, is there a way to change ghc/ghc.mk so that it
 does ''not'' bleat if the dependency file is missing?  I have upgraded
 severity to 'minor' (from 'trivial') because this error message interrupts
 my workflow in emacs ({{{C-x `}}} now has to stop at an extra error
 message... sometimes).

 I agree the message is annoying, but I can't see an easy way to quiet it
 short of filtering the output of make (which is possible, but exceedingly
 ugly).  Surely most of the time the dependency file will be there anyway?

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


More information about the Glasgow-haskell-bugs mailing list