Merge remote branch 'origin/master'
[ghc.git] / README
diff --git a/README b/README
index 0adcfdd..c7d390d 100644 (file)
--- a/README
+++ b/README
@@ -1,60 +1,97 @@
-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
 
-       $ ./configure
-       $ make
-       $ make install
+Getting the Source
+==================
 
-where 'make' is whatever GNU make is called on your system (GNU make
-is *required*).  If there are any other tools required for the build,
-then the configure script will detect them and tell you if any are
-missing.  For example, a working GHC installation is required for
-building most of the tools (including GHC itself).
+There are two ways to get a source tree:
 
-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.
+  1. Download source tarballs
+  ---------------------------
 
-There is usually an ANNOUNCE* file with any distribution.  Please
-consult that, or the <piece>/README file, to find out how to proceed.
+  Download the GHC source distribution:
 
-Full documentation for the fptools build system can be found in the 
-Building Guide:
+      ghc-<version>-src.tar.bz2
 
-       http://www.haskell.org/ghc/docs/latest/html/building/building-guide.html
+  which contains GHC itself and the "boot" libraries.
 
-More information about GHC can be found here:
+  2. Check out the source code from git
+  -------------------------------------
 
-       http://www.haskell.org/ghc/
+  First get the GHC git repository:
 
---
-The GHC Team,  glasgow-haskell-users@haskell.org
+    $ 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