On Mon, Oct 1, 2012 at 5:10 PM, Kenny, Jason L <[email protected]> wrote:
> No they don't pass,
>
> Sort of why I was asking as I having difficulty understanding what is going 
> on ( so I not sure what broke). There seems to be some odd logic here in that 
> we do a test like:
>
> If prefix[:-1] == " ":
>    result.append(prefix[:-1])
>
> I ask myself so why do we do with "foo  " ( ie two spaces)

I'm not sure what you're asking above, and your cut & paste is a
little off.  The intent is, if the prefix ends with a space, add the
prefix (without the space) to the result list as a separate element.
That supports linkers that instead of -lfoo might need -l foo as two
args.  (Note that without this, it would end up getting quoted by the
quoting logic as "-l foo").

> I guess I need to study this better.
>
> Then there is the case of node pass through.. which makes me wonder why this 
> is here as we don't add anything, which seems to be the point of having this 
> called. More so I would wonder why it is for file nodes, not any other type 
> of node. Ie value and directory nodes would be turned in to a string, while a 
> file node would continue and be turned in to the string but the calling 
> subst() call. This seems a little special cased.

If you think about LIBS, you mostly want the pre/suffixes added (-lfoo
for instance).  But passing through File nodes allows you to specify a
particular version of a lib (as well as static vs. shared) by passing
a Node representing the file.  I don't think there's a use case for
Value nodes, so who knows what the right thing is.  Directory nodes
are interesting; one could argue they should be passed through as
well, for the same kinds of reasons.  I just don't think this code
gets called on Directory nodes much.

-- 
Gary
_______________________________________________
Scons-dev mailing list
[email protected]
http://two.pairlist.net/mailman/listinfo/scons-dev

Reply via email to