Fail configure if tex is unavailable - #243
Merged
Merged
Conversation
Before this commit, configure will finish successfully if tex is missing, but make will still fail. Now we fail during configure with a hint to install TeX or skip the documentation build.
jrincayc
reviewed
Aug 31, 2026
Checking for tex was not enough to guarantee the manual builds: - texi2dvi, which builds the PDF, comes from GNU Texinfo rather than from a TeX distribution, so it can be absent on a machine that has tex. Automake hardcodes TEXI2DVI = texi2dvi with no configure probe. - makeinfo builds ucblogo.info and ucblogo.html. Neither is checked in and ucblogo.html is in doc_DATA, so make needs it. - texi2dvi --pdf runs pdfetex or pdftex. Plain tex is only used for DVI output, so it is not the binary this build invokes. Check all three and report every missing one in a single error. The variables are named HAVE_MAKEINFO, HAVE_TEXI2DVI and DOCS_PDFTEX because automake sets MAKEINFO to its missing wrapper, and TEX is an environment variable texi2dvi reads to choose an engine.
jrincayc
approved these changes
Sep 4, 2026
jrincayc
left a comment
Owner
There was a problem hiding this comment.
Reviewed and tested (example output from test:
checking enable_docs... yes
checking for makeinfo... yes
checking for texi2dvi... no
checking for pdfetex... pdfetex
configure: error: missing tools required to build the manual: texi2dvi
makeinfo and texi2dvi come from GNU Texinfo; pdftex comes from a TeX
distribution such as TeX Live or MacTeX.
Install them, or pass --disable-docs to skip documentation.
```
Approved.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#239
Background
configurewill finish successfully if the documentation toolchain is missing, butmakewill fail. Two issues:--disable-docscould save a somewhat heavy installation (mactexrequires ~10GB)Building the manual needs three programs:
makeinfobuildsucblogo.infoanducblogo.htmltexi2dvibuildsucblogo.pdfpdftex(orpdfetex) is whattexi2dvi --pdfactually runsProposed change
Fail at the
configurestep, reporting every missing tool in one message, with a hint to install them or skip the documentation build (--disable-docs).Tested
no Texinfo, no TeX (configure fails, lists all three)
Texinfo installed, no TeX (configure fails, names only
pdftex)TeX installed, no Texinfo (configure fails, names the Texinfo tools)
docs disabled, nothing installed (configure passes, no tool checks run)
everything installed (configure and make run successfully)