diff options
author | David Eichmann <EichmannD@gmail.com> | 2018-11-14 15:43:57 +0100 |
---|---|---|
committer | Alp Mestanogullari <alp@well-typed.com> | 2018-11-14 15:43:58 +0100 |
commit | 89fa34ecd326de879145e6d854306eb17722bf6c (patch) | |
tree | 340259fa0bd013f4f38c4d6a2e4efc1f6d3c86fa /hadrian/src/Rules/Program.hs | |
parent | 5b98a38a32f2bc8491dc897631be8892919e2143 (diff) | |
download | haskell-89fa34ecd326de879145e6d854306eb17722bf6c.tar.gz |
hadrian: build ghc-iserv-dyn
... in addition to ghc-iserv and ghc-iserv-prof, as it is required
to get 10+ tests to pass
Reviewers: bgamari, alpmestan
Reviewed By: alpmestan
Subscribers: alpmestan, rwbarton, carter
Differential Revision: https://phabricator.haskell.org/D5327
Diffstat (limited to 'hadrian/src/Rules/Program.hs')
-rw-r--r-- | hadrian/src/Rules/Program.hs | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/hadrian/src/Rules/Program.hs b/hadrian/src/Rules/Program.hs index 7128a759c2..aeed0268f8 100644 --- a/hadrian/src/Rules/Program.hs +++ b/hadrian/src/Rules/Program.hs @@ -29,18 +29,21 @@ buildProgram rs = do let allPackages = sPackages ++ if stage == Stage1 then tPackages else [] nameToCtxList <- fmap concat . forM allPackages $ \pkg -> do - -- the iserv pkg results in two different programs at - -- the moment, ghc-iserv (built the vanilla way) - -- and ghc-iserv-prof (built the profiling way), and - -- the testsuite requires both to be present, so we + -- the iserv pkg results in three different programs at + -- the moment, ghc-iserv (built the vanilla way), + -- ghc-iserv-prof (built the profiling way), and + -- ghc-iserv-dyn (built the dynamic way). + -- The testsuite requires all to be present, so we -- make sure that we cover these -- "prof-build-under-other-name" cases. - -- iserv gets its two names from Packages.hs:programName - let ctxV = vanillaContext stage pkg - ctxProf = Context stage pkg profiling - nameV <- programName ctxV - nameProf <- programName ctxProf - return [ (nameV <.> exe, ctxV), (nameProf <.> exe, ctxProf) ] + -- iserv gets its names from Packages.hs:programName + let allCtxs = [ vanillaContext stage pkg + , Context stage pkg profiling + , Context stage pkg dynamic + ] + forM allCtxs $ \ctx -> do + name <- programName ctx + return (name <.> exe, ctx) case lookup (takeFileName bin) nameToCtxList of Nothing -> error $ "Unknown program " ++ show bin |