X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=README;h=c7d390d5c0182d623ba0fe262bc7b77ce86b7353;hp=042137bf2f0e5fa720f5440504d4e0d14d8a0fad;hb=914e415702a25a6e52ab1eaaf2aea233d6c6097e;hpb=5d9ab59646a5477cd1cd1b7149e0fb600d1361ed diff --git a/README b/README index 042137b..c7d390d 100644 --- a/README +++ b/README @@ -21,86 +21,61 @@ There are two ways to get a source tree: 1. Download source tarballs --------------------------- - The GHC source distribution comes in two parts: + Download the GHC source distribution: ghc--src.tar.bz2 - ghc--src-extralibs.tar.bz2 - You only need the first one, which contains GHC itself and - the "boot" libraries. + which contains GHC itself and the "boot" libraries. - The extralibs package contains a bunch of optional libraries. If - you want, you can unpack this over the top of your source tree, and - these extra libraries will be built and installed automatically. - Make sure you unpack the extralibs package before running configure - (see below). + 2. Check out the source code from git + ------------------------------------- - If you don't build extralibs now, you can add them later by building - and installing individual packages using Cabal. + First get the GHC git repository: - 2. Get the source from darcs - ---------------------------- + $ git clone http://darcs.haskell.org/ghc.git/ - First get the GHC darcs repository: - - $ darcs get http://darcs.haskell.org/ghc/ - - Then run the darcs-all script in that repository + Then run the sync-all script in that repository to get the other repositories: $ cd ghc - $ chmod +x darcs-all - $ ./darcs-all get - - This grabs the "boot" packages by default. To get the full set of - packages, instead say - - $ ./darcs-all --extra get + $ ./sync-all get - This also downloads the libraries that are normally bundled in the - "extralibs" package (see above). + This checks out the "boot" packages. Building & Installing ===================== +For full information on building GHC, see the GHC Building Guide [3]. +Here follows a summary - if you get into trouble, the Building Guide +has all the answers. + NB. you need GHC installed in order to build GHC, because the compiler -is itself written in Haskell. It is possible to build GHC using just -a C compiler, but we don't recommend this as the normal route. If you -*really* want to do it this way, then see the Building Guide (link -below). +is itself written in Haskell. For instructions on how to port GHC to a +new platform, see the Building Guide. + +If you're building from git sources (as opposed to a source +distribution) then you also need to install Happy [4] and Alex [5]. -You also need a few other tools installed: Happy [4], Alex [5], and -Haddock [6] (for building library documentation), and a good DocBook -XML toolchain if you want to build the compiler documentation. +For building library documentation, you'll need Haddock [6]. To build +the compiler documentation, you need a good DocBook XML toolchain and +dblatex. Quick start: the following gives you a default build: - $ sh boot + $ perl boot $ ./configure $ make $ make install -The "sh boot" step is only necessary if this is a tree checked out -from darcs. For source distributions downloaded from GHC's web site, +The "perl boot" step is only necessary if this is a tree checked out +from git. For source distributions downloaded from GHC's web site, this step has already been performed. -If you want the documentation too then use these commands instead: - - $ echo "XMLDocWays = html" > mk/build.mk - $ echo "HADDOCK_DOCS = YES" >> mk/build.mk - $ sh boot - $ ./configure - $ make - $ make install - $ make install-docs - These steps give you the default build, which includes everything optimised and built in various ways (eg. profiling libs are built). -It can take a long time. To customise the build, see the file -HACKING. +It can take a long time. To customise the build, see the file HACKING. -For full information on building GHC, see the GHC Building Guide [3]. References