Skip to content
  • Zubin's avatar
    Reinstallable GHC · 7ce1b694
    Zubin authored and Matthew Pickering's avatar Matthew Pickering committed
    This patch allows ghc and its dependencies to be built using a normal
    invocation of cabal-install. Each componenent which relied on generated
    files or additional configuration now has a Setup.hs file.
    
    There are also various fixes to the cabal files to satisfy
    cabal-install.
    
    There is a new hadrian command which will build a stage2 compiler and
    then a stage3 compiler by using cabal.
    
    ```
    ./hadrian/build build-cabal
    ```
    
    There is also a new CI job which tests running this command.
    
    For the 9.4 release we will upload all the dependent executables to
    hackage and then end users will be free to build GHC and GHC executables
    via cabal.
    
    There are still some unresolved questions about how to ensure soundness
    when loading plugins into a reinstalled GHC (#20742) which will be
    tighted up in due course.
    
    Fixes #19896
    7ce1b694