diff options
-rw-r--r-- | m4/as-ac-expand.m4 | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/m4/as-ac-expand.m4 b/m4/as-ac-expand.m4 new file mode 100644 index 0000000..f3393a2 --- /dev/null +++ b/m4/as-ac-expand.m4 @@ -0,0 +1,34 @@ +dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR) +dnl example +dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir) +dnl will set SYSCONFDIR to /usr/local/etc + +AC_DEFUN(AS_AC_EXPAND, +[ + EXP_VAR=[$1] + FROM_VAR=[$2] + + dnl first expand prefix and exec_prefix if necessary + prefix_save=$prefix + if test "x$prefix" = "xNONE"; then + prefix=/usr/local + fi + exec_prefix_save=$exec_prefix + if test "x$exec_prefix" = "xNONE"; then + exec_prefix=/usr/local + fi + + full_var="$FROM_VAR" + dnl loop until it doesn't change anymore + while true; do + new_full_var="`eval echo $full_var`" + if test "x$new_full_var"="x$full_var"; then break; fi + full_var=$new_full_var + done + + dnl clean up + full_var=$new_full_var + AC_SUBST([$1], "$full_var") + prefix=$prefix_save + exec_prefix=$exec_prefix_save +]) |