[commit: ghc] wip/nfs-locking: Add --haddock command line flag. (7f2c6a1)
git at git.haskell.org
git at git.haskell.org
Fri Oct 27 00:17:40 UTC 2017
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/nfs-locking
Link : http://ghc.haskell.org/trac/ghc/changeset/7f2c6a1a360d5351fadc3ab9a6cfa322a56b797e/ghc
>---------------------------------------------------------------
commit 7f2c6a1a360d5351fadc3ab9a6cfa322a56b797e
Author: Andrey Mokhov <andrey.mokhov at gmail.com>
Date: Sun Feb 7 02:31:37 2016 +0000
Add --haddock command line flag.
See #98.
>---------------------------------------------------------------
7f2c6a1a360d5351fadc3ab9a6cfa322a56b797e
src/CmdLineFlag.hs | 18 ++++++++++++++----
src/Settings/User.hs | 2 +-
2 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/src/CmdLineFlag.hs b/src/CmdLineFlag.hs
index 0142abb..84d4f11 100644
--- a/src/CmdLineFlag.hs
+++ b/src/CmdLineFlag.hs
@@ -1,6 +1,6 @@
module CmdLineFlag (
- putCmdLineFlags, cmdFlags, cmdConfigure, Configure (..), cmdFlavour,
- Flavour (..), cmdProgressInfo, ProgressInfo (..), cmdSplitObjects
+ putCmdLineFlags, cmdFlags, cmdBuildHaddock, cmdConfigure, Configure (..),
+ cmdFlavour, Flavour (..), cmdProgressInfo, ProgressInfo (..), cmdSplitObjects
) where
import Data.List.Extra
@@ -18,7 +18,8 @@ data Flavour = Default | Quick deriving (Eq, Show)
-- command line. These flags are not tracked, that is they do not force any
-- build rules to be rurun.
data Untracked = Untracked
- { configure :: Configure
+ { buildHaddock :: Bool
+ , configure :: Configure
, flavour :: Flavour
, progressInfo :: ProgressInfo
, splitObjects :: Bool }
@@ -27,11 +28,15 @@ data Untracked = Untracked
-- | Default values for 'CmdLineFlag.Untracked'.
defaultUntracked :: Untracked
defaultUntracked = Untracked
- { configure = SkipConfigure
+ { buildHaddock = False
+ , configure = SkipConfigure
, flavour = Default
, progressInfo = Normal
, splitObjects = False }
+readBuildHaddock :: Either String (Untracked -> Untracked)
+readBuildHaddock = Right $ \flags -> flags { buildHaddock = True }
+
readConfigure :: Maybe String -> Either String (Untracked -> Untracked)
readConfigure ms =
maybe (Left "Cannot parse configure") (Right . set) (go $ lower <$> ms)
@@ -75,6 +80,8 @@ cmdFlags =
"Run configure with ARGS (also run boot if necessary)."
, Option [] ["flavour"] (OptArg readFlavour "FLAVOUR")
"Build flavour (Default or Quick)."
+ , Option [] ["haddock"] (NoArg readBuildHaddock)
+ "Generate Haddock documentation."
, Option [] ["progress-info"] (OptArg readProgressInfo "STYLE")
"Progress info style (None, Brief, Normal, or Unicorn)."
, Option [] ["split-objects"] (NoArg readSplitObjects)
@@ -93,6 +100,9 @@ putCmdLineFlags flags = modifyIORef cmdLineFlags (\f -> foldl (flip id) f flags)
getCmdLineFlags :: Untracked
getCmdLineFlags = unsafePerformIO $ readIORef cmdLineFlags
+cmdBuildHaddock :: Bool
+cmdBuildHaddock = buildHaddock getCmdLineFlags
+
cmdConfigure :: Configure
cmdConfigure = configure getCmdLineFlags
diff --git a/src/Settings/User.hs b/src/Settings/User.hs
index 2cf39aa..dd6150a 100644
--- a/src/Settings/User.hs
+++ b/src/Settings/User.hs
@@ -84,7 +84,7 @@ laxDependencies :: Bool
laxDependencies = False
buildHaddock :: Predicate
-buildHaddock = return False -- FIXME: should be return True, see #98
+buildHaddock = return cmdBuildHaddock
-- | Set to True to print full command lines during the build process. Note,
-- this is a Predicate, hence you can enable verbose output for a chosen package
More information about the ghc-commits
mailing list