From bb4a036f8383658cbc353699d90e56bd113fc14f Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 22 Sep 2010 15:55:26 -0600 Subject: [PATCH] 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 --- ChangeLog | 9 +++++++++ lib/autoconf/functions.m4 | 3 +++ tests/semantics.at | 6 ++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a1a451a5..0bcb10eb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-09-22 Eric Blake + + 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 AC_LIBOBJ: optimize internal use diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 index 70a7ddf3..f2048bfe 100644 --- a/lib/autoconf/functions.m4 +++ b/lib/autoconf/functions.m4 @@ -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(], [) ])], diff --git a/tests/semantics.at b/tests/semantics.at index 9fd08e04..0e287375 100644 --- a/tests/semantics.at +++ b/tests/semantics.at @@ -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]) -- 2.47.2