| 11 | | The '''Zero-boot Packages''' are a small subset of the boot packages. Since GHC's source code imports the boot packages, ''even the bootstrap compiler must have the boot packages available''. But for certain fast-moving boot packages (eg Cabal), we don't want to rely on the user having installed a bang-up-to-date version of the package. So we begin the entire build process by installing the zero-boot packages in the bootstrap compiler. (This installation is purely local to the build tree.) The bootstrap compiler is expected to have all other (non-zero-) boot packages already installed. |
| | 13 | Since GHC's source code imports the boot packages, ''even the bootstrap compiler must have the boot packages available''. (Or, more precisely, all the types and values that are imported must be available from some package in the bootstrap compiler; the exact set of packages does not need to be identical.) |
| | 14 | |
| | 15 | For the most part we simply assume that the bootstrap compiler already has the boot packages installed. The '''Zero-boot Packages''' are a set of packages for which this assumption does not hold. For example, for certain fast-moving boot packages (eg Cabal), we don't want to rely on the user having installed a bang-up-to-date version of the package. |
| | 16 | |
| | 17 | So we begin the entire build process by installing the zero-boot packages in the bootstrap compiler. (This installation is purely local to the build tree.) |