Subject: bug#52256: conditional info pages don't work

From: Mike Frysinger <[email-masked]>
Date: Thu, 2 Dec 2021 23:58:38 -0500

the gdb/binutils/gcc projects don't commit info pages to the git tree.
but people build them from git on old distros semi-frequently.  so the
tree handles things like old versions of makeinfo -- if a version is
too old, then info pages aren't built.

unfortunately, automake doesn't seem to handle this situation correctly.
it wants to always build the .info pages even when they're under an
automake conditional that is disabled.

consider the attached files which are a reduced testcase.  the texinfo
file has errors in it purely to show the automake issue.

$ autoconf --version | head -1
autoconf (GNU Autoconf) 2.71
$ automake --version | head -1
automake (GNU automake) 1.16.5
$ autoreconf -fi
$ ./configure -q
$ make
  MAKEINFO ctf-spec.info
ctf-spec.texi:2: unknown command `forcedError'
make: *** [Makefile:327: ctf-spec.info] Error 1

if i add a stub target in the Makefile.am, it works correctly:

--- a/Makefile.am
+++ b/Makefile.am
@@ -2,4 +2,6 @@
 info_TEXINFOS =
 if BUILD_INFO
 info_TEXINFOS += ctf-spec.texi
+else
+ctf-spec.info:
 endif

$ autoreconf -fi
$ ./configure -q
$ make
make: Nothing to be done for 'all'.
-mike