Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
44304 commits behind, 14 commits ahead of the upstream repository.
Simon Marlow's avatar
Simon Marlow authored
.|ab5aad58
ghc-tarballs|e7b7b152083f7c3e3559e557a239757d41ac02a6
libraries/Cabal|6f01f56a2702b50e2da909566c4a01622cb2ca7f
libraries/Win32|0cf603103e9ad3fccd862171ba5e689b87930622
libraries/array|e4b4e2e0a79f4138bdff4f10d263436b0155f449
libraries/base|be2750a0a11b919fb03cc070074e430f88bdfa90
libraries/binary|749ac0efbde3b14901417364a872796598747aaf
libraries/bytestring|cab9d8566fba8611598f14fb4f2ac7b8d4aae75b
libraries/containers|592f6d9da9090e8d53432f22a01bb117fea2246c
libraries/deepseq|91e8a93b15ed32af3941f81e927291a023feb369
libraries/directory|3a0f2e2cb94c3e4f346023acc7201409d2876ed8
libraries/extensible-exceptions|a667b48d0cb6469b6611cb516d16836aa002e782
libraries/filepath|92d211a2752fe8827582ae0d97efd18722ad3d87
libraries/ghc-prim|7fcfc880853fa399c9468049aeb14e6eadb9eae5
libraries/haskeline|125ee5bba59fa9ac2fd77aa3922c30dffc11b7b5
libraries/haskell2010|f90687bee55adfd693fe460f2ab4bc270a7f97e3
libraries/haskell98|eb655b0317665acb9670025480b4af4465bc8f55
libraries/hoopl|0febb7f04ff4326bd120fc75549845e5e9678d72
libraries/hpc|fce8babbc3f60fb195d84545753dc342422ab8e1
libraries/integer-gmp|2567c97aaa467cb676a6ecc2cf840c92ee1cb6ec
libraries/integer-simple|c3e9c0268b4d59895829e429d1ac767e6041b06a
libraries/mtl|a748dfa2770af1d348dfaa8ad6955b25b4935711
libraries/old-locale|7f09f55ea3011c17c526805f099394a05ec9c3fe
libraries/old-time|6aae8dc2f13cef6ab48c5436c6c0e7c1b5ae3f51
libraries/parallel|f82611fac439236e22a057cd555bb9fe393597b0
libraries/pretty|e00aa7e0f82fc6f13ad85f1b3a27f53efe473e60
libraries/process|d1c2999473ba0d4ceafdc6da309debca83f91abe
libraries/random|ba8cb1b9fdfddeb29fdfedd8612c8ce85a987af8
libraries/stm|ccc6d74872916e5de7747df4cc61f64de64be591
libraries/template-haskell|acd4c3292d0f7a222a1f4f426054e4732a809fc8
libraries/terminfo|f4476f1881085b74dbe65cf4a4561e8fb34017d4
libraries/unix|c9a0bf119ce343b291bef77828066339e94fb64d
libraries/utf8-string|d28cd1fbd4ebaaa0608c070bd02ed72dc9b70399
libraries/xhtml|9a4d7d64d0491a1844d5b5759275b029ccd1e2cd
nofib|6d3ea16e56bd99d060e778fab3583aa67a6b50d4
testsuite|6560613138d61afddd0d8d428254370f8dfdb4cd
utils/haddock|1d8143659a81cf9611668348e33fd0775c7ab1d2
utils/hsc2hs|c46eed44ce96f1719334ffb190eddf63695bc553
b8207d4f
History
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.

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