-----------------------------------------------------------------------------
--- $Id: DriverMkDepend.hs,v 1.16 2001/12/04 19:26:17 sof Exp $
+-- $Id: DriverMkDepend.hs,v 1.23 2002/09/18 10:51:01 simonmar Exp $
--
-- GHC Driver
--
#include "HsVersions.h"
-import DriverState
-import DriverUtil
+import DriverState
+import DriverUtil ( add, softGetDirectoryContents )
import DriverFlags
import SysTools ( newTempName )
import qualified SysTools
-import Module
-import Config
-import Module ( isHomeModule )
+import Module ( ModuleName, ModLocation(..),
+ moduleNameUserString, isHomeModule )
import Finder ( findModuleDep )
-import HscTypes ( ModuleLocation(..) )
-import Util
+import Util ( global )
import Panic
-import IOExts
-import Exception
+import DATA_IOREF ( IORef, newIORef, readIORef, writeIORef )
+import EXCEPTION
import Directory
import IO
-import Monad
-import Maybe
+import Monad ( when )
+import Maybe ( isJust )
+
+#if __GLASGOW_HASKELL__ <= 408
+import Panic ( catchJust, ioErrors )
+#endif
-------------------------------------------------------------------------------
-- mkdependHS
-- 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);
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 ""))