Skip to content

Commit c094940

Browse files
authored
Merge pull request #5143 from alexbiehl/pr/enable-documentation
Make --enable-documentation work
2 parents 669fe7a + 2fdb838 commit c094940

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

cabal-install/Distribution/Client/ProjectBuilding.hs

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -936,6 +936,13 @@ buildAndInstallUnpackedPackage verbosity
936936
annotateFailure mlogFile BuildFailed $
937937
setup buildCommand buildFlags
938938

939+
-- Haddock phase
940+
whenHaddock $ do
941+
when isParallelBuild $
942+
notice verbosity $ "Generating " ++ dispname ++ " documentation..."
943+
annotateFailureNoLog HaddocksFailed $
944+
setup haddockCommand haddockFlags
945+
939946
-- Install phase
940947
annotateFailure mlogFile InstallFailed $ do
941948

@@ -954,7 +961,7 @@ buildAndInstallUnpackedPackage verbosity
954961
-- While this breaks the prefix-relocatable property of the lirbaries
955962
-- it is necessary on macOS to stay under the load command limit of the
956963
-- macOS mach-o linker. See also @PackageHash.hashedInstalledPackageIdVeryShort@.
957-
otherFiles <- filter (not . isPrefixOf entryDir) <$> listFilesRecursive tmpDir
964+
otherFiles <- filter (not . isPrefixOf entryDir) <$> listFilesRecursive tmpDir
958965
-- here's where we could keep track of the installed files ourselves
959966
-- if we wanted to by making a manifest of the files in the tmp dir
960967
return (entryDir, otherFiles)
@@ -1022,6 +1029,10 @@ buildAndInstallUnpackedPackage verbosity
10221029

10231030
isParallelBuild = buildSettingNumJobs >= 2
10241031

1032+
whenHaddock action
1033+
| elabBuildHaddocks pkg = action
1034+
| otherwise = return ()
1035+
10251036
configureCommand = Cabal.configureCommand defaultProgramDb
10261037
configureFlags v = flip filterConfigureFlags v $
10271038
setupHsConfigureFlags rpkg pkgshared
@@ -1031,6 +1042,10 @@ buildAndInstallUnpackedPackage verbosity
10311042
buildCommand = Cabal.buildCommand defaultProgramDb
10321043
buildFlags _ = setupHsBuildFlags pkg pkgshared verbosity builddir
10331044

1045+
haddockCommand = Cabal.haddockCommand
1046+
haddockFlags _ = setupHsHaddockFlags pkg pkgshared
1047+
verbosity builddir
1048+
10341049
generateInstalledPackageInfo :: IO InstalledPackageInfo
10351050
generateInstalledPackageInfo =
10361051
withTempInstalledPackageInfoFile

cabal-install/Distribution/Client/ProjectConfig/Legacy.hs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,10 @@ convertToLegacySharedConfig :: ProjectConfig -> LegacySharedConfig
490490
convertToLegacySharedConfig
491491
ProjectConfig {
492492
projectConfigBuildOnly = ProjectConfigBuildOnly {..},
493-
projectConfigShared = ProjectConfigShared {..}
493+
projectConfigShared = ProjectConfigShared {..},
494+
projectConfigAllPackages = PackageConfig {
495+
packageConfigDocumentation
496+
}
494497
} =
495498

496499
LegacySharedConfig {
@@ -536,7 +539,7 @@ convertToLegacySharedConfig
536539
}
537540

538541
installFlags = InstallFlags {
539-
installDocumentation = mempty,
542+
installDocumentation = packageConfigDocumentation,
540543
installHaddockIndex = projectConfigHaddockIndex,
541544
installDest = Flag NoCopyDest,
542545
installDryRun = projectConfigDryRun,

cabal-install/Distribution/Client/ProjectPlanning.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1675,7 +1675,8 @@ elaborateInstallPlan verbosity platform compiler compilerprogdb pkgConfigDB
16751675
elabTestTargets = []
16761676
elabBenchTargets = []
16771677
elabReplTarget = Nothing
1678-
elabBuildHaddocks = False
1678+
elabBuildHaddocks =
1679+
perPkgOptionFlag pkgid False packageConfigDocumentation
16791680

16801681
elabPkgSourceLocation = srcloc
16811682
elabPkgSourceHash = Map.lookup pkgid sourcePackageHashes

0 commit comments

Comments
 (0)