diff options
Diffstat (limited to 'haddock-api')
| -rw-r--r-- | haddock-api/src/Haddock.hs | 7 | ||||
| -rw-r--r-- | haddock-api/src/Haddock/Options.hs | 9 | 
2 files changed, 13 insertions, 3 deletions
diff --git a/haddock-api/src/Haddock.hs b/haddock-api/src/Haddock.hs index 3543d8e2..8bf932df 100644 --- a/haddock-api/src/Haddock.hs +++ b/haddock-api/src/Haddock.hs @@ -151,12 +151,17 @@ haddockWithGhc ghc args = handleTopExceptions $ do    sinceQual <- rightOrThrowE (sinceQualification flags)    -- inject dynamic-too into flags before we proceed -  flags' <- ghc flags $ do +  flags'' <- ghc flags $ do          df <- getDynFlags          case lookup "GHC Dynamic" (compilerInfo df) of            Just "YES" -> return $ Flag_OptGhc "-dynamic-too" : flags            _ -> return flags +  flags' <- pure $ case optParCount flags'' of +    Nothing       -> flags'' +    Just Nothing  -> Flag_OptGhc "-j" : flags'' +    Just (Just n) -> Flag_OptGhc ("-j" ++ show n) : flags'' +    -- bypass the interface version check    let noChecks = Flag_BypassInterfaceVersonCheck `elem` flags diff --git a/haddock-api/src/Haddock/Options.hs b/haddock-api/src/Haddock/Options.hs index eda40935..65aacc61 100644 --- a/haddock-api/src/Haddock/Options.hs +++ b/haddock-api/src/Haddock/Options.hs @@ -24,6 +24,7 @@ module Haddock.Options (    optSourceCssFile,    sourceUrls,    wikiUrls, +  optParCount,    optDumpInterfaceFile,    optShowInterfaceFile,    optLaTeXStyle, @@ -110,6 +111,7 @@ data Flag    | Flag_PackageVersion String    | Flag_Reexport String    | Flag_SinceQualification String +  | Flag_ParCount (Maybe Int)    deriving (Eq, Show) @@ -221,7 +223,9 @@ options backwardsCompat =      Option [] ["package-version"] (ReqArg Flag_PackageVersion "VERSION")        "version of the package being documented in usual x.y.z.w format",      Option []  ["since-qual"] (ReqArg Flag_SinceQualification "QUAL") -      "package qualification of @since, one of\n'always' (default) or 'only-external'" +      "package qualification of @since, one of\n'always' (default) or 'only-external'", +    Option ['j'] [] (OptArg (\count -> Flag_ParCount (fmap read count)) "n") +      "load modules in parallel"    ] @@ -304,10 +308,11 @@ optShowInterfaceFile flags = optLast [ str | Flag_ShowInterface str <- flags ]  optLaTeXStyle :: [Flag] -> Maybe String  optLaTeXStyle flags = optLast [ str | Flag_LaTeXStyle str <- flags ] -  optMathjax :: [Flag] -> Maybe String  optMathjax flags = optLast [ str | Flag_Mathjax str <- flags ] +optParCount :: [Flag] -> Maybe (Maybe Int) +optParCount flags = optLast [ n | Flag_ParCount n <- flags ]  qualification :: [Flag] -> Either String QualOption  qualification flags =  | 
