More fallout from the same 2.66 regression that was partially fixed
yesterday, but until yesterday's AS_LITERAL_IF actually treated \ as a
non-literal, apparently no one noticed the latent bug of a spurious
call to AC_CHECK_FUNC([\]) during automake's libobj5.test.
* lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Flatten newlines
and move guts...
(_AC_REPLACE_FUNCS): ...to new helper.
* tests/semantics.at (AC_REPLACE_FUNCS): Enhance test.
Reported by Ralf Wildenhues.
Signed-off-by: Eric Blake <eblake@redhat.com>
+2010-09-22 Eric Blake <eblake@redhat.com>
+
+ AC_REPLACE_FUNCS: allow split lines again
+ * lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Flatten newlines
+ and move guts...
+ (_AC_REPLACE_FUNCS): ...to new helper.
+ * tests/semantics.at (AC_REPLACE_FUNCS): Enhance test.
+ Reported by Ralf Wildenhues.
+
2010-09-21 Eric Blake <eblake@redhat.com>
AC_LIBOBJ: optimize internal use
# equivalent of AC_CHECK_FUNC, then call AC_LIBOBJ if the function
# was not found.
AC_DEFUN([AC_REPLACE_FUNCS],
+[_$0(m4_flatten([$1]))])
+
+m4_define([_AC_REPLACE_FUNCS],
[AS_LITERAL_IF([$1],
[m4_map_args_w([$1], [_AC_REPLACE_FUNC(], [)
])],
AT_CONFIGURE_AC(
[AC_CONFIG_FILES([config.libobjs:config.in])
-AC_REPLACE_FUNCS([printf autoconf_ftnirp])
+AC_REPLACE_FUNCS([printf \
+autoconf_ftnirp])
funcs='fprintf autoconf_ftnirpf'
AH_TEMPLATE([HAVE_FPRINTF], [])
AH_TEMPLATE([HAVE_AUTOCONF_FTNIRPF], [])
-AC_REPLACE_FUNCS([$funcs])
+AC_REPLACE_FUNCS([\
+$funcs])
AS_UNSET([funcs])])
AT_CHECK_AUTOCONF([-W obsolete])