From ff996e9410e1adf0b331409d26a72b68a0764d72 Mon Sep 17 00:00:00 2001 From: Chris Done Date: Tue, 13 Jan 2015 20:35:41 +0100 Subject: [PATCH] Don't reconfigure if unnecessary --- Stackage/ShakeBuild.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Stackage/ShakeBuild.hs b/Stackage/ShakeBuild.hs index 125cb737..e55d8250 100644 --- a/Stackage/ShakeBuild.hs +++ b/Stackage/ShakeBuild.hs @@ -10,7 +10,7 @@ import Stackage.PerformBuild (PerformBuild(..),copyBuiltInHaddocks) import Control.Monad hiding (forM_) import qualified Data.Map.Strict as M import qualified Data.Text as T -import Development.Shake hiding (doesDirectoryExist) +import Development.Shake hiding (doesFileExist,doesDirectoryExist) import Distribution.Package (PackageName) import Distribution.Text (display) import qualified Filesystem.Path.CurrentOS as FP @@ -96,7 +96,9 @@ packageTarget pb shakeDir name plan = do unpacked <- liftIO (doesDirectoryExist pkgDir) unless unpacked $ cmd (Cwd shakeDir) "cabal" "unpack" nameVer - () <- cmd cwd env "cabal" "configure" (opts shakeDir pb plan pwd) + configured <- liftIO (doesFileExist (pkgDir "dist" "setup-config")) + unless configured $ + cmd cwd env "cabal" "configure" (opts shakeDir pb plan pwd) () <- cmd cwd env "cabal" "build" () <- cmd cwd env "cabal" "copy" () <- cmd cwd env "cabal" "register"