import of rt 3.0.4
[freeside.git] / rt / m4 / rt_expand_var.m4
diff --git a/rt/m4/rt_expand_var.m4 b/rt/m4/rt_expand_var.m4
new file mode 100644 (file)
index 0000000..cec884a
--- /dev/null
@@ -0,0 +1,18 @@
+dnl
+dnl @synopsis  RT_EXPAND_VAR(baz, $fraz)
+dnl
+dnl Iteratively expands the second parameter, until successive iterations
+dnl yield no change. The result is then assigned to the first parameter.
+dnl
+dnl This code is heavily borrowed from the Apache 2 codebase.
+dnl
+
+AC_DEFUN([RT_EXPAND_VAR],[
+       ap_last=''
+       ap_cur='$2'
+       while test "x${ap_cur}" != "x${ap_last}"; do
+               ap_last="${ap_cur}"
+               ap_cur=`eval "echo ${ap_cur}"`
+       done
+       $1="${ap_cur}"
+])