libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Libtool-patches Digest, Vol 25, Issue 12


From: Ralf Wildenhues
Subject: Re: Libtool-patches Digest, Vol 25, Issue 12
Date: Wed, 8 Dec 2004 16:05:28 +0100
User-agent: Mutt/1.4.1i

Hi Akim,

* Akim Demaille wrote on Wed, Dec 08, 2004 at 09:26:28AM CET:
> >>> "libtool-patches-request" == libtool-patches-request  <address@hidden> 
> >>> writes:
> 
> Please, keep me cc'ed.
>
>  > * Albert Chin wrote on Tue, Dec 07, 2004 at 06:07:26PM CET:
>  >> On Tue, Dec 07, 2004 at 10:47:43AM +0100, Akim Demaille wrote:
>  >> > Does Libtool have spies on shell features?  I tend to believe that
>  >> > $(cmd) is well supported.  That would also simplify some code.
>  >> 
>  >> Old shells don't support it. I think you need some type of
>  >> POSIX-compatible shell. Certainly Bourne-only shells don't support
>  >> this.
> 
> Well, that reminds me when portability myths existed in the Autoconf
> world.  Most were untrue, including those on functions.

SVR 3 Bourne shell:
$ echo $( ls )
Syntax error: `(' not expected.

>  > Yep.  And since this particular line has no nested commmand substitution
>  > or similar, where $() would provide real benefit, I would recommend
>  > against it.
> 
> I was not thinking about this specific line, but in general.

OK.

> Can anybody _prove_ that a shell onto which libtool runs (with all its
> functions etc.) does _not_ support $()?

Above mentioned shell has functions, but hangs on libtool's configure
script, so I guess it doesn't count as proof (I did not try to find out
what the problem was).  http://multivac.cwru.edu/lintsh/ mentiones the
problem for some Solaris sh, and
http://www.in-ulm.de/~mascheck/various/shells/ lists various other
possible problem candidates (where there might not be a suitable shell
installed).  No, neither of this is proof.

Other than that, a problem ("feature") that comes up in case of
converting `..` style to $(..) is the difference w.r.t backslashes:
$ echo $(echo '\$') `echo '\$'`
\$ $

Regards,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]