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

GHC trac at galois.com
Mon May 18 05:48:42 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:  trivial           |   Resolution:                  
    Keywords:                    |   Difficulty:  Unknown         
    Testcase:                    |           Os:  Unknown/Multiple
Architecture:  Unknown/Multiple  |  
---------------------------------+------------------------------------------
Comment (by simonmar):

 Norman - welcome to the world of non-recursive make :-)  Even when you say
 `make` in `compiler/`, the build system is bringing every dependency of
 GHC up to date in order to start building GHC itself.  Of course this
 might well be overkill, but the design principle was "safety first": we
 want to ensure that the tree never ends up in an inconsistent state, at
 least unless the user explicitly says they want to play fast and loose.

 What we should do now, having established the safe but slow path, is to
 identify exactly the places where we want to omit dependencies in order to
 make development a little less painful.  So thanks for starting the
 discussion.

 `make 1` is an example of one such target: it prevents the dependencies of
 GHC being rebuilt.  I think what you're additionally worried about is the
 "updating makefiles..." stages, which are also about consistency.  If you
 want, you can cheat and omit these too; e.g. at the top level

 {{{
 $ make -f ghc.mk all_ghc_stage1 compiler_stage1_NO_BUILD_DEPS=YES
 }}}

 this should be the fastest way to rebuild stage1.  Perhaps this is
 something we should enshrine as a rule, or perhaps this should be what
 happens when you say `make 1`?  I have some concerns about what could
 happen if you have touched something else in the tree - weird and wacky
 failures could ensue because we're not bringing the included makefiles up
 to date in the right order, but hopefully this wouldn't permanently kill
 your tree, and a top-level `make` should be able to recover.  Let me know
 your experiences anyway.

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


More information about the Glasgow-haskell-bugs mailing list