Hi Eric,

* Eric Blake wrote on Thu, Dec 02, 2010 at 06:14:28PM CET:
> Good news!  Today's Austin Group meeting included a review of
> http://austingroupbugs.net/view.php?id=336, which is proposing that
> $(var$(V)) as a way of choosing between $(var0) and $(var1) based on the
> contents of $(V) be standardized in POSIX.  If the 30-day interpretation
> window starting today does not raise any objections (that is, if no one
> complains of a counterexample existing make implementation that fails to
> meet the proposed wording), then automake's silent-make implementation
> will switch from exploiting unspecified behavior over to using a
> POSIX-standardized feature.

Thank you very much for pursuing this!

I'm not sure if it was mentioned before in the discussion, but
portability-wise, there is a difference between one level of recursion
and arbitrary many.  IIRC then IRIX make only supported one level, i.e.,
  $(var1$(var2$(var3)))

was erroneous, but
  $(var1$(var2))

was not.  Also, with a one-character variable X
  $(var$X)

was erroneous with at least one legacy make implementation (but I think
it was more than one); but
  $(var$(X))

worked.

If you like, I can go back and verify the details.

Cheers,
Ralf

Reply via email to