@@ -5,7 +5,7 @@ import System.Process
55import System.Directory
66import System.Exit
77import System.IO
8−import System.FilePath ((</>), addTrailingPathSeparator, takeFileName)
8+import System.FilePath ((</>), addTrailingPathSeparator, takeFileName, takeDirectory)
99import System.Directory (createDirectoryIfMissing, copyFile)
1010
1111import Util.System
@@ -133,17 +133,20 @@ documentPkg :: FilePath -- ^ Path to .ipkg file.
133133documentPkg fp =
134134 do pkgdesc <- parseDesc fp
135135 cd <- getCurrentDirectory
136− let outputDir = cd </> (pkgname pkgdesc) ++ "_doc"
136+ let pkgDir = cd </> takeDirectory fp
137+ outputDir = cd </> (pkgname pkgdesc) ++ "_doc"
138+ opts = NoREPL : Verbose : idris_opts pkgdesc
137139 mods = modules pkgdesc
138140 fs = map (foldl1' (</>) . splitOn "." . showCG) mods
139− opts = NoREPL : Verbose : idris_opts pkgdesc
140− setCurrentDirectory $ cd </> sourcedir pkgdesc
141+ setCurrentDirectory $ pkgDir </> sourcedir pkgdesc
141142 make (makefile pkgdesc)
143+ setCurrentDirectory $ pkgDir
142144 let run l = runErrorT . (execStateT l)
143145 load [] = return ()
144146 load (f:fs) = do loadModule stdout f; load fs
145147 loader = do idrisMain opts; load fs
146148 idrisInstance <- run loader idrisInit
149+ setCurrentDirectory cd
147150 case idrisInstance of
148151 Left err -> do putStrLn $ pshow idrisInit err; exitWith (ExitFailure 1)
149152 Right ist ->