Improve the handling of threadDelay in the non-threaded RTS
[ghc.git] / README
diff --git a/README b/README
index 590a8bb..11a6ed3 100644 (file)
--- a/README
+++ b/README
-This is the root directory for functional-programming tools
-distributed by the Computing Science Department at Glasgow University.
-Simon Peyton Jones <simonpj@dcs.glasgow.ac.uk> is the ringleader
-of this effort.  The tools are:
-
-    ghc                the Glasgow Haskell compilation system
-    haggis     the Haggis GUI toolkit
-    happy      the Happy Haskell parser generator
-    nofib      the NoFib Haskell benchmarking suite
-    literate   the Glasgow "literate programming" system
-    mkworld    configuration system (derived from X11 imake)
-    glafp-utils shared utility programs
-
-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 "mkworld" (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.
+
+Before building GHC you may need to install some other tools and
+libraries.  See "Setting up your system for building GHC" [8].
+
+NB. in particular 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 [3].
+
+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.
+
+Once you have a build you need to keep it going.  You need to keep all
+repos in sync with the sync-all script [7].  To get the latest changes:
+
+    $ ./sync-all pull
+    $ ./sync-all get
+
+
+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
+ [7] http://hackage.haskell.org/trac/ghc/wiki/Building/SyncAll
+ [8] http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation
+
+
+Contributors
+============
+
+Please see
+
+   http://www.haskell.org/ghc/contributors.html