A newcomer GHC issue

In GHC, a few issues are tagged as newcomer. These issues vary in difficulty and ambition, but today I came across a quite straightforward one, which I thought would be good to post here. See below.

The newcomer friendly issues are tagged newcomer in the GHC issue tracker. To get started on GHC development read the Contributing/Newcomer Info wiki page.

Better hadrian error when configure was not run

Issue #24156

Hadrian is GHC’s build system, written using the shake Haskell library for writing build systems. Even though Hadrian handles building, it is not responsible for configuring and setting up the Haskell project. To that effect, we have two scripts that must be run prior to building:

  • ./boot which mostly checks that the git submodules were properly initialized (which can be done e.g. by cloning GHC with --recurse-submodules), and generating ./configure through autoreconf.

  • ./configure which determines and configures build options and toolchains, such as the target platform or which C compiler to use (see ./configure --help for more).

The issue simply states that when ./hadrian/build is run before ./boot && ./configure, the failure message should hint at running ./boot and ./configure first!

The task is to change the Hadrian source (hadrian/src) to detect and provide an error message in this situation.

7 Likes