MERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
[ghc.git] / README
diff --git a/README b/README
index c31549d..11a6ed3 100644 (file)
--- a/README
+++ b/README
@@ -21,44 +21,26 @@ There are two ways to get a source tree:
   1. Download source tarballs
   ---------------------------
 
-  The GHC source distribution comes in two parts:
+  Download the GHC source distribution:
 
       ghc-<version>-src.tar.bz2
-      ghc-<version>-src-extralibs.tar.bz2
 
-  You only need the first one, which contains GHC itself and
-  the "boot" libraries.
+  which contains GHC itself and the "boot" 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).
+  2. Check out the source code from git
+  -------------------------------------
 
-  If you don't build extralibs now, you can add them later by building
-  and installing individual packages using Cabal.
+  First get the GHC git repository:
 
-  2. Get the source from darcs
-  ----------------------------
+    $ git clone http://darcs.haskell.org/ghc.git/
 
-  First get the GHC darcs repository:
-
-    $ darcs get http://darcs.haskell.org/ghc/
-
-  Then run the darcs-all script in that repository
+  Then run the sync-all script in that repository
   to get the other repositories:
 
      $ cd ghc
-     $ chmod +x darcs-all
-     $ ./darcs-all get
-
-  This grabs the "boot" packages by default.  To get the full set of
-  packages, instead say
+     $ ./sync-all get
 
-     $ ./darcs-all --extra get
-
-  This also downloads the libraries that are normally bundled in the
-  "extralibs" package (see above).
+  This checks out the "boot" packages.
 
 
 Building & Installing
@@ -68,43 +50,37 @@ 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.
+Before building GHC you may need to install some other tools and
+libraries.  See "Setting up your system for building GHC" [8].
 
-If you're building from darcs sources (as opposed to a source
-distribution) then you also need to install Happy [4] and Alex [5].
+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.
+the compiler documentation, you need a good DocBook XML toolchain and
+dblatex.
 
 Quick start:  the following gives you a default build:
 
-    $ sh boot
+    $ perl boot
     $ ./configure
     $ make
     $ make install
 
-The "sh boot" step is only necessary if this is a tree checked out
-from darcs.  For source distributions downloaded from GHC's web site,
+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.
 
-If you want the documentation too then use these commands instead:
-
-    $ echo "XMLDocWays   = html" > mk/build.mk
-    $ echo "HADDOCK_DOCS = YES" >> mk/build.mk
-    $ sh boot
-    $ ./configure
-    $ make
-    $ make install
-    $ make install-docs
-
 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.
+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
@@ -116,6 +92,8 @@ References
  [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