ref: 7bdfda840962e0de7442c4f58d37ca1f560a5797
parent: cce13ed7129a06fe7454f9e10906cb6663de45f7
author: Simon Tatham <anakin@pobox.com>
date: Sat May 13 14:55:52 EDT 2017
Switch to using Halibut's new direct .CHM generation. This allows me to remove HTML Help Workshop completely from my build dependencies, and good riddance!
--- a/Buildscr
+++ b/Buildscr
@@ -51,14 +51,10 @@
# Build the Windows binaries and installer, and the CHM file.
in puzzles do make -f Makefile.doc clean
-in puzzles do make -f Makefile.doc chm
-in puzzles do make -f Makefile.doc # build help file for installer
+in puzzles do make -f Makefile.doc # build help files for installer
in puzzles do mason.pl --args '{"version":"$(Version)","descfile":"gamedesc.txt"}' winwix.mc > puzzles.wxs
in puzzles do perl winiss.pl $(Version) gamedesc.txt > puzzles.iss
delegate windows
- # Ignore the poorly controlled return value from HHC, and instead
- # just test that the output file was generated.
- in puzzles with htmlhelp do/win hhc puzzles.hhp & type puzzles.chm >nul
# FIXME: Cygwin alternative?
in puzzles with visualstudio do/win nmake -f Makefile.vc clean
in puzzles with visualstudio do/win nmake -f Makefile.vc VER=-DVER=$(Version)
@@ -72,7 +68,6 @@
in puzzles with wix do/win candle puzzles.wxs && light -ext WixUIExtension -sval puzzles.wixobj
in puzzles with innosetup do/win iscc puzzles.iss
ifneq "$(winsigncode)" "" in puzzles do $(winsigncode) -i https://www.chiark.greenend.org.uk/~sgtatham/puzzles/ -n "Simon Tatham's Portable Puzzle Collection Installer" puzzles.msi Output/installer.exe
- return puzzles/puzzles.chm
return puzzles/*.exe
return puzzles/Output/installer.exe
return puzzles/puzzles.msi
@@ -114,9 +109,7 @@
# return puzzles/puzzles.armv4.cab
#enddelegate
-# Build the help file and the HTML docs.
-in puzzles do make -f Makefile.doc clean # remove CHM-target HTML
-in puzzles do make -f Makefile.doc # and rebuild help file...
+# Build the HTML docs.
in puzzles do mkdir doc
in puzzles do mkdir devel
in puzzles/doc do halibut --html -Chtml-contents-filename:index.html -Chtml-index-filename:indexpage.html -Chtml-template-filename:%k.html -Chtml-template-fragment:%k ../puzzles.but
--- a/Makefile.doc
+++ b/Makefile.doc
@@ -1,17 +1,17 @@
-all: puzzles.hlp puzzles.txt HACKING
+all: puzzles.chm puzzles.hlp puzzles.txt HACKING
preprocessed.but: puzzles.but
sed 's/PREFIX-/$(BINPREFIX)/g' puzzles.but > preprocessed.but
-puzzles.hlp puzzles.txt: preprocessed.but
- halibut --winhelp=puzzles.hlp --text=puzzles.txt preprocessed.but
+puzzles.chm: preprocessed.but
+ halibut --chm=puzzles.chm preprocessed.but
+puzzles.hlp: preprocessed.but
+ halibut --winhelp=puzzles.hlp preprocessed.but
+puzzles.txt: preprocessed.but
+ halibut --text=puzzles.txt preprocessed.but
HACKING: devel.but
halibut --text=HACKING devel.but
-
-chm: puzzles.hhp
-puzzles.hhp: puzzles.but chm.but
- halibut --html puzzles.but chm.but
clean:
rm -f puzzles.hlp puzzles.txt preprocessed.but HACKING *.html *.hh[pck]
--- a/chm.but
+++ /dev/null
@@ -1,21 +1,0 @@
-\# File containing the magic HTML configuration directives to create
-\# an MS HTML Help project. We put this on the end of the Puzzles
-\# docs build command line to build the HHP and friends.
-
-\cfg{html-leaf-level}{infinite}
-\cfg{html-leaf-contains-contents}{false}
-\cfg{html-suppress-navlinks}{true}
-\cfg{html-suppress-address}{true}
-
-\cfg{html-contents-filename}{index.html}
-\cfg{html-template-filename}{%k.html}
-\cfg{html-template-fragment}{%k}
-
-\cfg{html-mshtmlhelp-chm}{puzzles.chm}
-\cfg{html-mshtmlhelp-project}{puzzles.hhp}
-\cfg{html-mshtmlhelp-contents}{puzzles.hhc}
-\cfg{html-mshtmlhelp-index}{puzzles.hhk}
-
-\cfg{html-body-end}{}
-
-\cfg{html-head-end}{<link rel="stylesheet" type="text/css" href="chm.css">}
--- a/puzzles.but
+++ b/puzzles.but
@@ -13,6 +13,12 @@
\cfg{html-contents-depth-1}{2}
\cfg{html-leaf-contains-contents}{true}
+\cfg{chm-filename}{puzzles.chm}
+\cfg{chm-contents-filename}{index.html}
+\cfg{chm-template-filename}{%k.html}
+\cfg{chm-head-end}{<link rel="stylesheet" type="text/css" href="chm.css">}
+\cfg{chm-extra-file}{chm.css}
+
\cfg{info-filename}{puzzles.info}
\cfg{ps-filename}{puzzles.ps}