simonmar    2002/11/13 04:21:09 PST

  Modified files:
    .                    Makefile 
    ghc/compiler         Makefile 
    mk                   boilerplate.mk config.mk.in suffix.mk 
                         target.mk 
  Log:
  Add support for gcc-style "make bootstrap" which will build the stage
  1, 2 and 3 compilers in the same build tree.
  
  The idea is to simplify building a stage 2 or 3 compiler (now you only
  need one build tree), and also speed up the build: there's no need to
  compile the libraries more than once, because the stage 1 libraries
  are used for stages 2 & 3.
  
  In ghc/compiler, the objects and .hi files are now placed in
  subdirectories: ghc/compiler/stage1 has the stage1 objects,
  ghc/compiler/stage2 has the stage2 objects, etc.
  
  The story from the top-level (fptools) is this:
  
    make all      works as before (i.e. builds ghc (stage 1),
                  libraries, etc.)
  
    make stage2     builds the stage 2 compiler
    make stage3     builds the stage 3 compiler
  
    make bootstrap  does 'make all' followed by 'make stage2'
    make bootstrap3 does 'make all' followed by 'make stage2; make stage3'
  
  In ghc/compiler, the story is now:
  
    make all         works as before (i.e. builds stage 1 only)
  
    make boot          generate build dirs and dependencies for stage 1
    make boot stage=N  generate build dirs and dependencies for stage N
  
    make stageN
    make stage=N       builds stage N compiler.  Run it in-place using
                    ./stageN/ghc-inplace.
  
  I haven't decided what to do about 'make install' yet, and this still
  needs documenting in the Building Guide.  Also, you still get the same
  $(GhcHcOpts) for each stage.
  
  Revision  Changes    Path
  1.87      +12 -0     fptools/Makefile
  1.225     +153 -20   fptools/ghc/compiler/Makefile
  1.6       +0 -3      fptools/mk/boilerplate.mk
  1.218     +3 -0      fptools/mk/config.mk.in
  1.57      +27 -19    fptools/mk/suffix.mk
  1.164     +5 -0      fptools/mk/target.mk
_______________________________________________
Cvs-fptools mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-fptools


Reply via email to