On Wed, Feb 08, 2006 at 11:47:37PM -0600, Robert Lowe wrote:
Hi,
Until today I had never tried autoreconf. I have always used a simple
shell script like:
<snipped>
The script runs just fine, but autoreconf complained about my use of
AC_CREATE_STDINT_H, insisting that I use m4_pattern_allow, which I
did, and the problem vanished. But, would anyone explain what
happened and why? Does it perhaps have anything to do with the fact
that this macro is the only one I am using named AC_*, rather than say
ACX_*?
The `autoconf' program presents this warning; I suspect the cause is a
difference in the way your bootstrap script and autoreconf call `aclocal'.
After `autoconf' generates your configure script, it greps the script for
strings that look like typical macro names. If `configure' contains the literal
name of a macro, that is often a sign of either excessive m4 quoting or missing
macro definitions.
I'll guess that in this case, AC_CREATE_STDINT_H is a macro defined by a file in
your `m4' directory.
When you invoke `autoreconf', it does not pass `-I m4' to
`aclocal', so `autoconf' never has the definition of that macro. Using
m4_pattern_allow clears the warning, but it does not yield a fully functional
configure script. The fix, if you use Automake, is to put `ACLOCAL_AMFLAGS = -I
m4' in Makefile.am. If you do not use Automake, there is no good solution at
this time. `autoreconf' should support that case better. In the mean time,
you may wish to retain your custom script.