+# SPDX-License-Identifier: GPL-2.0-or-later WITH Autoconf-exception-2.0
+#
# ===========================================================================
# https://www.gnu.org/software/autoconf-archive/ax_recursive_eval.html
# ===========================================================================
# DESCRIPTION
#
# Interpolate the VALUE in loop until it doesn't change, and set the
-# result to $RESULT. WARNING: It's easy to get an infinite loop with some
-# unsane input.
+# result to $RESULT. This version has a recursion limit (10).
#
# LICENSE
#
# Copyright (c) 2008 Alexandre Duret-Lutz <adl@gnu.org>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
-# Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program. If not, see <https://www.gnu.org/licenses/>.
-#
-# As a special exception, the respective Autoconf Macro's copyright owner
-# gives unlimited permission to copy, distribute and modify the configure
-# scripts that are the output of Autoconf when processing the Macro. You
-# need not follow the terms of the GNU General Public License when using
-# or distributing such scripts, even though portions of the text of the
-# Macro appear in them. The GNU General Public License (GPL) does govern
-# all other use of the material that constitutes the Autoconf Macro.
-#
-# This special exception to the GPL applies to versions of the Autoconf
-# Macro released by the Autoconf Archive. When you make and distribute a
-# modified version of the Autoconf Macro, you may extend this special
-# exception to the GPL to apply to your modified version as well.
-
-#serial 1
+# Copyright (c) 2024 David Lamparter <equinox@opensourcerouting.org>
AC_DEFUN([AX_RECURSIVE_EVAL],
[_lcl_receval="$1"
$2=`(test "x$prefix" = xNONE && prefix="$ac_default_prefix"
test "x$exec_prefix" = xNONE && exec_prefix="${prefix}"
_lcl_receval_old=''
- while test "[$]_lcl_receval_old" != "[$]_lcl_receval"; do
+ for _rec_limit in 1 2 3 4 5 6 7 8 9 10; do
+ test "[$]_lcl_receval_old" = "[$]_lcl_receval" && break
_lcl_receval_old="[$]_lcl_receval"
eval _lcl_receval="\"[$]_lcl_receval\""
done