Andreas Büning <andreas.buening <at> nexgo.de> writes: > > Since $gl_cv_func___va_copy != yes the code after else is executed > and "#define va_copy gl_va_copy" is inserted into config.h. Obviously, > it is intended to also define gl_va_copy in this case but AH_VERBATIM > is called with wrong syntax so that this statement has no effect. > > The autoconf manual says: > ---------------------------- > - Macro: AH_VERBATIM (KEY, TEMPLATE) > Tell `autoheader' to include the TEMPLATE as-is in the header > template file. This TEMPLATE is associated with the KEY, which is > used to sort all the different templates and guarantee their > uniqueness. It should be a symbol that can be `AC_DEFINE''d. Thanks for catching that. > Unfortunately, also AH_VERBATIM([_MY_KEY], [#define gl_va_copy(a,b) (a) = (b)]) > wouldn't work because (AFAIK) AH_VERBATIM is not expanded at run time (i.e., > by configure) but at "compile" time, i.e. by autoheader. This means Yes, but the definition is for gl_va_copy. If you have a working va_copy, it does not matter if gl_va_copy is defined, unused, in config.h. And if you have a missing va_copy, it is the subsequent AC_DEFINE([va_copy], [gl_va_copy]) that activates the definition. Meanwhile, is it worth patching autoconf/lib/autoheader.m4 to complain when $2 of AH_VERBATIM is empty, so this mistake is less likely to occur in the future? I'm installing this into gnulib: 2006-07-01 Eric Blake <ebb9@xxxxxxx> * stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM. Reported by Andreas Buening.
Index: m4/stdarg.m4 =================================================================== RCS file: /sources/gnulib/gnulib/m4/stdarg.m4,v retrieving revision 1.1 diff -u -p -r1.1 stdarg.m4 --- m4/stdarg.m4 8 May 2006 13:13:13 -0000 1.1 +++ m4/stdarg.m4 1 Jul 2006 20:41:16 -0000 @@ -31,7 +31,8 @@ error, bail out AC_DEFINE([va_copy], [__va_copy], [Define as a macro for copying va_list variables.]) else - AH_VERBATIM([#define gl_va_copy(a,b) (a) = (b)]) + AH_VERBATIM([gl_VA_COPY], [/* A replacement for va_copy, if needed. */ +#define gl_va_copy(a,b) (a) = (b)]) AC_DEFINE([va_copy], [gl_va_copy], [Define as a macro for copying va_list variables.]) fi
_______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf