[commit: ghc] wip/T15952-2: Fix hadrian prof flavour so that it builds a profiled version of GHC (cfe6401)
git at git.haskell.org
git at git.haskell.org
Thu Jan 24 11:55:09 UTC 2019
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T15952-2
Link : http://ghc.haskell.org/trac/ghc/changeset/cfe64019a70acc1bae76f2fa580d6654f8eb5bc4/ghc
>---------------------------------------------------------------
commit cfe64019a70acc1bae76f2fa580d6654f8eb5bc4
Author: Matthew Pickering <matthewtpickering at gmail.com>
Date: Tue Jan 22 11:33:18 2019 +0000
Fix hadrian prof flavour so that it builds a profiled version of GHC
In Alp's refactoring of `getProgramContexts` he removed a call to
`getProgramContext` which was where the logic for this used to be
implemented.
Fixes #16214
>---------------------------------------------------------------
cfe64019a70acc1bae76f2fa580d6654f8eb5bc4
hadrian/src/Rules/Program.hs | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/hadrian/src/Rules/Program.hs b/hadrian/src/Rules/Program.hs
index c9df6f5..d7bcb48 100644
--- a/hadrian/src/Rules/Program.hs
+++ b/hadrian/src/Rules/Program.hs
@@ -13,6 +13,7 @@ import Settings
import Settings.Default
import Target
import Utilities
+import Flavour
-- | TODO: Drop code duplication
buildProgramRules :: [(Resource, Int)] -> Rules ()
@@ -44,12 +45,18 @@ getProgramContexts stage = do
-- make sure that we cover these
-- "prof-build-under-other-name" cases.
-- iserv gets its names from Packages.hs:programName
- let allCtxs = [ vanillaContext stage pkg
+ --
+ profiled <- ghcProfiled <$> flavour
+ let allCtxs =
+ if pkg == ghc && profiled && stage > Stage0
+ then [ Context stage pkg profiling ]
+ else [ vanillaContext stage pkg
, Context stage pkg profiling
-- TODO Dynamic way has been reverted as the dynamic build is
-- broken. See #15837.
-- , Context stage pkg dynamic
- ]
+ ]
+
forM allCtxs $ \ctx -> do
name <- programName ctx
return (name <.> exe, ctx)
More information about the ghc-commits
mailing list