Add Coercion.lhs
[ghc-hetmet.git] / README
diff --git a/README b/README
index fa07e73..3010e9e 100644 (file)
--- a/README
+++ b/README
-fptools build system
-====================
+The Glasgow Haskell Compiler
+============================
 
-This is the top-level directory of the fptools build system.  Several
-packages are part of this build system; if you got this as part of a
-source distribution (eg. for GHC), then you will have one or more of
-the following directories:
+This is the source tree for GHC, a compiler and interactive
+environment for the Haskell functional programming language.
 
-    ghc                  The Glasgow Haskell Compiler
-    hslibs       A Collection of Haskell libraries
-    haddock      A Haskell documentation tool
-    haggis       The Haggis GUI toolkit
-    happy        The Happy Haskell parser generator
-    hdirect       Haskell interop tool
-    greencard    A foreign function interface pre-processor for Haskell.
-    libraries    Haskell libraries (reqd. by ghc)
-    nofib        The NoFib Haskell benchmarking suite
+For more information, visit GHC's web site:
 
-Additional documentation for each project can be found in its
-respective directory.
+  http://www.haskell.org/ghc/
 
-In addition, the following directories contain project-independent bits:
+Information for developers of GHC can be found here:
 
-    mk           GNU make setup used by all of fptools
-    glafp-utils   Shared utility programs
-    docs          Documentation on the installing and using
-                  the fptools build system.
-    distrib      Tools and additional bits for building distributions
+  http://hackage.haskell.org/trac/ghc/
 
-Quick start:  the following is *supposed* to work
 
+Getting the Source
+==================
+
+There are two ways to get a source tree:
+
+  1. Download source tarballs
+  ---------------------------
+
+  The GHC source distribution comes in two parts:
+
+      ghc-<version>-src.tar.bz2
+      ghc-<version>-src-extralibs.tar.bz2
+
+  You only need the first one, which contains GHC itself and
+  the "core" 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).
+
+  If you don't build extralibs now, you can add them later by building
+  and installing individual packages using Cabal.
+
+  2. Get the source from darcs
+  ----------------------------
+
+  First get the GHC darcs repository:
+
+    $ darcs get http://darcs.haskell.org/ghc/
+
+  Then run the darcs-all shell script in that repository 
+  to get the other repositories:
+
+     $ cd ghc
+     $ sh darcs-all get
+
+  This grabs the "core" packages by default.  To get the full set of
+  packages, instead say
+
+     $ sh darcs-all --extra get
+
+  This also downloads the libraries that are normally bundled in the
+  "extralibs" package (see above).
+
+
+Building & Installing
+=====================
+
+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).
+
+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. 
+
+Quick start:  the following gives you a default build:
+
+       $ autoreconf
        $ ./configure
        $ make
        $ make install
 
-where 'make' is whatever GNU make is called on your system (GNU make
-is *required*).  The configuration script is a standard GNU autoconf
-script which accepts all the normal arguments, eg. --prefix=<blah> to
-install the package somewhere other than /usr/local.  Try ./configure
---help to get a full list of the options.
+The autoreconf 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.
+
+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.
+
+For full information on building GHC, see the GHC Building Guide [3],
+which is also available in source form (DocBook XML) in docs/building.
+
 
-There is usually an ANNOUNCE* file with any distribution.  Please
-consult that, or the <piece>/README file, to find out how to proceed.
+References
+==========
 
-Full documentation for the fptools build system can be found in the 
-Building Guide:
+ [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
 
-       http://www.haskell.org/ghc/docs/latest/html/building/building-guide.html
+ [4] http://www.haskell.org/happy/             Happy
+ [5] http://www.haskell.org/alex/              Alex
+ [6] http://www.haskell.org/haddock/           Haddock
 
-More information about GHC can be found here:
 
-       http://www.haskell.org/ghc/
+Contributors
+============
 
---
-The GHC Team,  glasgow-haskell-users@haskell.org
+Please see
+  
+   http://www.haskell.org/ghc/contributors.html