Subject: Re: bug#13524: Improving user experience for non-recursive builds

From: Eric Blake <[email-masked]>
Date: Mon, 04 Feb 2013 10:33:14 -0700

On 02/04/2013 10:19 AM, Stefano Lattarini wrote:
> Because it would mix up very different concepts: a '@...@' substitution
> is meant for something that depends on configure-time check (or at
> least from code in configure), and is substituted the same in *every*
> Makefile and makefile fragment;

Not so - in the section on preset output variables, autoconf documents
that several @...@ substitutions are dependent on where in the hierarchy
they are replaced (generally, the variables with all lower-case names).

https://www.gnu.org/software/autoconf/manual/autoconf.html#Preset-Output-Variables

> while the proposed '{...}' would depend
> merely on the relative position of the included fragment, and have
> nothing to do with configure code or configure-time checks.

So they aren't quite affected by configure, but they are dependent on
relative location, just like existing substitutions like @top_srcdir@
are dependent on relative location.

That said, the idea of using some syntax other than @...@ for automake
substitutions, to make it clear that they are different than
config.status substitutions, works for me.  I just don't know that I
have any better ideas for what syntax to prefer.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org