- 27 Aug, 2018 1 commit
-
-
Andrey Mokhov authored
* Reorganise GHC and GHC.Packages modules to get rid of import cycles * Move "GHC.Packages" to "Packages", merge "GHC" into "Settings.Default"
-
- 26 Aug, 2018 1 commit
-
-
Andrey Mokhov authored
* Drop ghcCabal package * Merge GhcCabal and CabalFlags builders * Use more consistent naming * Resolve import cycle * Rename parseCabal to parseCabalFile * Remove outdated references to ghc-cabal from comments
-
- 24 Aug, 2018 1 commit
-
-
Andrey Mokhov authored
This fixes #654. There are only two important changes. 1) The first one fixes missing dependencies: ```diff -pkgDependencies = fmap (fmap PD.dependencies) . readPackageDataFile +pkgDependencies = fmap (fmap (map pkgName . packageDependencies)) . readCabalFile ``` Here `PD.dependencies` returned versioned package names, e.g. `ghc-8.7`, which then failed to match with non-versioned package names such as `ghc` in `contextDependencies`. Switching from `PD.dependencies` to `packageDependencies` fixes this. 2) I clearly remember that we didn't have this bug before, so I added some tests for our package dependency infrastructure to prevent such regressions in future: ```haskell testDependencies :: Action () testDependencies = do putBuild "==== pkgDependencies" depLists <- mapM (pkgDependencies . vanillaContext Stage1) ghcPackages test $ and [ deps == sort deps | Just deps <- depLists ] putBuild "==== Dependencies of the 'ghc-bin' binary" ghcDeps <- pkgDependencies (vanillaContext Stage1 ghc) test $ isJust ghcDeps test $ pkgName compiler `elem` fromJust ghcDeps stage0Deps <- contextDependencies (vanillaContext Stage0 ghc) stage1Deps <- contextDependencies (vanillaContext Stage1 ghc) stage2Deps <- contextDependencies (vanillaContext Stage2 ghc) test $ vanillaContext Stage0 compiler `notElem` stage1Deps test $ vanillaContext Stage1 compiler `elem` stage1Deps test $ vanillaContext Stage2 compiler `notElem` stage1Deps test $ stage1Deps /= stage0Deps test $ stage1Deps == stage2Deps ``` Everything else are cosmetic changes, fixing minor issues in comments, and adding TODOs. To figure out the failure in #654 I had to read some code I didn't write and my hands were automatically fixing some style inconsistencies with the rest of the Hadrian code base. (I'd like to emphasise that I make no judgement about which style is better, it's merely an attempt to make the code base look more homogeneous, which I think is useful.)
-
- 30 Mar, 2018 1 commit
-
-
Alp Mestanogullari authored
* 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
-
- 19 Feb, 2018 1 commit
-
-
Alp Mestanogullari authored
* move a bunch of types into dedicated modules * address review feedback * do away with Hadrian.Builder.Mode for now
-
- 28 Aug, 2017 2 commits
-
-
Andrey Mokhov authored
-
Andrey Mokhov authored
See #403
-
- 27 Aug, 2017 1 commit
-
-
Andrey Mokhov authored
See #403
-
- 16 Aug, 2017 2 commits
-
-
Andrey Mokhov authored
-
Andrey Mokhov authored
* Move buildRoot into the Action monad, so it can be configured from command line in future * Move settings from Setting.Path to Base and Context * Simplify build rule matching and prepare to factoring out common build rules into the library, #347
-
- 13 Aug, 2017 3 commits
-
-
Andrey Mokhov authored
-
Andrey Mokhov authored
-
Andrey Mokhov authored
-
- 07 Aug, 2017 2 commits
-
-
Andrey Mokhov authored
See #347
-
Andrey Mokhov authored
-
- 06 Aug, 2017 5 commits
-
-
Andrey Mokhov authored
-
Andrey Mokhov authored
See #347
-
Andrey Mokhov authored
-
Andrey Mokhov authored
See #347
-
Andrey Mokhov authored
See #347
-
- 05 Aug, 2017 1 commit
-
-
Andrey Mokhov authored
See #347
-
- 04 Aug, 2017 1 commit
-
-
Andrey Mokhov authored
-
- 27 Jul, 2017 1 commit
-
-
Andrey Mokhov authored
See #347
-
- 27 Nov, 2016 1 commit
-
-
Andrey Mokhov authored
-
- 18 Oct, 2016 2 commits
-
-
Andrey Mokhov authored
-
Andrey Mokhov authored
-
- 22 May, 2016 1 commit
-
-
Andrey Mokhov authored
-
- 17 May, 2016 1 commit
-
-
Andrey Mokhov authored
See #244.
-
- 16 May, 2016 2 commits
-
-
Andrey Mokhov authored
-
Andrey Mokhov authored
-
- 19 Feb, 2016 1 commit
-
-
Andrey Mokhov authored
See #207.
-
- 12 Feb, 2016 1 commit
-
-
Andrey Mokhov authored
See #207.
-
- 24 Jan, 2016 1 commit
-
-
Andrey Mokhov authored
See #188.
-
- 20 Jan, 2016 1 commit
-
-
Andrey Mokhov authored
[skip ci]
-
- 09 Jan, 2016 1 commit
-
-
Neil Mitchell authored
Refactor getSingleton to avoid using list, otherwise an import of Data.Extra.List causes shadowing issues
-
- 07 Jan, 2016 1 commit
-
-
quchen authored
-
- 30 Dec, 2015 1 commit
-
-
Andrey Mokhov authored
-
- 28 Dec, 2015 3 commits
-
-
Andrey Mokhov authored
-
Ben Gamari authored
The former is much more common than the latter.
-
Ben Gamari authored
The beginning of a long journey towards minimal re-exports
-