Skip to content

build: hard-fail configure if asciidoctor is missing#4086

Open
grandixximo wants to merge 1 commit into
LinuxCNC:masterfrom
grandixximo:fix/asciidoctor-required-for-manpages
Open

build: hard-fail configure if asciidoctor is missing#4086
grandixximo wants to merge 1 commit into
LinuxCNC:masterfrom
grandixximo:fix/asciidoctor-required-for-manpages

Conversation

@grandixximo
Copy link
Copy Markdown
Contributor

Summary

Fixes #4084.

The manpage build rule at docs/src/Submakefile:1127 invokes asciidoctor for every halcompile-built manpage (5axisgui.1 etc.), independent of --enable-build-documentation. The configure probe added by the asciidoctor migration (#4053) was nested inside if BUILD_DOCS = yes, so a plain ./configure --enable-run-in-place (no docs opt-in) silently passed and make later crashed with asciidoctor: command not found.

This PR moves the probe out of the BUILD_DOCS gate and promotes the warning to a hard error pointing at the package name on Debian / Fedora / RubyGems. The PDF / HTML / Rouge probes stay gated since they only matter when --enable-build-documentation was passed.

Test plan

  • configure.ac edit preserves indentation of every untouched line (blame intact on the GS / RSVG / Rouge probes).
  • With asciidoctor installed: ./configure --enable-run-in-place succeeds and make ../docs/man/man1/5axisgui.1 builds the manpage.
  • After apt remove asciidoctor: ./configure --enable-run-in-place aborts with configure: error: no asciidoctor, manpages cannot be built (followed by the per-distro install hint) instead of failing inside make.

The manpage build rule in docs/src/Submakefile invokes asciidoctor for
every halcompile-built manpage, independent of
--enable-build-documentation.  The configure probe for it was nested
inside `if BUILD_DOCS = yes`, so a plain `./configure
--enable-run-in-place` (no docs opt-in) silently passed and later
crashed make with `asciidoctor: command not found` (issue LinuxCNC#4084).

Move the probe out of the BUILD_DOCS gate and promote the warning to a
hard error pointing at the package name on Debian / Fedora / RubyGems.
The PDF / HTML / Rouge probes stay gated since they only matter when
--enable-build-documentation was passed.
@BsAtHome
Copy link
Copy Markdown
Contributor

In debian/control.top.in you have:

    asciidoctor <!nodoc>,

Shouldn't you also remove the nodoc tag because halcompile needs it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

master: make fails on missing asciidoctor

2 participants