chiark / gitweb /
d3089e69fbe2a1b8b5b6e05828fa6fb07366b674
[runlisp] / m4 / mdw-define-paths.m4
1 dnl -*-autoconf-*-
2
3 dnl --- *@-mdw_DEFINE_PATHS-@*
4 dnl
5 dnl Author:     Mark Wooding
6 dnl
7 dnl Synopsis:   mdw_DEFINE_PATHS(CODE)
8 dnl
9 dnl Arguments:  CODE = shell script code to execute
10 dnl
11 dnl Use:        Fixes up various variables so that pathname defines can be
12 dnl             defined.  Within CODE, you may use the following macros:
13 dnl
14 dnl             mdw_PROG(NAME)          Transformed program name
15 dnl
16 dnl             mdw_PATH(PATH)          Expanded path (may contain variables)
17 dnl
18 dnl             mdw_DEFINE_PROG(SYMBOL, PROG)
19 dnl                                     Define a symbol as a transformed
20 dnl                                     program name.
21 dnl
22 dnl             mdw_DEFINE_PATH(SYMBOL, NAME)
23 dnl                                     Define a symbol as an expanded path
24
25 AC_DEFUN([mdw_DEFINE_PATHS],
26 [mdw_prefix=$prefix mdw_exec_prefix=$exec_prefix
27 mdw_transform=`echo "$program_transform_name"|sed 's,\\\\\\\\,\\\\,g; s,\\$\\$,$,g'`
28 test "$prefix" = "NONE" && prefix=$ac_default_prefix
29 test "$exec_prefix" = "NONE" && exec_prefix=$prefix
30 $1
31 prefix=$mdw_prefix exec_prefix=$mdw_exec_prefix])
32
33 AC_DEFUN([mdw_PROG], [`echo "$1"|sed "$mdw_transform"`])
34 AC_DEFUN([mdw_PATH], [dnl
35 `t="$1"; dnl
36 while :; do dnl
37 case "$t" in dnl
38 *\\$[]*) t=\`eval echo "$t"\`;; dnl
39 *) break;; dnl
40 esac; done; dnl
41 echo "$t"`])
42 AC_DEFUN([mdw_DEFINE_PROG],
43          [AC_DEFINE_UNQUOTED([$1], ["mdw_PROG([$2])"],
44                              [Program name for $2.])])
45 AC_DEFUN([mdw_DEFINE_PATH], [AC_DEFINE_UNQUOTED([$1], ["mdw_PATH([$2])"],
46                                                 [Pathname for $2.])])