summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2011-01-16 09:27:54 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2011-01-16 09:27:54 -0800
commit491eb00e403f9a796bbf1b5ae5be82b623ce579d (patch)
tree029af348639facf5ff605692f0221a6cc1d508be
parentab20da4be50c31a4c31574f73c74367aaea150f3 (diff)
Setup.hs: Only make pandoc.1 if README modified, be more verbose.
-rw-r--r--Setup.hs17
1 files changed, 14 insertions, 3 deletions
diff --git a/Setup.hs b/Setup.hs
index 829115642..632d6a1d8 100644
--- a/Setup.hs
+++ b/Setup.hs
@@ -52,9 +52,20 @@ runTestSuite args _ pkg lbi = do
makeManPages :: Args -> BuildFlags -> PackageDescription -> LocalBuildInfo -> IO ()
makeManPages _ flags _ bi = do
let pandocPath = (buildDir bi) </> "pandoc" </> "pandoc"
- makeManPage pandocPath (fromFlag $ buildVerbosity flags) "markdown2pdf.1"
- let testCmd = "runghc -package-conf=dist/package.conf.inplace MakeManPage.hs" -- makes pandoc.1 from README
- runCommand testCmd >>= waitForProcess >>= exitWith
+ let verbosity = fromFlag $ buildVerbosity flags
+ -- make markdown2pdf.1 from markdown2pdf.1.md
+ makeManPage pandocPath verbosity "markdown2pdf.1"
+ -- make pandoc.1 from README
+ let pandocpage = manDir </> "pandoc.1"
+ modifiedDeps <- modifiedDependencies pandocpage ["README"]
+ unless (null modifiedDeps) $ do
+ let cmd = "runghc -package-conf=dist/package.conf.inplace MakeManPage.hs"
+ ec <- runCommand cmd >>= waitForProcess
+ case ec of
+ ExitSuccess -> unless (verbosity == silent) $
+ putStrLn $ "Created " ++ pandocpage
+ ExitFailure n -> putStrLn ("Error creating " ++ pandocpage ++
+ ". Exit code = " ++ show n) >> exitWith ec
manpages :: [FilePath]
manpages = ["pandoc.1", "markdown2pdf.1"]