Hi Bruno, At 2026-07-31T23:55:09+0200, Bruno Haible wrote: > G. Branden Robinson wrote: > > > cp: cannot stat './doc/gnu.png': No such file or directory > > > cp: cannot stat './doc/line-layout.png': No such file or directory > > > make: *** [Makefile:20050: doc/groff.html] Error 1 > > > > > > If I need to use either "make -k" or "./configure > > > --enable-maintainer-mode", there's something wrong with the build > > > system. (I am not a maintainer of groff.) > > > > We've documented that you _do_ need to `--enable-maintainer-mode` to > > build groff from Git. > > From the AM_MAINTAINER_MODE documentation [1], it is clear that it is > meant for the case of re-building files that are under version > control.
Acknowledged.
> I would argue that if a file is *not* under version control and is
> needed by other targets, its rule should be enabled, regardless of
> --enable-maintainer-mode or not.
Here's the problem. Maybe you know of a better solution.
We include these PNG files in our Texinfo manual.
$ git grep @image doc/groff.texi.in
doc/groff.texi.in:@center @image{line-layout,4in,,line layout diagram,.png}
doc/groff.texi.in:@center @image{gnu,1in,,A wildebeest happily regards a
Gutenberg press.,.png}
The rendered forms of our Texinfo manual are in our distribution
archive (EXTRA_DIST).
We also include these PNG files in various groff-generated documents
that _aren't_ in our distribution archive.
And we support both in-tree and out-of-tree builds.
Upon making these seemingly small changes to our Texinfo manual, I ran
into the same difficulties Dimitris Papavasiliou reported today on the
help-texinfo list.
https://lists.gnu.org/archive/html/help-texinfo/2026-07/msg00000.html
[Dimitris: Here's how I solved it, but this Automake file is not for the
faint of heart. :(
https://cgit.git.savannah.gnu.org/cgit/groff.git/tree/doc/doc.am ]
Officially using maintainer mode is a very recent, post-rc1 change.
commit e2cd638955de3d8fb664529e76ff41bdc31a102e
Author: G. Branden Robinson <[email protected]>
Date: Sun Jul 19 08:38:32 2026 -0500
doc/doc.am: Employ `MAINTAINER_MODE`.
Use GNU Automake's "maintainer mode" to manage maintainer-mode targets.
* configure.ac: Interpolate `AM_MAINTAINER_MODE` macro with "disable"
argument.
* bootstrap: Note necessity of running the "configure" script with
`--enable-maintainer-mode` (when building from groff's Git
repository).
* doc/doc.am: Add targets produced only in maintainer mode to the
`MAINTAINERCLEANFILES` macro.
($(DOC_GNU_EPS)):
($(DOC_GNU_PNG)):
($(DOC_LINE_LAYOUT_EPS)):
($(DOC_LINE_LAYOUT_PNG)): Bracket existing target rules in
`MAINTAINER_MODE` Automake conditional. Add `else` branch defining
them with empty recipes for non-maintainer mode.
Fixes excessive build dependencies imposed on distribution archives.
Thanks to Alexis Hildebrandt for the report in
<https://lists.gnu.org/archive/html/groff/2026-07/msg00010.html>.
Does GNU Automake support a better method of satisfying our
requirements?
Regards,
Branden
signature.asc
Description: PGP signature
