[commit: hadrian] master: Use Cabal directly in place of ghc-cabal + make build root configurable (#531) (3a68f11)
git at git.haskell.org
git at git.haskell.org
Wed Apr 25 23:20:26 UTC 2018
Repository : ssh://git@git.haskell.org/hadrian
On branch : master
Link : http://git.haskell.org/hadrian.git/commitdiff/3a68f11c9d6ceebdb09f85804143dd2f1d49a502
>---------------------------------------------------------------
commit 3a68f11c9d6ceebdb09f85804143dd2f1d49a502
Author: Alp Mestanogullari <alpmestan at gmail.com>
Date: Fri Mar 30 20:31:03 2018 +0200
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
>---------------------------------------------------------------
3a68f11c9d6ceebdb09f85804143dd2f1d49a502
.travis.yml | 71 +++++--
README.md | 19 +-
appveyor.yml | 11 +-
doc/user-settings.md | 10 -
hadrian.cabal | 19 +-
src/Base.hs | 91 ++++----
src/Builder.hs | 93 ++++++--
src/Builder.hs-boot | 46 ++++
src/CommandLine.hs | 22 +-
src/Context.hs | 60 +++---
src/Context/Paths.hs | 39 ++++
src/Expression.hs | 26 ++-
src/Expression/Type.hs | 5 +-
src/GHC.hs | 199 +++++-------------
src/GHC/Packages.hs | 105 ++++++++++
src/Hadrian/Builder.hs | 40 +++-
src/Hadrian/Haskell/Cabal.hs | 29 +--
src/Hadrian/Haskell/Cabal/PackageData.hs | 46 ++++
src/Hadrian/Haskell/Cabal/Parse.hs | 314 +++++++++++++++++++++++++--
src/Hadrian/Haskell/Cabal/Parse.hs-boot | 9 +
src/Hadrian/Haskell/Cabal/Type.hs | 22 +-
src/Hadrian/Oracles/TextFile.hs | 46 +++-
src/Hadrian/Package.hs | 14 +-
src/Hadrian/Utilities.hs | 16 +-
src/Main.hs | 5 +-
src/Oracles/ModuleFiles.hs | 40 ++--
src/Oracles/PackageData.hs | 66 ------
src/Rules.hs | 61 ++++--
src/Rules/Clean.hs | 10 +-
src/Rules/Compile.hs | 6 +-
src/Rules/Configure.hs | 2 +-
src/Rules/Dependencies.hs | 12 +-
src/Rules/Documentation.hs | 108 ++++++----
src/Rules/Generate.hs | 140 +++++++------
src/Rules/Gmp.hs | 30 +--
src/Rules/Install.hs | 349 -------------------------------
src/Rules/Libffi.hs | 13 +-
src/Rules/Library.hs | 72 +++++--
src/Rules/PackageData.hs | 122 ++---------
src/Rules/Program.hs | 116 ++++------
src/Rules/Register.hs | 103 ++++++---
src/Rules/SourceDist.hs | 2 +-
src/Rules/Test.hs | 18 +-
src/Rules/Wrappers.hs | 162 --------------
src/Settings.hs | 6 +-
src/Settings/Builders/Cc.hs | 6 +-
src/Settings/Builders/Common.hs | 38 +++-
src/Settings/Builders/DeriveConstants.hs | 1 +
src/Settings/Builders/Ghc.hs | 55 +++--
src/Settings/Builders/GhcCabal.hs | 66 +++++-
src/Settings/Builders/GhcPkg.hs | 16 +-
src/Settings/Builders/Haddock.hs | 32 +--
src/Settings/Builders/HsCpp.hs | 1 +
src/Settings/Builders/Hsc2Hs.hs | 25 ++-
src/Settings/Builders/RunTest.hs | 5 +-
src/Settings/Default.hs | 49 ++---
src/Settings/Flavours/Quickest.hs | 7 +-
src/Settings/Packages.hs | 125 +++++++++++
src/Settings/Packages/Haskeline.hs | 8 -
src/Settings/Packages/Rts.hs | 1 +
src/Settings/Warnings.hs | 1 +
src/UserSettings.hs | 8 +-
src/Utilities.hs | 46 ++--
63 files changed, 1752 insertions(+), 1533 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc 3a68f11c9d6ceebdb09f85804143dd2f1d49a502
More information about the ghc-commits
mailing list