MERGED: Give PrimOps a NOINLINE pragma, to suppress silly warnings from dsRule
[ghc.git] / README
diff --git a/README b/README
index 3a87322..11a6ed3 100644 (file)
--- a/README
+++ b/README
@@ -21,71 +21,66 @@ 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 "core" 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 boot
-     $ ./boot
-
-  This grabs the "core" packages by default.  To get the full set of
-  packages, instead say
+     $ ./sync-all get
 
-     $ ./boot --extra
-
-  This also downloads the libraries that are normally bundled in the
-  "extralibs" package (see above).
+  This checks out the "boot" packages.
 
 
 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).
+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].
 
-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.
+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:
 
-       $ ./configure
-       $ make
-       $ make install
+    $ 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.
+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].
+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
@@ -97,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