Skip to content
  • Herbert Valerio Riedel's avatar
    Enable building Cabal with parsec · 36fe21aa
    Herbert Valerio Riedel authored and Ben Gamari's avatar Ben Gamari committed
    Cabal's parser has been rewritten in terms of Parsec (which is not
    enabled yet in Cabal-2.0 by default, but can be enabled by a cabal
    flag). The plan for Cabal is to drop support for the non-parsec parser,
    so we need to prepare GHC to cope with new situation.
    
    However, this means that lib:Cabal requires three new library
    dependency submodules,
    
     - parsec
     - text
     - mtl
    
    What complicates matters is that we need to build `ghc-cabal` early on
    during the bootstrap phase which currently needs to invoke `ghc --make`
    directly. So these additional dependencies need to be integrated into
    the monolithic `ghc --make` invocation which produces the `ghc-cabal`
    executable.
    
    Test Plan: `./validate --fast` passed
    
    Reviewers: austin, bgamari
    
    Subscribers: erikd, phadej, rwbarton, thomie
    
    Differential Revision: https://phabricator.haskell.org/D3757
    36fe21aa