summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Gamari <ben@smart-cactus.org>2019-12-27 14:54:19 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-12-30 06:54:38 -0500
commitbd544d3df7ebe6326e38d532ddc4a3756c8fe029 (patch)
tree553e53acf06936870b85b6877e6d1d075423bb16
parent5baa2a4326700c3044904ca0535d45d373ef3b89 (diff)
downloadhaskell-bd544d3df7ebe6326e38d532ddc4a3756c8fe029.tar.gz
hadrian: Track hash of Cabal Setup builder arguments
Lest we fail to rebuild when they change. Fixes #17611.
-rw-r--r--hadrian/src/Hadrian/Haskell/Cabal/Parse.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
index af7966c0ef..12e654cee3 100644
--- a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
+++ b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs
@@ -43,6 +43,7 @@ import Hadrian.Expression
import Hadrian.Haskell.Cabal
import Hadrian.Haskell.Cabal.Type
import Hadrian.Oracles.Cabal
+import Hadrian.Oracles.ArgsHash
import Hadrian.Target
import Base
@@ -137,11 +138,15 @@ configurePackage context@Context {..} = do
pure $ C.simpleUserHooks { C.postConf = \_ _ _ _ -> return () }
| otherwise -> pure C.simpleUserHooks
- -- Compute the list of flags, and the Cabal configurartion arguments
+ -- Compute the list of flags, and the Cabal configuration arguments
flavourArgs <- args <$> flavour
flagList <- interpret (target context (Cabal Flags stage) [] []) flavourArgs
argList <- interpret (target context (Cabal Setup stage) [] []) flavourArgs
+ trackArgsHash (target context (Cabal Flags stage) [] [])
+ trackArgsHash (target context (Cabal Setup stage) [] [])
verbosity <- getVerbosity
+ when (verbosity >= Loud) $
+ putProgressInfo $ "| Package " ++ quote (pkgName package) ++ " configuration flags: " ++ unwords argList
let v = if verbosity >= Loud then "-v3" else "-v0"
traced "cabal-configure" $
C.defaultMainWithHooksNoReadArgs hooks gpd