X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=README;h=c31549df937b2a3b4d967b73afa5f4edceae50a6;hp=14265c5fa744d3a756a35b887674be511338cace;hb=8604da0136707cc14845d14a88c2272fe576b6d0;hpb=70d359351d459248fd4abd832077c65f3be8487d diff --git a/README b/README index 14265c5..c31549d 100644 --- a/README +++ b/README @@ -1,23 +1,126 @@ -This is the root directory for functional-programming tools -distributed by the Computing Science Department at Glasgow University. -Simon Peyton Jones 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 - hdirect Haskell interop tool - green-card a foreign function interface pre-processor for Haskell. - nofib the NoFib Haskell benchmarking suite - literate the Glasgow "literate programming" system - glafp-utils shared utility programs - mk GNU make setup used by all of fptools - docs documentation on the installing and using - the fptools suite. - -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 /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 + --------------------------- + + The GHC source distribution comes in two parts: + + ghc--src.tar.bz2 + ghc--src-extralibs.tar.bz2 + + You only need the first one, 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). + + If you don't build extralibs now, you can add them later by building + and installing individual packages using Cabal. + + 2. Get the source from darcs + ---------------------------- + + First get the GHC darcs repository: + + $ darcs get http://darcs.haskell.org/ghc/ + + Then run the darcs-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 + + $ ./darcs-all --extra get + + This also downloads the libraries that are normally bundled in the + "extralibs" package (see above). + + +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. 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. + +If you're building from darcs 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. + +Quick start: the following gives you a default build: + + $ sh 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, +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. + + + +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