diff options
author | David Terei <davidterei@gmail.com> | 2013-02-13 01:04:14 +0100 |
---|---|---|
committer | David Terei <davidterei@gmail.com> | 2013-02-13 01:04:14 +0100 |
commit | 24ec956e25a9ae15d33d0c38262d227fba57ec8c (patch) | |
tree | bbac05586e3fd5164df14557ddcdfa70dd074068 /README.md | |
parent | 7807289fd3a57bb056a798e9d5297b04d45ed10b (diff) | |
download | haskell-24ec956e25a9ae15d33d0c38262d227fba57ec8c.tar.gz |
Convert README to markdown.
Patch from morabbin!
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000000..9c00dad650 --- /dev/null +++ b/README.md @@ -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/" |