AC_REPLACE_FUNCS: allow split lines again

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>
This commit is contained in:
Eric Blake 2010-09-22 15:55:26 -06:00
parent 6117b5a630
commit bb4a036f83
3 changed files with 16 additions and 2 deletions

View File

@ -1,3 +1,12 @@
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

View File

@ -131,6 +131,9 @@ m4_define([_AC_REPLACE_FUNC],
# 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(], [)
])],

View File

@ -177,11 +177,13 @@ AT_DATA([config.in],
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])