Merge remote branch 'origin/master'
[ghc.git] / README
diff --git a/README b/README
index 7054bea..c7d390d 100644 (file)
--- a/README
+++ b/README
@@ -1,23 +1,97 @@
-This is the root directory for functional-programming tools
-distributed by the Computing Science Department at Glasgow University.
-Simon Peyton Jones <simonpj@dcs.gla.ac.uk> is the ringleader of this
-effort.  The tools are:
-
-    ghc                the Glasgow Haskell compilation system
-    hslibs     collection of Haskell libraries
-    haggis     the Haggis GUI toolkit
-    happy      the Happy Haskell parser generator
-    nofib      the NoFib Haskell benchmarking suite
-    literate   the Glasgow "literate programming" system
-    glafp-utils shared utility programs
-    mk         GNU make setup used by all the fptools
-    docs        documentation on the installing and using
-                the fptools suite.
-
-The "literate" stuff is usually distributed *with* other systems, but
-not necessarily.  Components which are always part of a distribution
-(never stand-alone) are "glafp-utils" and "mk" (a configuration
-system).
-
-There is usually an ANNOUNCE* file with any distribution.  Please
-consult that, or the <piece>/README file, to find out how to proceed.
+The Glasgow Haskell Compiler
+============================
+
+This is the source tree for GHC, a compiler and interactive
+environment for the Haskell functional programming language.
+
+For more information, visit GHC's web site:
+
+  http://www.haskell.org/ghc/
+
+Information for developers of GHC can be found here:
+
+  http://hackage.haskell.org/trac/ghc/
+
+
+Getting the Source
+==================
+
+There are two ways to get a source tree:
+
+  1. Download source tarballs
+  ---------------------------
+
+  Download the GHC source distribution:
+
+      ghc-<version>-src.tar.bz2
+
+  which contains GHC itself and the "boot" libraries.
+
+  2. Check out the source code from git
+  -------------------------------------
+
+  First get the GHC git repository:
+
+    $ git clone http://darcs.haskell.org/ghc.git/
+
+  Then run the sync-all script in that repository
+  to get the other repositories:
+
+     $ cd ghc
+     $ ./sync-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.  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].
+
+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:
+
+    $ 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.
+
+
+
+References
+==========
+
+ [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