diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2019-01-22 11:33:18 +0000 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2019-02-20 14:28:54 -0500 |
commit | 49c1f88c850ef0bc2ed8e8eff08e29abd9e73908 (patch) | |
tree | 4d0ba4be8dc15c254d93c1feb8eb42ada5e27bf6 | |
parent | 4d2b804f73b4d4f38c5108ed248569312104705c (diff) | |
download | haskell-49c1f88c850ef0bc2ed8e8eff08e29abd9e73908.tar.gz |
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
-rw-r--r-- | hadrian/src/Rules/Program.hs | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/hadrian/src/Rules/Program.hs b/hadrian/src/Rules/Program.hs index c9df6f5e2d..d7bcb48712 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) |