gmyth-stream/gmemcoder/m4/as-expand.m4
author renatofilho
Tue May 01 22:19:50 2007 +0100 (2007-05-01)
branchtrunk
changeset 615 4fda44a11929
permissions -rw-r--r--
[svn r621] added test file
renatofilho@584
     1
dnl AS_AC_EXPAND(VAR, CONFIGURE_VAR)
renatofilho@584
     2
dnl
renatofilho@584
     3
dnl example
renatofilho@584
     4
dnl AS_AC_EXPAND(SYSCONFDIR, $sysconfdir)
renatofilho@584
     5
dnl will set SYSCONFDIR to /usr/local/etc if prefix=/usr/local
renatofilho@584
     6
renatofilho@584
     7
AC_DEFUN([AS_AC_EXPAND],
renatofilho@584
     8
[
renatofilho@584
     9
  EXP_VAR=[$1]
renatofilho@584
    10
  FROM_VAR=[$2]
renatofilho@584
    11
renatofilho@584
    12
  dnl first expand prefix and exec_prefix if necessary
renatofilho@584
    13
  prefix_save=$prefix
renatofilho@584
    14
  exec_prefix_save=$exec_prefix
renatofilho@584
    15
renatofilho@584
    16
  dnl if no prefix given, then use /usr/local, the default prefix
renatofilho@584
    17
  if test "x$prefix" = "xNONE"; then
renatofilho@584
    18
    prefix=$ac_default_prefix
renatofilho@584
    19
  fi
renatofilho@584
    20
  dnl if no exec_prefix given, then use prefix
renatofilho@584
    21
  if test "x$exec_prefix" = "xNONE"; then
renatofilho@584
    22
    exec_prefix=$prefix
renatofilho@584
    23
  fi
renatofilho@584
    24
renatofilho@584
    25
  full_var="$FROM_VAR"
renatofilho@584
    26
  dnl loop until it doesn't change anymore
renatofilho@584
    27
  while true; do
renatofilho@584
    28
    new_full_var="`eval echo $full_var`"
renatofilho@584
    29
    if test "x$new_full_var"="x$full_var"; then break; fi
renatofilho@584
    30
    full_var=$new_full_var
renatofilho@584
    31
  done
renatofilho@584
    32
renatofilho@584
    33
  dnl clean up
renatofilho@584
    34
  full_var=$new_full_var
renatofilho@584
    35
  AC_SUBST([$1], "$full_var")
renatofilho@584
    36
renatofilho@584
    37
  dnl restore prefix and exec_prefix
renatofilho@584
    38
  prefix=$prefix_save
renatofilho@584
    39
  exec_prefix=$exec_prefix_save
renatofilho@584
    40
])