X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=README;h=72a9609137a7a6f5bcf81800f48f7e8c0d95f54e;hp=4634789f1fd159d1ac0eff54d8eb6e7506286db1;hb=1c1ed8694bdd24b003fa5935d001a1835e9b0f4e;hpb=081d5ef4889f76f247ddb9e84e13176f377c088b diff --git a/README b/README index 4634789..72a9609 100644 --- a/README +++ b/README @@ -16,43 +16,76 @@ Information for developers of GHC can be found here: Getting the Source ================== -First get the GHC darcs repository: +There are two ways to get a source tree: - $ darcs get http://darcs.haskell.org/ghc/ + 1. Download source tarballs + --------------------------- -Then run the darcs-all shell script in that repository -to get the other repositories: + Download the GHC source distribution: - $ cd ghc - $ sh darcs-all + ghc--src.tar.bz2 -This grabs the "core" packages by default. To get the full set of -packages (which will probably take a long time to build), instead say + which contains GHC itself and the "boot" libraries. - $ sh darcs-all --extra get + 2. Check out the source code from darcs + --------------------------------------- + + The recommended way to get a darcs checkout is to start off by + downloading a snapshot with a name like: + + ghc-HEAD-2009-09-09-ghc-corelibs-testsuite.tar.bz2 + + from: + + http://darcs.haskell.org/ + + and then untar it and bring it up-to-date with: + + $ cd ghc + $ ./darcs-all get + + + Alternatively you can use darcs to get the repos, but it will take a + lot longer. First get the GHC darcs repository: + + $ darcs get http://darcs.haskell.org/ghc/ + + Then run the darcs-all script in that repository + to get the other repositories: + + $ cd ghc + $ chmod +x darcs-all + $ ./darcs-all get + + 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 darcs 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: - $ autoreconf - $ ./configure - $ make - $ make install + $ perl boot + $ ./configure + $ make + $ make install -The autoreconf step is only necessary if this is a tree checked out +The "perl boot" step is only necessary if this is a tree checked out from darcs. For source distributions downloaded from GHC's web site, this step has already been performed. @@ -61,26 +94,22 @@ 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. -For full information on building GHC, see the GHC Building Guide [3], -which is also available in source form (DocBook XML) in docs/building. References ========== - [1] http://www.haskell.org/ghc/ GHC Home Page - [2] http://hackage.haskell.org/trac/ghc GHC Developer's Wiki - [3] http://www.haskell.org/ghc/docs/latest/html/building/index.html - Building Guide - - [4] http://www.haskell.org/happy/ Happy - [5] http://www.haskell.org/alex/ Alex - [6] http://www.haskell.org/haddock/ Haddock + [1] http://www.haskell.org/ghc/ GHC Home Page + [2] http://hackage.haskell.org/trac/ghc GHC Developer's Wiki + [3] http://hackage.haskell.org/trac/ghc/wiki/Building Building Guide + [4] http://www.haskell.org/happy/ Happy + [5] http://www.haskell.org/alex/ Alex + [6] http://www.haskell.org/haddock/ Haddock Contributors ============ Please see - + http://www.haskell.org/ghc/contributors.html