[project @ 2002-07-05 16:15:14 by sof]
[ghc-hetmet.git] / ghc / compiler / main / DriverMkDepend.hs
index 5a2f629..5d49e54 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverMkDepend.hs,v 1.17 2002/02/05 14:42:08 simonpj Exp $
+-- $Id: DriverMkDepend.hs,v 1.20 2002/03/21 09:00:54 simonpj Exp $
 --
 -- GHC Driver
 --
@@ -11,16 +11,15 @@ module DriverMkDepend where
 
 #include "HsVersions.h"
 
-import DriverState
-import DriverUtil
+import DriverState      
+import DriverUtil       ( add, softGetDirectoryContents )
 import DriverFlags
 import SysTools                ( newTempName )
 import qualified SysTools
-import Module
-import Module          ( isHomeModule )
+import Module          ( ModuleName, moduleNameUserString, isHomeModule )
 import Finder          ( findModuleDep )
 import HscTypes                ( ModuleLocation(..) )
-import Util
+import Util             ( global )
 import Panic
 
 import IOExts
@@ -28,8 +27,12 @@ import Exception
 
 import Directory
 import IO
-import Monad
-import Maybe
+import Monad            ( when )
+import Maybe            ( isJust )
+
+#if __GLASGOW_HASKELL__ <= 408
+import Util            ( catchJust, ioErrors )
+#endif
 
 -------------------------------------------------------------------------------
 -- mkdependHS
@@ -37,7 +40,7 @@ import Maybe
        -- flags
 GLOBAL_VAR(v_Dep_makefile,             "Makefile", String);
 GLOBAL_VAR(v_Dep_include_prelude,      False, Bool);
-GLOBAL_VAR(v_Dep_exclude_mods,          [], [String]);
+GLOBAL_VAR(v_Dep_exclude_mods,          ["GHC.Prim"], [String]);
 GLOBAL_VAR(v_Dep_suffixes,             [], [String]);
 GLOBAL_VAR(v_Dep_warnings,             True, Bool);
 
@@ -173,7 +176,8 @@ findDependency is_source src imp = do
           Just (mod,loc)
                | isHomeModule mod || include_prelude
                -> return (Just (ml_hi_file loc, not is_source))
-               | otherwise 
+               | otherwise
                -> return Nothing
           Nothing -> throwDyn (ProgramError 
-               (src ++ ": " ++ "can't locate import `" ++ imp_mod ++ "'"))
+               (src ++ ": " ++ "can't locate import `" ++ imp_mod ++ "'" ++
+                if is_source then " (SOURCE import)" else ""))