From 748534371d958291d52ec69d653bae16c74e3efb Mon Sep 17 00:00:00 2001 From: chak Date: Mon, 19 Jun 2000 13:37:50 +0000 Subject: [PATCH] [project @ 2000-06-19 13:37:50 by chak] Updated the building from .hc section. *MERGE* --- docs/building.sgml | 67 +++++++++++++++++++++++----------------------------- 1 file changed, 29 insertions(+), 38 deletions(-) diff --git a/docs/building.sgml b/docs/building.sgml index 2c9d107..eebe7aa 100644 --- a/docs/building.sgml +++ b/docs/building.sgml @@ -2386,61 +2386,52 @@ the canned rules being included, and conflicting with yours. porting GHC -This section is for people trying to get GHC going by using the -supplied intermediate C (.hc) files. This would probably be because -no binaries have been provided, or because the machine is not ``fully +This section is for people trying to get GHC going by using the supplied +intermediate C (.hc) files. This would probably be +because no binaries have been provided, or because the machine is not ``fully supported''. -The intermediate C files are normally made available together with a -source release, please check the announce message for exact directions -of where to find them. If we haven't made them available or you -can't find them, please ask. +The intermediate C files are normally made available together with a source +release, please check the announce message for exact directions of where to +find them. If we haven't made them available or you can't find them, please +ask. -Assuming you've got them, unpack them on top of a fresh source tree. -Then follow the `normal' instructions in for setting -up a build tree. When you invoke the configure script, you'll have -to tell the script about your intentions: +Assuming you've got them, unpack them on top of a fresh source tree. This +will place matching .hc files next to the corresponding +Haskell source in the compiler subdirectory ghc and in +the language package of hslibs (i.e., in hslibs/lang). +Then follow the `normal' instructions in for setting up a build tree. - +The actual build process is fully automated by the +hc-build script located in the +distrib directory. If you eventually want to install GHC +into the directory INSTALL_DIRECTORY, the following +command will execute the whole build process (it won't install yet): + -foo% ./configure --enable-hc-boot +foo% distrib/hc-build --prefix=INSTALL_DIRECTORY - ---enable-hc-boot ---disable-hc-boot - - +--hc-build -Assuming it configures OK and you don't need to create mk/build.mk -for any other purposes, the next step is to proceed with a make boot -followed by make all. At the successful completion of make all, -you should end up with a binary of the compiler proper, -ghc/compiler/hsc, plus archives (but no .hi files!) of the prelude -libraries. To generate the Prelude interface files (and test drive the -bootstrapped compiler), re-run the configure script, but this time -without the option. After that re-create the -contents of ghc/lib: +By default, the installation directory is /usr/local. If +that is what you want, you may omit the argument to +hc-build. Generally, any option given to +hc-build is passed through to the configuration script +configure. If hc-build +successfully completes the build process, you can install the resulting +system, as normal, with - - - -foo% ./configure - .... -foo% cd ghc/lib -foo% make clean -foo% make boot -foo% make all +foo% make install - - That's the mechanics of the boot process, but, of course, if you're trying to boot on a platform that is not supported and significantly -- 1.7.10.4