... | ... | @@ -19,23 +19,6 @@ GHC's repos use git; see [Git Working Conventions](working-conventions/git). For |
|
|
A GHC source tree is made of a collection of repositories. The script [sync-all](building/sync-all) knows how to apply git commands to the whole collection of repositories at once, for example to pull changes from the upstream repositories.
|
|
|
|
|
|
|
|
|
The root of the source tree is the GHC repository itself, the other repositories live in various subdirectories. The master list of repositories is in the file [packages](/trac/ghc/browser/ghc/packages), and this is where the `sync-all` script finds out about which repositories make up the complete tree.
|
|
|
|
|
|
|
|
|
The "`tag`" in the master table in packages has the following significance:
|
|
|
|
|
|
- **"`-`"**: [boot libraries](commentary/libraries), necessary to build GHC
|
|
|
- **"`testsuite`"**: GHC's [regression tests](building/running-tests), not necessary for a build, but is necessary if you're working on GHC
|
|
|
- **"`nofib`"**: GHC's [nofib benchmark suite](building/running-no-fib)
|
|
|
- **"`dph`"**: packages for [Data Parallel Haskell](data-parallel), which is not shipped with GHC but we test all changes to GHC against these repositories so they are usually included in a checked-out source tree.
|
|
|
- **"`extra`"**: extra packages you might want to include in a build (the `parallel` package, for example), but aren't necessary to get a working GHC.
|
|
|
|
|
|
|
|
|
See the [Commentary/Libraries](commentary/libraries) page for more information about GHC's libraries.
|
|
|
|
|
|
## The repositories
|
|
|
|
|
|
|
|
|
Here is a list of the repositories that GHC uses. The columns have the following meaning
|
|
|
|
|
|
- **Location in tree**: where in the source tree this repository sits.
|
... | ... | @@ -70,6 +53,16 @@ Here is a list of the repositories that GHC uses. The columns have the followin |
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th>haddock.git</th></tr>
|
|
|
<tr><th>testsuite</th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th>testsuite.git</th></tr>
|
|
|
<tr><th>nofib</th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th>nofib.git</th></tr>
|
|
|
<tr><th>libraries/array</th>
|
|
|
<th></th>
|
|
|
<th></th>
|
... | ... | @@ -225,16 +218,6 @@ Here is a list of the repositories that GHC uses. The columns have the followin |
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th>packages/xhtml.git/</th></tr>
|
|
|
<tr><th>testsuite</th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th>testsuite.git</th></tr>
|
|
|
<tr><th>nofib</th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th></th>
|
|
|
<th>nofib.git</th></tr>
|
|
|
<tr><th>libraries/primitive</th>
|
|
|
<th> yes </th>
|
|
|
<th></th>
|
... | ... | @@ -266,6 +249,23 @@ Here is a list of the repositories that GHC uses. The columns have the followin |
|
|
<th> no </th>
|
|
|
<th>packages/stm.git/</th></tr></table>
|
|
|
|
|
|
## The 'packages' file
|
|
|
|
|
|
|
|
|
The master list of repositories is in the file [packages](/trac/ghc/browser/ghc/packages), and this is where the `sync-all` script finds out about which repositories make up the complete tree. It duplicates the information in the above table; indeed, it is really the authoritative version (so complain if the table and file differ!).
|
|
|
|
|
|
|
|
|
The "`tag`" in the master table in [packages](/trac/ghc/browser/ghc/packages) has the following significance:
|
|
|
|
|
|
- **"`-`"**: [boot libraries](commentary/libraries), necessary to build GHC
|
|
|
- **"`testsuite`"**: GHC's [regression tests](building/running-tests), not necessary for a build, but is necessary if you're working on GHC
|
|
|
- **"`nofib`"**: GHC's [nofib benchmark suite](building/running-no-fib)
|
|
|
- **"`dph`"**: packages for [Data Parallel Haskell](data-parallel), which is not shipped with GHC but we test all changes to GHC against these repositories so they are usually included in a checked-out source tree.
|
|
|
- **"`extra`"**: extra packages you might want to include in a build (the `parallel` package, for example), but aren't necessary to get a working GHC.
|
|
|
|
|
|
|
|
|
See the [Commentary/Libraries](commentary/libraries) page for more information about GHC's libraries.
|
|
|
|
|
|
## Modifying local packages
|
|
|
|
|
|
|
... | ... | |