... | ... | @@ -8,34 +8,15 @@ In most cases the `configure` script will tell you if you are missing something. |
|
|
|
|
|
- **GHC**
|
|
|
|
|
|
GHC is required to build GHC, because GHC itself is
|
|
|
written in Haskell, and uses GHC extensions. It is possible
|
|
|
to build GHC using just a C compiler, and indeed some
|
|
|
distributions of GHC do just that, but it isn't the best
|
|
|
supported method, and you may encounter difficulties. Full
|
|
|
instructions are in [Porting GHC](building/porting).
|
|
|
|
|
|
GHC can be built using either an earlier released
|
|
|
version of GHC, or
|
|
|
bootstrapped using a GHC built from exactly the same
|
|
|
Since GHC itself is written in Haskell and uses GHC extensions, you normally need another, earlier release of GHC to build it. See [Cross compilation](building/cross-compilation) for building GHC for a new platform.
|
|
|
|
|
|
GHC sources are supposed to be buildable a) with the latest major GHC release, b) with the penultimate major GHC release, c) with GHC built from exactly the same
|
|
|
sources. Note that this means you cannot in general build
|
|
|
GHC using an arbitrary development snapshot, or a build from
|
|
|
say last week. It might work, it might not - we don't
|
|
|
guarantee anything. To be on the safe side, start your
|
|
|
build using the most recently released stable version of
|
|
|
GHC.
|
|
|
|
|
|
In general, we support building with the previous 2
|
|
|
major releases, e.g.:
|
|
|
|
|
|
- To build 6.8.\* you need GHC \>= 6.4
|
|
|
- To build 6.10.\* you need GHC \>= 6.6
|
|
|
- To build 7.4.\* you need GHC \>= 7.0
|
|
|
- To build 7.6.\* you need GHC \>= 7.2
|
|
|
- To build 7.8.\* you need GHC \>= 7.4
|
|
|
- To build 7.10.\* you need GHC \>= 7.6
|
|
|
- To build 8.0.\* you need GHC \>= 7.8
|
|
|
- To build 8.2.\* you need GHC \>= 7.10
|
|
|
guarantee anything.
|
|
|
|
|
|
Thus, for example, to bootstrap GHC 9.5.* snapshot you need either GHC 9.2 or GHC 9.4.
|
|
|
|
|
|
- **Perl**
|
|
|
|
... | ... | @@ -71,7 +52,7 @@ specific to recent versions of GNU `make`, so |
|
|
you must have at least GNU make 3.80 installed in
|
|
|
order to build GHC.
|
|
|
|
|
|
- **[Happy](http://www.haskell.org/happy)**
|
|
|
- **[Happy](https://haskell-happy.readthedocs.io/en/latest/)**
|
|
|
|
|
|
Happy is a parser generator tool for Haskell, and is
|
|
|
used to generate GHC's parsers.
|
... | ... | @@ -83,9 +64,9 @@ need Happy. |
|
|
|
|
|
Happy version 1.19.10 or higher is currently required to build GHC.
|
|
|
Grab a copy from
|
|
|
[Happy's Web Page](http://www.haskell.org/happy/).
|
|
|
[Happy's Web Page](https://haskell-happy.readthedocs.io/en/latest/).
|
|
|
|
|
|
- **[Alex](http://www.haskell.org/alex/)**
|
|
|
- **[Alex](https://haskell-alex.readthedocs.io/en/latest/)**
|
|
|
|
|
|
Alex is a lexical-analyser generator for Haskell,
|
|
|
which GHC uses to generate its lexer.
|
... | ... | @@ -98,9 +79,9 @@ building from a git repository. |
|
|
Alex is
|
|
|
written in Haskell.
|
|
|
Alex distributions are available from
|
|
|
[Alex's Web Page](http://www.haskell.org/alex/).
|
|
|
[Alex's Web Page](https://haskell-alex.readthedocs.io/en/latest/).
|
|
|
|
|
|
- **[Haddock](http://www.haskell.org/haddock/)**
|
|
|
- **[Haddock](https://haskell-haddock.readthedocs.io/en/latest/)**
|
|
|
|
|
|
Haddock is a documentation generator for Haskell,
|
|
|
used for making the docs for the libraries. If you don't want to build the docs then you don't need haddock.
|
... | ... | @@ -159,7 +140,7 @@ Python version 3 is needed. |
|
|
|
|
|
- **[libedit](http://www.thrysoee.dk/editline/)**
|
|
|
|
|
|
When building versions of GHC older than 6.10.3 for platforms other than Windows, the presence of libedit in source form will enable interactive line editing when running GHCi in a terminal. Since version 6.10.3, GHC uses Haskeline and not editline.
|
|
|
When building versions of GHC older than 6.10.3 for platforms other than Windows, the presence of libedit in source form will enable interactive line editing when running GHCi in a terminal. Since version 6.10.3, GHC uses Haskeline and not editline.
|
|
|
|
|
|
- **[libffi](http://sourceware.org/libffi/)**
|
|
|
|
... | ... | @@ -168,4 +149,4 @@ When building versions of GHC older than 6.10.3 for platforms other than Windows |
|
|
## Nofib
|
|
|
|
|
|
|
|
|
See the [running NoFib](building/running-no-fib) page. |
|
|
See the [running NoFib](building/running-nofib) page. |