diff options
| author | krasimir <krasimir@chalmers.se> | 2008-09-10 08:55:16 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2008-09-10 08:55:16 +0000 |
| commit | c4c1f6d076f8301c6b417badd037dfefbf6d414d (patch) | |
| tree | 6221ae0275a2d30c892fa710c8d2f0a9959c4112 | |
| parent | 5210d1745c519502bab2df266424331ad1f51b5c (diff) | |
print the search path when we can't find a module
| -rw-r--r-- | src/GF/Compile.hs | 6 | ||||
| -rw-r--r-- | src/GF/Compile/ReadFiles.hs | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/src/GF/Compile.hs b/src/GF/Compile.hs index 69ada9e1a..92a956d5f 100644 --- a/src/GF/Compile.hs +++ b/src/GF/Compile.hs @@ -38,6 +38,7 @@ import System.FilePath import System.Time import qualified Data.Map as Map import qualified Data.Set as Set +import Data.List(nub) import PGF.Check import PGF.Data @@ -108,8 +109,9 @@ compileModule opts1 env file = do let opts = addOptions opts0 opts1 let fdir = dropFileName file let ps0 = moduleFlag optLibraryPath opts - ps2 <- ioeIO $ extendPathEnv $ fdir : ps0 - let ps = ps2 ++ map (fdir </>) ps0 + ps1 <- ioeIO $ extendPathEnv $ fdir : ps0 + let ps2 = ps1 ++ map (fdir </>) ps0 + ps <- ioeIO $ fmap nub $ mapM canonicalizePath ps2 ioeIO $ putIfVerb opts $ "module search path:" +++ show ps ---- let (_,sgr,rfs) = env files <- getAllFiles opts ps rfs file diff --git a/src/GF/Compile/ReadFiles.hs b/src/GF/Compile/ReadFiles.hs index cd2faec15..956114c1c 100644 --- a/src/GF/Compile/ReadFiles.hs +++ b/src/GF/Compile/ReadFiles.hs @@ -38,6 +38,7 @@ import qualified Data.Map as Map import System.Time import System.Directory import System.FilePath +import Text.PrettyPrint type ModName = String type ModEnv = Map.Map ModName (ClockTime,[ModName]) @@ -92,7 +93,8 @@ getAllFiles opts ps env file = do case mb_gfoFile of Just gfoFile -> do gfoTime <- ioeIO $ getModificationTime gfoFile return (gfoFile, Nothing, Just gfoTime) - Nothing -> ioeErr $ Bad ("File " ++ gfFile name ++ " does not exist.") + Nothing -> ioeErr $ Bad (render (text "File" <+> text (gfFile name) <+> text "does not exist." $$ + text "searched in:" <+> vcat (map text ps))) let mb_envmod = Map.lookup name env |
