mirrored from https://gitlab.haskell.org/ghc/ghc.git
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert ""Merged" master, in advance of implementing the new "Good""
This reverts commit 8d890e0.
- Loading branch information
Richard Eisenberg
committed
May 24, 2013
1 parent
a405f3f
commit 68db35e
Showing
562 changed files
with
48,976 additions
and
22,907 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
Getting started with hacking on GHC | ||
----------------------------------- | ||
|
||
So you've decided to hack on GHC, congratulations! We hope you have a | ||
rewarding experience. This file will point you in the direction of | ||
information to help you get started right away. | ||
|
||
|
||
The GHC Developer's Wiki | ||
------------------------ | ||
|
||
The home for GHC Developers, with information on accessing the | ||
latest sources, the bug tracker, and documentation on the | ||
code: | ||
|
||
http://hackage.haskell.org/trac/ghc | ||
|
||
In particular, the wiki contains the following pages of interest to | ||
new hackers: | ||
|
||
Quick Start for developers | ||
|
||
http://hackage.haskell.org/trac/ghc/wiki/Building/Hacking | ||
|
||
This section on the wiki will get you up and running with a | ||
serviceable build tree in no time. | ||
|
||
Don't skip this! By default, GHC builds with all optimizations | ||
and profiling; most hackers will want a quicker build, so creating | ||
a mk/build.mk file and knowing how to rebuild only parts of GHC is | ||
very important. | ||
|
||
This is part of the "Building GHC" section of the wiki, which | ||
has more detailed information on GHC's build system should you | ||
need it. | ||
|
||
|
||
Coding conventions | ||
|
||
http://hackage.haskell.org/trac/ghc/wiki/WorkingConventions | ||
|
||
This wiki page explains the ground rules for code that is intended | ||
to go into the mainline compiler source. | ||
|
||
|
||
The GHC Commentary | ||
|
||
http://hackage.haskell.org/trac/ghc/wiki/Commentary | ||
|
||
Notes on the internals and architecture of GHC. | ||
|
||
|
||
Mailing lists | ||
------------- | ||
|
||
Ask on glasgow-haskell-users@haskell.org if you have difficulties. | ||
If you're working with the current darcs sources of GHC, then | ||
cvs-ghc@haskell.org might be a more appropriate (developers hang | ||
out here). See http://www.haskell.org/mailman/listinfo for | ||
subscription. | ||
|
||
|
||
Happy Hacking! --The GHC Team |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
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. | ||
|
||
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 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 [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, | ||
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 | ||
|
||
|
||
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 | ||
[7] http://hackage.haskell.org/trac/ghc/wiki/Building/SyncAll | ||
[8] http://hackage.haskell.org/trac/ghc/wiki/Building/Preparation | ||
|
||
|
||
Contributors | ||
============ | ||
|
||
Please see | ||
|
||
http://www.haskell.org/ghc/contributors.html |
Oops, something went wrong.