summaryrefslogtreecommitdiff
path: root/libraries
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2007-06-05 17:47:25 +0000
committerIan Lynagh <igloo@earth.li>2007-06-05 17:47:25 +0000
commit245094404c787dabdec878c8ea4ce9fc4e9fb9e4 (patch)
tree32a6a862d8e067d660b30dba4eeecb42ba87495a /libraries
parente43dbbde2f2c1d06908ee91b1319c489797b0849 (diff)
downloadhaskell-245094404c787dabdec878c8ea4ce9fc4e9fb9e4.tar.gz
ifBuildable now prints a warning if the package is not buildable
Diffstat (limited to 'libraries')
-rw-r--r--libraries/ifBuildable.hs22
1 files changed, 14 insertions, 8 deletions
diff --git a/libraries/ifBuildable.hs b/libraries/ifBuildable.hs
index 011ecb7591..3119aeefb7 100644
--- a/libraries/ifBuildable.hs
+++ b/libraries/ifBuildable.hs
@@ -6,6 +6,7 @@ import System.Cmd
import System.Directory
import System.Environment
import System.Exit
+import System.IO
main :: IO ()
main = do args <- getArgs
@@ -15,14 +16,19 @@ main = do args <- getArgs
[_] ->
error "No command given"
package : prog : progArgs ->
- do setCurrentDirectory package
- unbuildable <- doesFileExist "unbuildable"
- if unbuildable
- then do mustBeBuildables <- getMustBeBuildablePackages
- when (package `elem` mustBeBuildables)
- (error (package ++ " is unbuildable"))
- else do ec <- rawSystem prog progArgs
- exitWith ec
+ doit package prog progArgs
+
+doit :: String -> String -> [String] -> IO ()
+doit package prog progArgs
+ = do setCurrentDirectory package
+ unbuildable <- doesFileExist "unbuildable"
+ if unbuildable
+ then do mustBeBuildables <- getMustBeBuildablePackages
+ if package `elem` mustBeBuildables
+ then error (package ++ " is unbuildable")
+ else hPutStrLn stderr "Warning: Package is unbuildable"
+ else do ec <- rawSystem prog progArgs
+ exitWith ec
getMustBeBuildablePackages :: IO [String]
getMustBeBuildablePackages