diff options
author | Björn Gohla <b.gohla@gmx.de> | 2019-08-30 20:13:08 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-09-23 17:53:23 -0400 |
commit | 9fe4d2df9f728f6bc799001b47c861619a90db11 (patch) | |
tree | 6080e229fcfb9be091a725b9f54bbbd2ee04030a /hadrian | |
parent | b0e3b173566e04eeee9241a700ffb3998d13a72c (diff) | |
download | haskell-9fe4d2df9f728f6bc799001b47c861619a90db11.tar.gz |
explicit dependence on makeinfo
Diffstat (limited to 'hadrian')
-rw-r--r-- | hadrian/cfg/system.config.in | 1 | ||||
-rw-r--r-- | hadrian/src/Builder.hs | 5 | ||||
-rw-r--r-- | hadrian/src/Rules/Documentation.hs | 12 |
3 files changed, 13 insertions, 5 deletions
diff --git a/hadrian/cfg/system.config.in b/hadrian/cfg/system.config.in index e826db035a..35ba2c4052 100644 --- a/hadrian/cfg/system.config.in +++ b/hadrian/cfg/system.config.in @@ -24,6 +24,7 @@ system-ghc-pkg = @GhcPkgCmd@ tar = @TarCmd@ patch = @PatchCmd@ xelatex = @XELATEX@ +makeinfo = @MAKEINFO@ # Python 3 is required to run test driver. # See: https://github.com/ghc/ghc/blob/master/testsuite/mk/boilerplate.mk#L220 diff --git a/hadrian/src/Builder.hs b/hadrian/src/Builder.hs index 892f89772d..c2e1056f43 100644 --- a/hadrian/src/Builder.hs +++ b/hadrian/src/Builder.hs @@ -137,6 +137,7 @@ data Builder = Alex | Tar TarMode | Unlit | Xelatex + | Makeinfo deriving (Eq, Generic, Show) instance Binary Builder @@ -279,6 +280,9 @@ instance H.Builder Builder where Exit _ <- cmd echo [path] (buildArgs ++ [input]) return () + Makeinfo -> do + cmd echo [path] "--no-split" [ "-o", output] [input] + _ -> cmd echo [path] buildArgs -- TODO: Some builders are required only on certain platforms. For example, @@ -316,6 +320,7 @@ systemBuilderPath builder = case builder of Sphinx _ -> fromKey "sphinx-build" Tar _ -> fromKey "tar" Xelatex -> fromKey "xelatex" + Makeinfo -> fromKey "makeinfo" _ -> error $ "No entry for " ++ show builder ++ inCfg where inCfg = " in " ++ quote configFile ++ " file." diff --git a/hadrian/src/Rules/Documentation.hs b/hadrian/src/Rules/Documentation.hs index 74c877a4e3..1326cb5a89 100644 --- a/hadrian/src/Rules/Documentation.hs +++ b/hadrian/src/Rules/Documentation.hs @@ -262,7 +262,7 @@ buildSphinxPdf path = do build $ target docContext Xelatex [path <.> "tex"] [dir] copyFileUntracked (dir -/- path <.> "pdf") file ------------------------------------- Info -- ----------------------------------- +------------------------------------ Info -------------------------------------- -- | Build the user guide as an Info hypertext buildSphinxInfoGuide :: Rules () @@ -276,10 +276,12 @@ buildSphinxInfoGuide = do need (map (rstFilesDir -/-) rstFiles) build $ target docContext (Sphinx Info) [pathPath path] [dir] -- Sphinx outputs texinfo source and a makefile, the - -- default target actually produces the target for this - -- build rule. - build $ target docContext (Make dir) ["Makefile"] [dir] - copyFileUntracked (dir -/- path <.> "info") file + -- default target of which actually produces the target + -- for this build rule. + let p = dir -/- path + let [texipath, infopath] = map (p <.>) ["texi", "info"] + build $ target docContext (Makeinfo) [texipath] [infopath] + copyFileUntracked infopath file ------------------------------------ Archive ----------------------------------- |