@@ -49,7 +49,7 @@ import Distribution.Simple.PreProcess
49
49
import Distribution.Simple.Setup
50
50
( defaultHscolourFlags
51
51
, Flag (.. ), toFlag , flagToMaybe , flagToList , fromFlag
52
- , HaddockFlags (.. ), HscolourFlags (.. ) )
52
+ , fromFlagOrDefault , HaddockFlags (.. ), HscolourFlags (.. ) )
53
53
import Distribution.Simple.Build (initialBuildSteps )
54
54
import Distribution.Simple.InstallDirs
55
55
( InstallDirs (.. )
@@ -218,7 +218,8 @@ haddock pkg_descr lbi suffixes flags' = do
218
218
let commonArgs = mconcat
219
219
[ libdirArgs
220
220
, fromFlags (haddockTemplateEnv lbi (packageId pkg_descr)) flags
221
- , fromPackageDescription pkg_descr ]
221
+ , fromPackageDescription forDist pkg_descr ]
222
+ forDist = fromFlagOrDefault False (haddockForHackage flags)
222
223
223
224
let pre c = preprocessComponent pkg_descr c lbi False verbosity suffixes
224
225
withAllComponentsInBuildOrder pkg_descr lbi $ \ component clbi -> do
@@ -278,19 +279,21 @@ fromFlags env flags =
278
279
argOutputDir = maybe mempty Dir . flagToMaybe $ haddockDistPref flags
279
280
}
280
281
281
- fromPackageDescription :: PackageDescription -> HaddockArgs
282
- fromPackageDescription pkg_descr =
282
+ fromPackageDescription :: Bool -> PackageDescription -> HaddockArgs
283
+ fromPackageDescription forDist pkg_descr =
283
284
mempty { argInterfaceFile = Flag $ haddockName pkg_descr,
284
285
argPackageName = Flag $ packageId $ pkg_descr,
285
- argOutputDir = Dir $ " doc" </> " html"
286
- </> display (packageName pkg_descr),
286
+ argOutputDir = Dir $ " doc" </> " html" </> name,
287
287
argPrologue = Flag $ if null desc then synopsis pkg_descr
288
288
else desc,
289
289
argTitle = Flag $ showPkg ++ subtitle
290
290
}
291
291
where
292
292
desc = PD. description pkg_descr
293
293
showPkg = display (packageId pkg_descr)
294
+ name
295
+ | forDist = showPkg ++ " -docs"
296
+ | otherwise = display (packageName pkg_descr)
294
297
subtitle | null (synopsis pkg_descr) = " "
295
298
| otherwise = " : " ++ synopsis pkg_descr
296
299
0 commit comments