X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2Fmain%2FDriverMkDepend.hs;h=5d49e540a6e8b291faaec0402bb1bcf5a6d40e20;hb=3421ad30321bb7fa42cbe0511438d6d7db033f56;hp=5a2f62975c41143ac70a4da362a59b8654894d12;hpb=c7eeb7113387ae4d3adc5a02eba441de335a9031;p=ghc-hetmet.git diff --git a/ghc/compiler/main/DriverMkDepend.hs b/ghc/compiler/main/DriverMkDepend.hs index 5a2f629..5d49e54 100644 --- a/ghc/compiler/main/DriverMkDepend.hs +++ b/ghc/compiler/main/DriverMkDepend.hs @@ -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 ""))