diff options
author | Adam Sandberg Ericsson <adam@sandbergericsson.se> | 2020-07-04 16:40:51 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-07-08 20:36:49 -0400 |
commit | 3033e0e4940e6ecc43f478f1dcfbd0c3cb1e3ef8 (patch) | |
tree | 69e03c48671842d3f025e40fd1cddcfb120e1570 /hadrian/src | |
parent | 204f3f5ddec56403bfb12e74291b3b1d14824138 (diff) | |
download | haskell-3033e0e4940e6ecc43f478f1dcfbd0c3cb1e3ef8.tar.gz |
hadrian: add flag to skip rebuilding dependency information #17636
Diffstat (limited to 'hadrian/src')
-rw-r--r-- | hadrian/src/CommandLine.hs | 12 | ||||
-rw-r--r-- | hadrian/src/Main.hs | 5 |
2 files changed, 14 insertions, 3 deletions
diff --git a/hadrian/src/CommandLine.hs b/hadrian/src/CommandLine.hs index 4582a8b258..080c4a2f6c 100644 --- a/hadrian/src/CommandLine.hs +++ b/hadrian/src/CommandLine.hs @@ -1,5 +1,5 @@ module CommandLine ( - optDescrs, cmdLineArgsMap, cmdFlavour, lookupFreeze1, lookupFreeze2, + optDescrs, cmdLineArgsMap, cmdFlavour, lookupFreeze1, lookupFreeze2, lookupSkipDepends, cmdBignum, cmdBignumCheck, cmdProgressInfo, cmdConfigure, cmdCompleteSetting, cmdDocsArgs, lookupBuildRoot, TestArgs(..), TestSpeed(..), defaultTestArgs, cmdPrefix @@ -26,6 +26,7 @@ data CommandLineArgs = CommandLineArgs , flavour :: Maybe String , freeze1 :: Bool , freeze2 :: Bool + , skipDepends :: Bool , bignum :: Maybe String , bignumCheck :: Bool , progressInfo :: ProgressInfo @@ -43,6 +44,7 @@ defaultCommandLineArgs = CommandLineArgs , flavour = Nothing , freeze1 = False , freeze2 = False + , skipDepends = False , bignum = Nothing , bignumCheck = False , progressInfo = Brief @@ -114,9 +116,10 @@ readBuildRoot ms = set :: BuildRoot -> CommandLineArgs -> CommandLineArgs set flag flags = flags { buildRoot = flag } -readFreeze1, readFreeze2 :: Either String (CommandLineArgs -> CommandLineArgs) +readFreeze1, readFreeze2, readSkipDepends :: Either String (CommandLineArgs -> CommandLineArgs) readFreeze1 = Right $ \flags -> flags { freeze1 = True } readFreeze2 = Right $ \flags -> flags { freeze1 = True, freeze2 = True } +readSkipDepends = Right $ \flags -> flags { skipDepends = True } readProgressInfo :: Maybe String -> Either String (CommandLineArgs -> CommandLineArgs) readProgressInfo ms = @@ -256,6 +259,8 @@ optDescrs = "Freeze Stage1 GHC." , Option [] ["freeze2"] (NoArg readFreeze2) "Freeze Stage2 GHC." + , Option [] ["skip-depends"] (NoArg readSkipDepends) + "Skip rebuilding dependency information." , Option [] ["bignum"] (OptArg readBignum "BIGNUM") "Select GHC BigNum backend: native, gmp, ffi." , Option [] ["progress-info"] (OptArg readProgressInfo "STYLE") @@ -361,6 +366,9 @@ lookupFreeze1 = freeze1 . lookupExtra defaultCommandLineArgs lookupFreeze2 :: Map.HashMap TypeRep Dynamic -> Bool lookupFreeze2 = freeze2 . lookupExtra defaultCommandLineArgs +lookupSkipDepends :: Map.HashMap TypeRep Dynamic -> Bool +lookupSkipDepends = skipDepends . lookupExtra defaultCommandLineArgs + cmdBignum :: Action (Maybe String) cmdBignum = bignum <$> cmdLineArgs diff --git a/hadrian/src/Main.hs b/hadrian/src/Main.hs index 632b742624..bc04c707d8 100644 --- a/hadrian/src/Main.hs +++ b/hadrian/src/Main.hs @@ -35,7 +35,10 @@ main = do ] ++ [ (RebuildLater, buildRoot -/- "stage1/**") | CommandLine.lookupFreeze2 argsMap - ] + ] ++ + (if CommandLine.lookupSkipDepends argsMap + then [(RebuildLater, buildRoot -/- "**/.dependencies.mk"), (RebuildLater, buildRoot -/- "**/.dependencies")] + else []) cwd <- getCurrentDirectory shakeColor <- shouldUseColor |