#
# Tickets we can now close, or fix and close:
#
-# * 912 build system doesn't have enough dependencies (it does now!)
-# * 2744 check for presence of hsc2hs in ./configure
# * 2966 make sure --with-gcc does the right thing (#2966)
-# * 3115 make ghc.cabal read-only
-# * 2107 install the docs by default
# * 1693 make distclean
# * 2689 make maintainer-clean
-# * 2619 bootstrapping using a newer GHC shouldn't fail
-# for bogus reasons (picking the wrong version of the ghc package)
-# * 2770 check which version of gcc we require
# * 3173 make install with DESTDIR
# Possible cleanups:
# make show VALUE=VAR prints the value of VAR
# $(warning stuff) prints stuff when reading the makefile
-# BUILD ORDER
+# Approximate build order.
+#
+# The actual build order is defined by dependencies, and the phase
+# ordering used to ensure correct ordering of makefile-generation; see
+# http://hackage.haskell.org/trac/ghc/wiki/Building/Architecture/Idiom/PhaseOrdering
#
# * With bootstrapping compiler:
-# o Build libraries/{hpc,extensible-exceptions,Cabal}
-# o Build utils/ghc-pkg
# o Build utils/ghc-cabal
-# * With bootstrapping compiler and ghc-cabal:
+# o Build utils/ghc-pkg
# o Build utils/hsc2hs
-# o Build libraries/hpc
-# o Build compiler (stage 1)
# * For each package:
-# o generate package-data.mk and inplace-pkg-info
+# o configure, generate package-data.mk and inplace-pkg-info
# o register each package into inplace/lib/package.conf
-# o generate .depend for each package
+# * build libffi
+# * With bootstrapping compiler:
+# o Build libraries/{filepath,hpc,extensible-exceptions,Cabal}
+# o Build compiler (stage 1)
# * With stage 1:
# o Build libraries/*
+# o Build rts
# o Build utils/* (except haddock)
# o Build compiler (stage 2)
# * With stage 2:
# o Build utils/haddock
-# o Build compiler (stage 3)
+# o Build compiler (stage 3) (optional)
# * With haddock:
# o libraries/*
# o compiler