tech-toolchain archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: make -V
Alan Barrett writes:
>The basic issue, I think, is that we want a way, from the command line,
>to print both the recursively-expanded value of a named variable, and
>the expanded-only-once value of a named variable. Which of the two
>behaviours is invoked by "make -V" is less important than the
>availability of both behaviours.
Actually, I think the default behavior of 'make -V FOO' is key for the
reasons you cite below.
>At present, in NetBSD, we can use:
>
> make -V VARNAME # expanded only once
> make -V '${VARNAME}' # expanded recursively
>
>and in FreeBSD they have:
>
> make -V VARNAME # expanded recursively
and recently:
make -V '${VARNAME}' # expanded recursively
I had that added along with :tl and :tu, to ease some of the
compatability issues.
> # is there a way to expand only once?
No but it is trivial to add - eg via a debug flag -dV
>My suggestion is to add a :modifier, such as :1, :e1, :x1, or even
>:texpandonce, to request that a variable be expanded only once.
Sorry, but wouldn't that be a rather complex solution?
>Now, moving on to which behaviour should be invoked by "make -V":
>
>I couldn't find anything in the NetBSD src or pkgsrc tree that relies on
>"make -V VARNAME" expanding only once. In fact, the uses of "make -V"
>that I found all seem to want the recursively-expanded value, and they
>probably work only by chance because the values don't happen to require
>expansion more than once. We have also heard that FreeBSD's ports tree
>assumes that "make -V" expands recursively. So, I suggest that we should
>change "make -V" to expand recursively.
Yes, that would be my prefered solution, and a simple debug flag -dV to
allow seeing the raw value.
The knob solution is at best a compromise - it does nothing to reduce
divergence, but if that's the most we can agree to I can live with it.
Thanks
--sjg
Home |
Main Index |
Thread Index |
Old Index