Skip to content
  • Alp Mestanogullari's avatar
    Use Cabal directly in place of ghc-cabal + make build root configurable (#531) · 3a68f11c
    Alp Mestanogullari authored and Andrey Mokhov's avatar Andrey Mokhov committed
    * Use Cabal directly in place of ghc-cabal; make build root configurable.
    
    This commit implements two significant changes (that were not easy to
    separate):
    
    - Don't use ghc-cabal anymore for getting information about Haskell packages.
      We now instead directly use Cabal-the-library.
    
    - Make the build root configurable. This effectively gets rid of the inplace
      logic and allows us to place _all_ build artefacts in some directory of
      our choice, by passing '--build-root <some path>' to hadrian.
    
    The code for this was mostly taken from #445.
    
    * fix documentation rules
    
    * remove some leftover unrelated, commented-out code
    
    * more documentation fixes, address some feedback
    
    * cleanup
    
    * more cleanup
    
    * boot and configure explicitly in travis CI scripts
    
    * update cabal/ghc versions in .travis.yml (8.0.x not supported anymore)
    
    * temporarily disable dynamic ways in Settings.Default
    
    * update appveyor script
    
    * travis: when booting with 8.2.2, build a complete stage2 compiler
    
    * Fix CI?
    
    Try to fix the CI by adding the `debug` rts way back in.
    
    * Update Quickest.hs
    
    Replicate the make build systems build flavours.
    
    * Update .travis.yml
    
    - Run selftest, and build in separate instances.
    - try with python2
    - and unify mac to stage2
    
    * Update .travis.yml
    
    upgrade python on mac
    
    * [travis] os x: test the freshly built ghc
    
    * Get rid of two unused GhcCabalMode constructors
    
    * fix ghc-split rule, get rid of Install/Wrappers rules
    
    * address more feedback
    
    * ConfiguredCabal -> PackageData, more comments, more feedback addressed
    
    * make the complete stage 2 build the default
    
    * use a dummy package instead of base in Rules.hs
    
    * update CI scripts
    
    * attempt at fixing hadrian's -c option
    
    * .travis.yml: use -c everywhere again
    
    * travis: back to explicit './boot && ./configure'
    
    * update README.md and doc/user-settings.md to reflect configurable build root
    
    * some more feedback
    3a68f11c