[Debian-med-packaging] infernal: another autoreconf issue (Was: staden: possibly undefined macro: AC_MSG_ERROR despite pkg-config was added to Build-Depends)

Yavor Doganov yavor at gnu.org
Sun Jul 15 21:33:36 BST 2018


Andreas Tille wrote:
> autoheader: warning: missing template: EASEL_COPYRIGHT
> autoheader: Use AC_DEFINE([EASEL_COPYRIGHT], [], [Description])

The problem here is that AC_DEFINE and AC_DEFINE_UNQUOTED are used to
define preprocessor symbols without the third argument which is the
description.  This is fine as long as AC_CONFIG_HEADERS is *not* used.
However, that is not the case -- there are three configuration headers
with separate calls to AC_CONFIG_HEADERS.

The simple, but kinda tiresome solution is to add a third argument to
every AC_DEFINE/AC_DEFINE_UNQUOTED call, like this:

AC_DEFINE_UNQUOTED([EASEL_COPYRIGHT], ["$EASEL_COPYRIGHT"],
                   [Easel copyright information.])

Some of the symbols are already documented in the templates provided
by upstream (the .h.in files) but they are invisible to autoheader.

You can also play with AH_TOP/AH_BOTTOM to construct a single
configuration header and put any special things that need to be in the
header templates verbatim, possibly #include'd based on some
conditional.  This is what I'd do if I was upstream, unless the
package really needs separate configuration headers (usually because
some of its components are distributed independently).  I guess this
is exactly what happened -- hhmer and easel were components (external
modules or bundled sources that have their own configure.ac) which
were combined together at some point.



More information about the Debian-med-packaging mailing list