From a452fa83dd70fa01a049fbb59d1c829832af0191 Mon Sep 17 00:00:00 2001 From: Ian Lynagh Date: Tue, 29 Jul 2008 20:24:10 +0000 Subject: [PATCH] Make cabal-bin not do any building, even of Setup.hs, when it is asked to clean --- libraries/cabal-bin.hs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libraries/cabal-bin.hs b/libraries/cabal-bin.hs index 1ecba50..ed72a1e 100644 --- a/libraries/cabal-bin.hs +++ b/libraries/cabal-bin.hs @@ -1,6 +1,7 @@ module Main (main) where +import Control.Monad import Data.Maybe import Distribution.PackageDescription import Distribution.PackageDescription.Parse @@ -45,7 +46,14 @@ doit verbosity ghc packageConf args = do runSetup :: Verbosity -> FilePath -> FilePath -> [String] -> IO () runSetup verbosity ghc packageConf args = do - rawSystemExit verbosity ghc ["-package-conf", packageConf, - "--make", "Setup", "-o", "Setup"] + -- Don't bother building Setup if we are cleaning. If we need to + -- build Setup in order to build, and Setup isn't built already, + -- then there shouldn't be anything to clean anyway. + unless cleaning $ + rawSystemExit verbosity ghc ["-package-conf", packageConf, + "--make", "Setup", "-o", "Setup"] rawSystemExit verbosity "./Setup" args + where cleaning = case args of + "clean" : _ -> True + _ -> False -- 1.7.10.4