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-<version>-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.
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