[Top][All Lists]

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

Re: echo vs. printf regression (darwin8)

From: David Fang
Subject: Re: echo vs. printf regression (darwin8)
Date: Mon, 16 Aug 2010 13:58:33 -0400 (EDT)

On 08/16/2010 04:27 PM, Peter O'Gorman wrote:
On 08/16/2010 07:37 AM, Paolo Bonzini wrote:
On 08/16/2010 12:54 AM, David Fang wrote:
Actually, 'pogma' pointed out that this comes from the autoconf macros
in libtool.m4, near AC_MSG_CHECKING([how to print strings]).
I'm using libtool-2.2.10 right now.

I don't understand, is it breaking in Makefiles that you wrote? I don't
know of anything in {autoconf,automake,libtool} that would use $ECHO
this way.

I think it is a namespace problem. What business does libtool have
setting vars like ECHO, MV, etc.

That's correct.  However...

If libtool had not unconditionally set ECHO to something other than
'echo', David's Makefiles would have continued to work when he moved
from libtool-1.5.x to libtool-2.x.

... this doesn't seem to be the case. It looks like David's makefiles were relying on the definition of ECHO that libtool provided, and this is clearly an issue of using an undocumented interface. He, or some package he used, had to explicitly do AC_SUBST([ECHO]), and this is a very strong point against this usage, even if the variable name doesn't show that.

I think we agree that autoconf is not at fault here. For years, I've been using $(ECHO) in Makefile.am's with an AC_CHECK_PROG([ECHO], echo, echo), up through autoconf-2.63, and libtool-2.2.6, but the latest libtool-2.2.10 overrides ECHO in libtool.m4. I don't recall seeing anything wrong with AC_CHECK_PROG(ECHO...), which does the AC_SUBST. It just happens to be done before LT_INIT. If I reorder the macros, can I expect to get back the old behavior, where ECHO is echo from AC_CHECK_PROG?
I leave it up to libtool devs to decide whether/how to fix.


David Fang

reply via email to

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