X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=distrib%2Fhc-build;h=1e3decda3129450034a621172d3cbf18424fb2cf;hp=606badf063a35d734a0d0af4daee160e09e44428;hb=a3e027a34f5e956da3875ab629aa2427e520f879;hpb=10aa0194ea4a6b7de6efbbb489787a7846542b2d diff --git a/distrib/hc-build b/distrib/hc-build index 606badf..1e3decd 100644 --- a/distrib/hc-build +++ b/distrib/hc-build @@ -46,10 +46,17 @@ esac echo "*** Building compiler..." ./configure --enable-hc-boot $configopts -$MAKE -C glafp-utils boot all -$MAKE -C ghc boot -$MAKE -C libraries boot all -$MAKE -C ghc all +# ToDo: figure out the minimal correct sequence here +$MAKE -C utils/mkdependC boot all +$MAKE -C utils/unlit boot all +$MAKE -C utils/mkdirhier boot all +$MAKE -C driver/mangler boot all +$MAKE -C includes boot all +$MAKE -C rts boot all +$MAKE -C libraries boot all GhcBootLibs=YES +$MAKE -C compat boot all +$MAKE -C utils boot all +$MAKE -C compiler boot all MAKEFLAGS= @@ -60,7 +67,7 @@ configopts=`echo $configopts | sed s/--enable-hc-boot-unregisterised//` # Reconfigure, using the newly-build ghc binary as our $(GHC), and # with hc bootstrapping disabled. -HappyCmd="$PWD/distrib/fake-happy" ./configure --with-ghc="$PWD/ghc/compiler/ghc-inplace" $configopts +HappyCmd="$PWD/distrib/fake-happy" ./configure --with-ghc="$PWD/compiler/ghc-inplace" $configopts PRIMOP_BITS="primop-data-decl.hs-incl \ primop-tag.hs-incl \ @@ -80,21 +87,24 @@ PRIMOP_BITS="primop-data-decl.hs-incl \ find libraries hslibs | grep '\.[oa]$' | xargs rm -f # Do includes and RTS now -$MAKE -C ghc/includes boot && $MAKE -C ghc/includes all -$MAKE -C ghc/rts boot && $MAKE -C ghc/rts all +$MAKE -C includes boot && $MAKE -C includes all +$MAKE -C rts boot && $MAKE -C rts all -# Now build a new set of libraries -$MAKE -C libraries boot all +# Now build a new set of libraries (GhcBootLibs only for now) +$MAKE -C libraries boot all GhcBootLibs=YES -# Build all of ghc/utils -$MAKE -C ghc/utils clean && $MAKE -C ghc/utils boot all +# Build all of compat +$MAKE -C compat clean && $MAKE -C compat boot all -# Now we can build hslibs (hsc2hs is required, so must be after ghc/utils) -$MAKE -C hslibs boot all +# Build all of utils +$MAKE -C utils clean && $MAKE -C utils boot all + +# Build the rest of the libraries +$MAKE -C libraries boot all # The reconfigure step updates a few files, which can lead to # unnecessary recompilations. Touch a bunch of things here to avoid # having to recompile stuff that we've already built. -(cd ghc/compiler; touch $PRIMOP_BITS parser/hschooks.o prelude/PrimOp.o main/Config.hs main/Config.o ghc-*) +(cd compiler; touch $PRIMOP_BITS parser/hschooks.o prelude/PrimOp.o main/Config.hs main/Config.o ghc-*) # At this point, the tree should be safe to do 'make install' in.