>From cca288d94e1d1992dd157e43c5891213c87b46be Mon Sep 17 00:00:00 2001 Message-Id: From: Stefano Lattarini Date: Sat, 3 Mar 2012 10:44:25 +0100 Subject: [PATCH] configure: don't infloop when re-executing with $CONFIG_SHELL It turns out our guard against infinite recursion wasn't good enough when shells without $LINENO support were involved, since the creation-and-sourcing of configure.lineno broke the guard's expectations. Reports by Tim Rice and Paul Eggert. * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Export '_as_can_reexec' to "no" before sourcing the just-created configure.lineno. --- lib/m4sugar/m4sh.m4 | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4 index be013aa..f05346b 100644 --- a/lib/m4sugar/m4sh.m4 +++ b/lib/m4sugar/m4sh.m4 @@ -1199,6 +1199,10 @@ dnl Eggert wrote the scripts with optimization help from Paolo Bonzini). chmod +x "$as_me.lineno"] || AS_ERROR([cannot create $as_me.lineno; rerun with a POSIX shell]) + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). -- 1.7.9