Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/85a1f5f23a220db399fa789de1f0a6eefd7efb34

>---------------------------------------------------------------

commit 85a1f5f23a220db399fa789de1f0a6eefd7efb34
Author: Duncan Coutts <[email protected]>
Date:   Sat Aug 2 01:41:07 2008 +0000

    Fix changing working dir when calling external setup but not logging
    Now uses a single code path for both modes.

>---------------------------------------------------------------

 cabal-install/Distribution/Client/SetupWrapper.hs |   25 +++++++++++----------
 1 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/cabal-install/Distribution/Client/SetupWrapper.hs 
b/cabal-install/Distribution/Client/SetupWrapper.hs
index c7037e9..68daac5 100644
--- a/cabal-install/Distribution/Client/SetupWrapper.hs
+++ b/cabal-install/Distribution/Client/SetupWrapper.hs
@@ -48,7 +48,7 @@ import qualified Distribution.Simple.PackageIndex as 
PackageIndex
 import Distribution.Simple.PackageIndex (PackageIndex)
 import Distribution.Simple.Utils
          ( die, debug, info, cabalVersion, defaultPackageDesc, comparing
-         , rawSystemExit, createDirectoryIfMissingVerbose, inDir )
+         , createDirectoryIfMissingVerbose, inDir )
 import Distribution.Text
          ( display )
 import Distribution.Verbosity
@@ -276,17 +276,18 @@ externalSetupMethod verbosity options pkg bt mkargs = do
     where cabalPkgid = PackageIdentifier "Cabal" cabalLibVersion
 
   invokeSetupScript :: [String] -> IO ()
-  invokeSetupScript args = case useLoggingHandle options of
-    Nothing -> rawSystemExit verbosity setupProgFile args
-    Just logHandle -> do
-      info verbosity $ unwords (setupProgFile : args)
-      info verbosity $ "Redirecting build log to " ++ show logHandle
-      currentDir <- getCurrentDirectory
-      process <- runProcess (currentDir </> setupProgFile) args
-                   (useWorkingDir options) Nothing
-                   Nothing (Just logHandle) (Just logHandle)
-      exitCode <- waitForProcess process
-      unless (exitCode == ExitSuccess) $ exitWith exitCode
+  invokeSetupScript args = do
+    info verbosity $ unwords (setupProgFile : args)
+    case useLoggingHandle options of
+      Nothing        -> return ()
+      Just logHandle -> info verbosity $ "Redirecting build log to "
+                                      ++ show logHandle
+    currentDir <- getCurrentDirectory
+    process <- runProcess (currentDir </> setupProgFile) args
+                 (useWorkingDir options) Nothing
+                 Nothing (useLoggingHandle options) (useLoggingHandle options)
+    exitCode <- waitForProcess process
+    unless (exitCode == ExitSuccess) $ exitWith exitCode
 
 -- ------------------------------------------------------------
 -- * Utils



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to