Skip to content

Commit

Permalink
Convert README to markdown.
Browse files Browse the repository at this point in the history
Patch from morabbin!
  • Loading branch information
David Terei committed Feb 13, 2013
1 parent 7807289 commit 24ec956
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 104 deletions.
104 changes: 0 additions & 104 deletions README

This file was deleted.

100 changes: 100 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
The Glasgow Haskell Compiler
============================

This is the source tree for [GHC] [1], a compiler and interactive
environment for the Haskell functional programming language.

For more information, visit [GHC's web site] [1].

Information for developers of GHC can be found on the [GHC Trac] [2].


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 clone the GHC github read-only repository:

$ git clone git://github.com/ghc/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.

**DO NOT submit pull request directly to the github repo.**
*See the GHC developer team's working conventions re [contributing patches](http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions/Git#Contributingpatches "hackage.haskell.org/trac/ghc/wiki/WorkingConventions/Git#Contributingpatches").*


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.

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] [1] installed in order to build GHC,
because the compiler is itself written in Haskell. You also need
[Happy] [4], [Alex] [5], and [Cabal] [9]. For instructions on how
to port GHC to a new platform, see the [GHC Building Guide] [3].

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] [1],
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`.

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


Contributors
============

Please see the list of [GHC contributors](http://www.haskell.org/ghc/contributors.html "www.haskell.org/ghc/contributors.html").


[1]: http://www.haskell.org/ghc/ "www.haskell.org/ghc/"
[2]: http://hackage.haskell.org/trac/ghc "hackage.haskell.org/trac/ghc"
[3]: http://hackage.haskell.org/trac/ghc/wiki/Building
"hackage.haskell.org/trac/ghc/wiki/Building"
[4]: http://www.haskell.org/happy/ "www.haskell.org/happy/"
[5]: http://www.haskell.org/alex/ "www.haskell.org/alex/"
[6]: http://www.haskell.org/haddock/ "www.haskell.org/haddock/"
[7]: http://hackage.haskell.org/trac/ghc/wiki/Building/SyncAll
"http://hackage.haskell.org/trac/ghc/wiki/Building/SyncAll"
[8]: http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation
"http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation"
[9]: http://www.haskell.org/cabal/ "http://www.haskell.org/cabal/"

0 comments on commit 24ec956

Please sign in to comment.