summary refs log tree commit diff stats
path: root/m4/as-ac-expand.m4
diff options
context:
space:
mode:
authorTingPing <tingping@tingping.se>2014-01-14 00:51:48 -0500
committerTingPing <tingping@tingping.se>2014-01-14 00:51:48 -0500
commit0b52ec36762c0af7cad8f9b930f021565f3b56c7 (patch)
treefedfaed5c9f63c404a081623b470290661522e0c /m4/as-ac-expand.m4
parent599b9b0379a45bd542c399759c244bcbc6ca077c (diff)
Move acinclude.m4 into m4 dir
Diffstat (limited to 'm4/as-ac-expand.m4')
-rw-r--r--m4/as-ac-expand.m440
1 files changed, 40 insertions, 0 deletions
diff --git a/m4/as-ac-expand.m4 b/m4/as-ac-expand.m4
new file mode 100644
index 00000000..334c0dfa
--- /dev/null
+++ b/m4/as-ac-expand.m4
@@ -0,0 +1,40 @@
+dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
+dnl
+dnl example
+dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
+dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
+
+AC_DEFUN([AS_AC_EXPAND],
+[
+  EXP_VAR=[$1]
+  FROM_VAR=[$2]
+
+  dnl first expand prefix and exec_prefix if necessary
+  prefix_save=$prefix
+  exec_prefix_save=$exec_prefix
+
+  dnl if no prefix given, then use /usr/local, the default prefix
+  if test "x$prefix" = "xNONE"; then
+    prefix=$ac_default_prefix
+  fi
+  dnl if no exec_prefix given, then use prefix
+  if test "x$exec_prefix" = "xNONE"; then
+    exec_prefix=$prefix
+  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")
+
+  dnl restore prefix and exec_prefix
+  prefix=$prefix_save
+  exec_prefix=$exec_prefix_save
+])