[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