diff --git a/Distribution/Simple/Haddock.hs b/Distribution/Simple/Haddock.hs index 6c6a549ae083ef767cb849764f7698d78008e51b..0810511ffbd105526f634b035cbbb5adce2e2e2c 100644 --- a/Distribution/Simple/Haddock.hs +++ b/Distribution/Simple/Haddock.hs @@ -319,28 +319,29 @@ hscolour pkg_descr lbi suffixes (HscolourFlags stylesheet doExes verbosity) = do withLib pkg_descr () $ \lib -> when (isJust $ library pkg_descr) $ do let bi = libBuildInfo lib - let modules = exposedModules lib ++ otherModules bi + modules = exposedModules lib ++ otherModules bi + outputDir = hscolourPref pkg_descr </> "src" + createDirectoryIfMissingVerbose verbosity True outputDir + copyCSS hscolourProg outputDir inFiles <- getModulePaths lbi bi modules - flip mapM_ (zip modules inFiles) $ \(mo, inFile) -> do - let outputDir = hscolourPref pkg_descr </> "src" + flip mapM_ (zip modules inFiles) $ \(mo, inFile) -> let outFile = outputDir </> replaceDot mo <.> "html" - createDirectoryIfMissingVerbose verbosity True outputDir - copyCSS hscolourProg outputDir - rawSystemProgram verbosity hscolourProg + in rawSystemProgram verbosity hscolourProg ["-css", "-anchor", "-o" ++ outFile, inFile] withExe pkg_descr $ \exe -> when doExes $ do let bi = buildInfo exe - let modules = "Main" : otherModules bi - let outputDir = hscolourPref pkg_descr </> exeName exe </> "src" + modules = "Main" : otherModules bi + outputDir = hscolourPref pkg_descr </> exeName exe </> "src" createDirectoryIfMissingVerbose verbosity True outputDir copyCSS hscolourProg outputDir srcMainPath <- findFile (hsSourceDirs bi) (modulePath exe) inFiles <- liftM (srcMainPath :) $ getModulePaths lbi bi (otherModules bi) - flip mapM_ (zip modules inFiles) $ \(mo, inFile) -> do + flip mapM_ (zip modules inFiles) $ \(mo, inFile) -> let outFile = outputDir </> replaceDot mo <.> "html" - rawSystemProgram verbosity hscolourProg + in rawSystemProgram verbosity hscolourProg ["-css", "-anchor", "-o" ++ outFile, inFile] + where copyCSS hscolourProg dir = case stylesheet of Nothing | programVersion hscolourProg >= Just (Version [1,9] []) -> rawSystemProgram verbosity hscolourProg