X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=README;h=c7d390d5c0182d623ba0fe262bc7b77ce86b7353;hp=3a873222e080383a823a9c3e8d25c2d0642e4ca2;hb=e5c3b478b3cd1707cf122833822f44b2ac09b8e9;hpb=63cddb36f1dd2e3e41274f494873a62921d3f787 diff --git a/README b/README index 3a87322..c7d390d 100644 --- a/README +++ b/README @@ -21,71 +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 "core" 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 boot - $ ./boot - - This grabs the "core" packages by default. To get the full set of - packages, instead say + $ ./sync-all get - $ ./boot --extra - - 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: - $ ./configure - $ make - $ make install + $ perl boot + $ ./configure + $ make + $ make install + +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. 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