Use Cabal directly in place of ghc-cabal + make build root configurable (#531)
* 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
Showing
- .travis.yml 50 additions, 21 deletions.travis.yml
- README.md 8 additions, 11 deletionsREADME.md
- appveyor.yml 8 additions, 3 deletionsappveyor.yml
- doc/user-settings.md 0 additions, 10 deletionsdoc/user-settings.md
- hadrian.cabal 4 additions, 15 deletionshadrian.cabal
- src/Base.hs 41 additions, 50 deletionssrc/Base.hs
- src/Builder.hs 75 additions, 18 deletionssrc/Builder.hs
- src/Builder.hs-boot 46 additions, 0 deletionssrc/Builder.hs-boot
- src/CommandLine.hs 20 additions, 2 deletionssrc/CommandLine.hs
- src/Context.hs 25 additions, 35 deletionssrc/Context.hs
- src/Context/Paths.hs 39 additions, 0 deletionssrc/Context/Paths.hs
- src/Expression.hs 12 additions, 14 deletionssrc/Expression.hs
- src/Expression/Type.hs 3 additions, 2 deletionssrc/Expression/Type.hs
- src/GHC.hs 50 additions, 149 deletionssrc/GHC.hs
- src/GHC/Packages.hs 105 additions, 0 deletionssrc/GHC/Packages.hs
- src/Hadrian/Builder.hs 33 additions, 7 deletionssrc/Hadrian/Builder.hs
- src/Hadrian/Haskell/Cabal.hs 16 additions, 13 deletionssrc/Hadrian/Haskell/Cabal.hs
- src/Hadrian/Haskell/Cabal/PackageData.hs 46 additions, 0 deletionssrc/Hadrian/Haskell/Cabal/PackageData.hs
- src/Hadrian/Haskell/Cabal/Parse.hs 291 additions, 23 deletionssrc/Hadrian/Haskell/Cabal/Parse.hs
- src/Hadrian/Haskell/Cabal/Parse.hs-boot 9 additions, 0 deletionssrc/Hadrian/Haskell/Cabal/Parse.hs-boot
Loading
Please register or sign in to comment