Version 82 (modified by thomie, 5 years ago) (diff)

mention Github

GHC Repositories

This page lists the active repositories relating to GHC. These are Git repositories, so you should learn about Git first. For instructions on actually getting a GHC source tree, see Getting The Sources. For information on using these repositories (via submodules), see the Submodules page.

Repository listing

The GHC source code tracks many related sub-repositories, which are needed for external dependencies during the build, or tools that are included in the build. Not every sub-repository is maintained by us; in fact, the large majority are not maintained by GHC HQ (roughly: if the repository is hosted on Github, it is maintained on Github, and patches and issues should go there).

As a result of this, in HEAD, essentially every single upstream repository we track is tracked with a git submodule. These submodules are mirrored for us, and we send patches we need to the upstream maintainer. Here are the submodules we use, and where their upstreams point:

Location in tree Upstream repo Upstream GHC branch Installed[1] Req'd to build[2]
utils/hsc2hs master Yes Yes
utils/haddock ghc-head Yes No
nofib master N/A N/A
libraries/array master Yes Yes
libraries/binary master Yes Yes
libraries/bytestring master Yes Yes
libraries/Cabal master Yes Yes
libraries/containers master Yes Yes
libraries/deepseq master No No
libraries/directory master Yes Yes
libraries/filepath master Yes Yes
libraries/haskeline master Yes Yes
libraries/haskell98 master Yes Yes
libraries/haskell2010 master Yes Yes
libraries/hoopl master Yes Yes
libraries/hpc master Yes Yes
libraries/old-locale master Yes Yes
libraries/old-time master Yes Yes
libraries/process master Yes Yes
libraries/terminfo master Yes Yes
libraries/time master Yes Yes
libraries/unix master Yes Yes
libraries/Win32 master Yes Yes
libraries/xhtml master Yes Yes
libraries/random master No No
libraries/primitive master No No
libraries/vector master No No
libraries/dph master No No
libraries/parallel master No No
libraries/stm master No No
  • [1] These libraries are not installed in the resulting compiler when you do make install
  • [2] These libraries are not required to build the compiler, but may be used for tests or other libraries. Right now, most of these are based on whether you build DPH. At the moment, DPH is turned off. To build these libraries, set BUILD_DPH=YES in mk/ You can skip haddock by setting HADDOCK_DOCS=NO in mk/ TODO Explain how to skip deepseq, since it seems to only be used for tests.