From: Stefano Lattarini Date: Wed, 25 Jul 2012 17:51:27 +0000 (+0200) Subject: configure: testsuite shell set exit traps in shell functions X-Git-Tag: v1.12.3~31^2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f01805fef617d3bf860a58c708abcbb34767d77c;p=thirdparty%2Fautomake.git configure: testsuite shell set exit traps in shell functions * configure.ac: Check that the shell selected to run the test scripts can set an exit trap in a shell function, without having that trap executed at the termination of the function rather than of the scripts. According to the Autoconf manual, at least AUX 5.3 /bin/sh suffers of such a bug. Signed-off-by: Stefano Lattarini --- diff --git a/configure.ac b/configure.ac index a8db0614e..45143c0d8 100644 --- a/configure.ac +++ b/configure.ac @@ -318,6 +318,11 @@ AC_DEFUN([_AM_CHECK_CANDIDATE_SHELL], [set -e; trap 'exit $?' 0; (exit 77); exit 77], [], [am_score=1; break]) + _AM_CHECK_SHELL_FEATURE([$1], + [can define exit traps in a shell function], + [fail=0 && foo() { trap 'fail=1' 0; } && foo && test $fail = 0], + [], [am_score=1; break]) + _AM_CHECK_SHELL_FEATURE([$1], [corrupts stderr with "set -x"], [(set -x; P=1 true 2>&3) 3>&1 2>/dev/null | grep P=1],