diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-12-27 14:54:19 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-12-30 06:54:38 -0500 |
commit | bd544d3df7ebe6326e38d532ddc4a3756c8fe029 (patch) | |
tree | 553e53acf06936870b85b6877e6d1d075423bb16 | |
parent | 5baa2a4326700c3044904ca0535d45d373ef3b89 (diff) | |
download | haskell-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.hs | 7 |
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 |