summaryrefslogtreecommitdiff
path: root/hadrian/src/Settings/Default.hs
diff options
context:
space:
mode:
authorAlp Mestanogullari <alpmestan@gmail.com>2020-02-26 17:03:31 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-03-13 02:29:20 -0400
commit6a65b8c2f5b4bc7abdb0ca3b5876df694acb8194 (patch)
tree922f1a9efc3893335eb21ebb073278df1a7e0ef0 /hadrian/src/Settings/Default.hs
parent3a259092a02e84d6b45da6b232cfc022898451a0 (diff)
downloadhaskell-6a65b8c2f5b4bc7abdb0ca3b5876df694acb8194.tar.gz
hadrian: improve dependency tracking for the check-* programs
The code in Rules.Register responsible for finding all the build artifacts that Cabal installs when registering a library (static/shared libs, .hi files, ...) was looking in the wrong place. This patch fixes that logic and makes sure we gather all those artifacts in a list to declare that the rule for a given `.conf` file, our proxy for "Hadrian, please install this package in the package db for this stage", also produces those artifacts under the said package database. We also were completely missing some logic to declare that the check-* programs have dependencies besides their source code, at least when testing an in-tree compiler. Finally, this patch also removes redundant packages from 'testsuitePackages', since they should already be covered by the stage<N>Packages lists from Settings.Default. With this patch, after a complete build and freezing stage 1, a change to `compiler/parser/Parser.y` results in rebuilding the ghc lib, reinstalling it, and rebuilding the few programs that depend on it, _including_ `check-ppr` and `check-api-annotations` (therefore fixing #17273).
Diffstat (limited to 'hadrian/src/Settings/Default.hs')
-rw-r--r--hadrian/src/Settings/Default.hs13
1 files changed, 1 insertions, 12 deletions
diff --git a/hadrian/src/Settings/Default.hs b/hadrian/src/Settings/Default.hs
index b0d0f04ab3..78d46b46be 100644
--- a/hadrian/src/Settings/Default.hs
+++ b/hadrian/src/Settings/Default.hs
@@ -125,18 +125,7 @@ stage2Packages = stage1Packages
-- | Packages that are built only for the testsuite.
testsuitePackages :: Action [Package]
-testsuitePackages = do
- return $ [ checkApiAnnotations
- , checkPpr
- , ghci
- , ghcCompact
- , ghcPkg
- , hpcBin
- , hsc2hs
- , iserv
- , runGhc
- , unlit ] ++
- [ timeout | windowsHost ]
+testsuitePackages = return [ timeout | windowsHost ]
-- | Default build ways for library packages:
-- * We always build 'vanilla' way.