Back to the Main Page. | Download the M4 Source. |
PATCH_LIBTOOL_ON_DARWIN_ZSH_OVERQUOTING
0.5.55 : guidod
libtool 1.4.x has a bug on darwin where the "zsh" is installed as the bourne shell replacement. Of course, the zsh is called in a compatibility mode but there is a common problem with it, probably a bug of zsh. Newer darwin systems have a "bash" installed now, but the configure-default will be "zsh" in most systems still.
The bug revelas itself as an overquoted statement in the libtool cmds-spec for sharedlib creation on testing for "module" builds. Later libtool has gone rid of it by simply removing the quotes at that point . Here we maintain the original style and simply remove the extra escape character, i.e. we look for "archive_cmds" and replace a sequence of triple-backslash-and-doublequote with single-backslash-and-doublequote.
@= guidod@gmx.de $Id: patch_libtool_on_darwin_zsh_overquoting.m4,v 1.4 2003/03/24 16:58:21 guidod Exp $
AC_DEFUN([PATCH_LIBTOOL_ON_DARWIN_ZSH_OVERQUOTING], [# libtool-1.4 specific, on zsh target the final requoting does one too much case "$host_os" in darwin*) if grep "1.92" libtool >/dev/null ; then AC_MSG_RESULT(patching libtool on .so-sharedlib creation (zsh overquoting)) test -f libtool.old || (mv libtool libtool.old && cp libtool.old libtool) sed -e '/archive_cmds=/s:[[\\]][[\\]][[\\]]*":\\":g' libtool >libtool.new (test -s libtool.new || rm libtool.new) 2>/dev/null test -f libtool.new && mv libtool.new libtool # not 2>/dev/null !! test -f libtool || mv libtool.old libtool fi ;; esac ])