From: "Bart Schaefer" <schaefer@candle.brasslantern.com>
To: Clint Adams <schizo@debian.org>, zsh-workers@sunsite.auc.dk
Subject: Re: PATCH: the transform saga, directories
Date: Mon, 6 Dec 1999 18:39:34 +0000 [thread overview]
Message-ID: <991206183934.ZM10206@candle.brasslantern.com> (raw)
In-Reply-To: <19991206113152.A25632@dman.com>
On Dec 6, 11:31am, Clint Adams wrote:
} Subject: PATCH: the transform saga, directories
}
} This unfortunately brings back my make hack in order to
} transform fndir and MODDIR.
This still doesn't really work. The reason that you need the "make -f"
hack is because ${program_transform_name} has been processed so that
@program_tranform_name@ can appear in Makefiles even if part of the
transform introduces a $ or backslash into the name. You're processing
that away by passing the string through make, and then not putting it
back again.
Here's some aczsh.m4 code that reverses and re-applies the autoconf sed
that's done on $program_transform_name.
We could at this point simplify {Src,Doc}/Makefile.in again to use @tzsh@
in a few (though not all) places, but I haven't done that here.
Index: aczsh.m4
===================================================================
@@ -595,3 +595,28 @@
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
+])
Index: configure.in
===================================================================
@@ -46,17 +46,8 @@
dnl CHECKING COMMAND LINE OPTIONS
dnl -----------------------------
dnl Handle --program-prefix, --program-suffix, etc.
-AC_ARG_PROGRAM
+zsh_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
-
dnl Do you want to debug zsh?
undefine([zsh-debug])dnl
AC_ARG_ENABLE(zsh-debug,
@@ -223,10 +214,10 @@
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,
--
Bart Schaefer Brass Lantern Enterprises
http://www.well.com/user/barts http://www.brasslantern.com
prev parent reply other threads:[~1999-12-06 18:39 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-12-06 16:31 Clint Adams
1999-12-06 17:06 ` Zefram
1999-12-06 18:39 ` Bart Schaefer [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=991206183934.ZM10206@candle.brasslantern.com \
--to=schaefer@candle.brasslantern.com \
--cc=schizo@debian.org \
--cc=zsh-workers@sunsite.auc.dk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).