X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=README;h=c7d390d5c0182d623ba0fe262bc7b77ce86b7353;hp=80beba59b5a50724dcafc879b01553501ed1030d;hb=4c1f0681d85da48deaf706c0f05d971deb48261f;hpb=b69adc4f84c0b56dd47edcdd1274061eac2aca45 diff --git a/README b/README index 80beba5..c7d390d 100644 --- a/README +++ b/README @@ -1,51 +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 - green-card 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*). The configuration script is a standard GNU autoconf -script which accepts all the normal arguments, eg. --prefix= to -install the package somewhere other than /usr/local. Try ./configure ---help to get a full list of the options. +There are two ways to get a source tree: -There is usually an ANNOUNCE* file with any distribution. Please -consult that, or the /README file, to find out how to proceed. + 1. Download source tarballs + --------------------------- -Full documentation for the fptools build system can be found on the -GHC web pages: + Download the GHC source distribution: - http://www.haskell.org/ghc/ + ghc--src.tar.bz2 --- -The GHC Team, glasgow-haskell-users@haskell.org + 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. + +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