summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2013-02-13 01:04:14 +0100
committerDavid Terei <davidterei@gmail.com>2013-02-13 01:04:14 +0100
commit24ec956e25a9ae15d33d0c38262d227fba57ec8c (patch)
treebbac05586e3fd5164df14557ddcdfa70dd074068 /README.md
parent7807289fd3a57bb056a798e9d5297b04d45ed10b (diff)
downloadhaskell-24ec956e25a9ae15d33d0c38262d227fba57ec8c.tar.gz
Convert README to markdown.
Patch from morabbin!
Diffstat (limited to 'README.md')
-rw-r--r--README.md100
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/"