about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--aczsh.m425
-rw-r--r--configure.in15
2 files changed, 28 insertions, 12 deletions
diff --git a/aczsh.m4 b/aczsh.m4
index 2e6c65899..9ebb275c6 100644
--- a/aczsh.m4
+++ b/aczsh.m4
@@ -595,3 +595,28 @@ if test $zsh_cv_struct_member_[]translit($2, [ ], [_])_$3 = yes; then
   AC_DEFINE(HAVE_[]translit($2_$3, [ a-z], [_A-Z]))
 fi
 ])
+
+dnl
+dnl zsh_ARG_PROGRAM
+dnl   Handle AC_ARG_PROGRAM substitutions into other zsh configure macros.
+dnl   After processing this macro, the configure script may refer to
+dnl   and $tzsh_name, and @tzsh@ is defined for make substitutions.
+dnl
+
+AC_DEFUN(zsh_ARG_PROGRAM,
+[AC_ARG_PROGRAM
+# Un-double any \ or $ (doubled by AC_ARG_PROGRAM).
+cat <<\EOF_SED > conftestsed
+s,\\\\,\\,g; s,\$\$,$,g
+EOF_SED
+zsh_transform_name=`echo "${program_transform_name}" | sed -f conftestsed`
+rm -f conftestsed
+tzsh_name=`echo zsh | sed -e "${zsh_transform_name}"`
+# Double any \ or $ in the transformed name that results.
+cat <<\EOF_SED >> conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+tzsh=`echo ${tzsh_name} | sed -f conftestsed`
+rm -f conftestsed
+AC_SUBST(tzsh)dnl
+])
diff --git a/configure.in b/configure.in
index d9b119925..f2b348f99 100644
--- a/configure.in
+++ b/configure.in
@@ -46,16 +46,7 @@ dnl -----------------------------
 dnl CHECKING COMMAND LINE OPTIONS
 dnl -----------------------------
 dnl Handle --program-prefix, --program-suffix, etc.
-AC_ARG_PROGRAM
-
-u_ptn=`make -s -f - <<EOF
-all:
-	@echo ${program_transform_name}
-EOF
-`
-tzsh=`echo zsh | sed -e "${u_ptn}"`
-
-AC_SUBST(tzsh)dnl
+zsh_ARG_PROGRAM
 
 dnl Do you want to debug zsh?
 undefine([zsh-debug])dnl
@@ -223,10 +214,10 @@ undefine([fndir])dnl
 AC_ARG_ENABLE(fndir,
 [  --enable-fndir=DIR         where functions go (default DATADIR/zsh/functions)],
 [if test $enableval = yes; then
-  fndir=${datadir}/${tzsh}/functions
+  fndir=${datadir}/${tzsh_name}/functions
 else
   fndir="$enableval"
-fi], [fndir=${datadir}/${tzsh}/functions])
+fi], [fndir=${datadir}/${tzsh_name}/functions])
 
 undefine([function_subdirs])
 AC_ARG_ENABLE(function-subdirs,