aclocal.glob, m4/: Split the monster into separate `aclocal'-ish files.
[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.])])