diff --git a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs index 36e5d075b5c03fd71429262df7577a3b1894e7bb..dbd59beab09999262313619dae09a90c9af7a1ed 100644 --- a/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs +++ b/hadrian/src/Hadrian/Haskell/Cabal/Parse.hs @@ -165,8 +165,8 @@ configurePackage context@Context {..} = do argList <- interpret (target context (Cabal Setup stage) [] []) getArgs trackArgsHash (target context (Cabal Flags stage) [] []) trackArgsHash (target context (Cabal Setup stage) [] []) - verbosity <- getVerbosity - let v = if verbosity >= Diagnostic then "-v3" else "-v0" + verbosity <- getVerbosity + let v = shakeVerbosityToCabalFlag verbosity argList' = argList ++ ["--flags=" ++ unwords flagList, v] when (verbosity >= Verbose) $ putProgressInfo $ "| Package " ++ quote (pkgName package) ++ " configuration flags: " ++ unwords argList' @@ -189,12 +189,17 @@ copyPackage context@Context {..} = do ctxPath <- Context.contextPath context pkgDbPath <- packageDbPath (PackageDbLoc stage iplace) verbosity <- getVerbosity - let v = if verbosity >= Diagnostic then "-v3" else "-v0" + let v = shakeVerbosityToCabalFlag verbosity traced "cabal-copy" $ C.defaultMainWithHooksNoReadArgs C.autoconfUserHooks gpd [ "copy", "--builddir", ctxPath, "--target-package-db", pkgDbPath, v ] - +shakeVerbosityToCabalFlag :: Verbosity -> String +shakeVerbosityToCabalFlag = \case + Diagnostic -> "-v3" + Verbose -> "-v2" + Silent -> "-v0" + _ -> "-v1" -- | What type of file is Main data MainSourceType = HsMain | CppMain | CMain diff --git a/hadrian/src/Hadrian/Oracles/Cabal/Rules.hs b/hadrian/src/Hadrian/Oracles/Cabal/Rules.hs index 2a17a6ad69d41395132fbb41a5e3805b42b607e5..e7672dd06badc1222df0f6bac89c1dcd81a71cbb 100644 --- a/hadrian/src/Hadrian/Oracles/Cabal/Rules.hs +++ b/hadrian/src/Hadrian/Oracles/Cabal/Rules.hs @@ -73,7 +73,7 @@ cabalOracle = do $ addKnownProgram ghcPkgProgram $ emptyProgramDb (compiler, maybePlatform, _pkgdb) <- liftIO $ - configure silent Nothing Nothing progDb + configure normal Nothing Nothing progDb let platform = fromMaybe (error msg) maybePlatform msg = "PackageConfiguration oracle: cannot detect platform" return $ PackageConfiguration (compiler, platform) diff --git a/hadrian/src/Settings/Builders/Cabal.hs b/hadrian/src/Settings/Builders/Cabal.hs index 810bbdad16d8fb008315838893bdc7e5fe623eea..21f815e9bff9dcb4d1f6966c40065d38bb546b3f 100644 --- a/hadrian/src/Settings/Builders/Cabal.hs +++ b/hadrian/src/Settings/Builders/Cabal.hs @@ -83,7 +83,6 @@ cabalSetupArgs = builder (Cabal Setup) ? do commonCabalArgs :: Stage -> Args commonCabalArgs stage = do - verbosity <- expr getVerbosity pkg <- getPackage package_id <- expr $ pkgUnitId stage pkg let prefix = "${pkgroot}" ++ (if windowsHost then "" else "/..") @@ -127,9 +126,7 @@ commonCabalArgs stage = do , with Alex , with Happy -- Update Target.trackArgument if changing these: - , verbosity < Verbose ? - pure [ "-v0", "--configure-option=--quiet" - , "--configure-option=--disable-option-checking" ] ] + ] -- TODO: Isn't vanilla always built? If yes, some conditions are redundant. -- TODO: Need compiler_stage1_CONFIGURE_OPTS += --disable-library-for-ghci?