[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