Skip to content

Hadrian compiles GHC without interpreter even on platforms that support it

While compiling GHC 9.4.7 on mips64el, I noticed that GHC was compiled without interpreter support. In contrast, when compiling using the old make system (again on mips64el) GHC is compiled with interpreter support as expected.

Taking a look at the code, we can see that Hadrian has a hard-coded list to decide which targets support GHCi (see https://gitlab.haskell.org/ghc/ghc/-/blob/00920f176b0235d5bb52a8e054d89a664f8938fe/hadrian/src/Oracles/Setting.hs#L289). In contrast, the old make build system has a different logic to decide which targets support GHCi (see https://gitlab.haskell.org/ghc/ghc/-/blob/00920f176b0235d5bb52a8e054d89a664f8938fe/mk/config.mk.in#L178). If I understand the code correctly, the old make build system enables GHCi on all platforms that support shared libraries, which means all platforms except for powerpc-ibm-aix, x86_64-unknown-mingw32 and i386-unknown-mingw32.

Please consider extending Hadrian to use the same logic as the old build system, and compile GHC with interpreter support on all platforms that support shared libraries.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information