>From 97932886547c39d94e75a01b55885c7dc15d6a2d Mon Sep 17 00:00:00 2001 From: Ralf Wildenhues Date: Sun, 28 Feb 2010 14:35:31 +0100 Subject: [PATCH 1/4] Fix AS_ERROR for FreeBSD sh. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lib/m4sugar/m4sh.m4 (_AS_ERROR_PREPARE): Rewrite as_fn_error to take additional first argument STATUS instead of transporting $? across shell function entry, which does not work with FreeBSD sh. Shift all other arguments by one, adjust. (AS_ERROR): Pass EXIT-STATUS, defaulting to $?, to as_fn_error. * THANKS: Update. Report by Václav Haisman. Signed-off-by: Ralf Wildenhues --- ChangeLog | 11 +++++++++++ THANKS | 1 + lib/m4sugar/m4sh.m4 | 21 ++++++++++----------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 98e0b31..a3ee4a5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2010-02-28 Ralf Wildenhues + + Fix AS_ERROR for FreeBSD sh. + * lib/m4sugar/m4sh.m4 (_AS_ERROR_PREPARE): Rewrite as_fn_error + to take additional first argument STATUS instead of transporting + $? across shell function entry, which does not work with FreeBSD + sh. Shift all other arguments by one, adjust. + (AS_ERROR): Pass EXIT-STATUS, defaulting to $?, to as_fn_error. + * THANKS: Update. + Report by Václav Haisman. + 2010-02-26 Eric Blake Optimize AC_REPLACE_FUNCS. diff --git a/THANKS b/THANKS index 16dd8a3..ffa56de 100644 --- a/THANKS +++ b/THANKS @@ -388,6 +388,7 @@ Tomohiro Suzuki ? Tony Leneis address@hidden Toshio Kuratomi ? Uwe Seimet address@hidden +Václav Haisman address@hidden Vance Shipley address@hidden Viktor Dukhovni address@hidden Ville Karaila address@hidden diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 index 8160b3d..bfa6b44 100644 --- a/lib/m4sugar/m4sh.m4 +++ b/lib/m4sugar/m4sh.m4 @@ -816,22 +816,22 @@ m4_define([AS_WARN], # otherwise, assume the entire script does not do logging. m4_define([_AS_ERROR_PREPARE], [AS_REQUIRE_SHELL_FN([as_fn_error], - [AS_FUNCTION_DESCRIBE([as_fn_error], [ERROR]m4_ifval(AS_MESSAGE_LOG_FD, + [AS_FUNCTION_DESCRIBE([as_fn_error], [STATUS ERROR]m4_ifval(AS_MESSAGE_LOG_FD, [[ [[LINENO LOG_FD]]]]), [Output "`basename @S|@0`: error: ERROR" to stderr.] m4_ifval(AS_MESSAGE_LOG_FD, [[If LINENO and LOG_FD are provided, also output the error to LOG_FD, referencing LINENO.]]) - [Then exit the script with status $?, using 1 if that was 0.])], -[ as_status=$?; test $as_status -eq 0 && as_status=1 + [Then exit the script with STATUS, using 1 if that was 0.])], +[ as_status=$[1]; test $as_status -eq 0 && as_status=1 m4_ifval(AS_MESSAGE_LOG_FD, -[m4_pushdef([AS_MESSAGE_LOG_FD], [$[3]])dnl - if test "$[3]"; then - AS_LINENO_PUSH([$[2]]) - _AS_ECHO_LOG([error: $[1]]) +[m4_pushdef([AS_MESSAGE_LOG_FD], [$[4]])dnl + if test "$[4]"; then + AS_LINENO_PUSH([$[3]]) + _AS_ECHO_LOG([error: $[2]]) fi m4_define([AS_MESSAGE_LOG_FD])], [m4_pushdef([AS_MESSAGE_LOG_FD])])dnl - AS_MESSAGE([error: $[1]], [2]) + AS_MESSAGE([error: $[2]], [2]) _m4_popdef([AS_MESSAGE_LOG_FD])dnl AS_EXIT([$as_status])])]) @@ -842,9 +842,8 @@ _m4_popdef([AS_MESSAGE_LOG_FD])dnl m4_defun_init([AS_ERROR], [m4_append_uniq([_AS_CLEANUP], [m4_divert_text([M4SH-INIT-FN], [_AS_ERROR_PREPARE[]])])], -[m4_ifvaln([$2], [{ AS_SET_STATUS([$2])])]dnl -[as_fn_error "_AS_QUOTE([$1])"m4_ifval(AS_MESSAGE_LOG_FD, - [ "$LINENO" AS_MESSAGE_LOG_FD])[]m4_ifval([$2], [; }])]) +[as_fn_error m4_default([$2], [$?]) "_AS_QUOTE([$1])"m4_ifval(AS_MESSAGE_LOG_FD, + [ "$LINENO" AS_MESSAGE_LOG_FD])]) # AS_LINENO_PUSH([LINENO]) -- 1.7.0.rc1.161.g90487