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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/cc73fac6ee2c7d1c883c5e4a1cd28751eebc4113

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

commit cc73fac6ee2c7d1c883c5e4a1cd28751eebc4113
Author: Duncan Coutts <[email protected]>
Date:   Thu Sep 1 11:40:46 2011 +0000

    Better error message for unknown build types

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

 cabal-install/Distribution/Client/SetupWrapper.hs |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/cabal-install/Distribution/Client/SetupWrapper.hs 
b/cabal-install/Distribution/Client/SetupWrapper.hs
index 9315339..e63baf3 100644
--- a/cabal-install/Distribution/Client/SetupWrapper.hs
+++ b/cabal-install/Distribution/Client/SetupWrapper.hs
@@ -34,7 +34,8 @@ import Distribution.Package
          , packageVersion, Dependency(..) )
 import Distribution.PackageDescription
          ( GenericPackageDescription(packageDescription)
-         , PackageDescription(..), specVersion, BuildType(..) )
+         , PackageDescription(..), specVersion
+         , BuildType(..), knownBuildTypes )
 import Distribution.PackageDescription.Parse
          ( readPackageDescription )
 import Distribution.Simple.Configure
@@ -56,7 +57,7 @@ import Distribution.Client.IndexUtils
          ( getInstalledPackages )
 import Distribution.Simple.Utils
          ( die, debug, info, cabalVersion, findPackageDesc, comparing
-         , createDirectoryIfMissingVerbose, rewriteFile )
+         , createDirectoryIfMissingVerbose, rewriteFile, intercalate )
 import Distribution.Client.Utils
          ( moreRecentFile, inDir )
 import Distribution.Text
@@ -116,12 +117,18 @@ setupWrapper verbosity options mpkg cmd flags extraArgs = 
do
       mkArgs cabalLibVersion = commandName cmd
                              : commandShowOptions cmd (flags cabalLibVersion)
                             ++ extraArgs
+  checkBuildType buildType'
   setupMethod verbosity options' (packageId pkg) buildType' mkArgs
   where
     getPkg = findPackageDesc (fromMaybe "." (useWorkingDir options))
          >>= readPackageDescription verbosity
          >>= return . packageDescription
 
+    checkBuildType (UnknownBuildType name) =
+      die $ "The build-type '" ++ name ++ "' is not known. Use one of: "
+         ++ intercalate ", " (map display knownBuildTypes) ++ "."
+    checkBuildType _ = return ()
+
 -- | Decide if we're going to be able to do a direct internal call to the
 -- entry point in the Cabal library or if we're going to have to compile
 -- and execute an external Setup.hs script.



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

Reply via email to