[Scons-users] [Scons-dev] Problem with LINKCOMSTR variable substitution

Bill Deegan bill at baddogconsulting.com
Fri Nov 2 14:07:48 EDT 2012


Kyle,

This should go to the users mailing list.
The dev list is for development of SCons itself and not for the use of
SCons..


On Thu, Nov 1, 2012 at 3:56 PM, Strand, Kyle J <kyle.strand at beckman.com>wrote:


> I think this is a bug, but I might just be using env.Replace

> incorrectly, so if someone could let me know what they think I'd appreciate

> it. I find that variables in my LINKCOMSTR aren't always be properly

> substituted. For instance, if I define an environment as follows:

>

> env = Environment(LINKCOMSTR = "Linking... ${TARGET.file}",)

> env.Replace(LINKCOMSTR = '${LINKCOM}')

>


Wouldn't:
env.Replace(LINKCOMSTR='$LINKCOM')
work?



>

> ....and then I build targets with that environment, I see the following

> output:

>

> ${TEMPFILE("$LINK $LINKFLAGS /OUT:$TARGET.windows $_LIBDIRFLAGS $_LIBFLAGS

> $_PDB $SOURCES.windows")}

>

> (This is on a Windows machine using MSVC.) In other words, only one level

> of substitution is done on $LINKCOM, but $LINKCOM itself contains other

> variables which are not substituted out before printing. The correct

> command is executed, however.

>

> It also appears that there's the same problem with SHLINKCOMSTR, but it

> does NOT appear to be a problem with other environment variables

> (CXXCOMSTR, etc).

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20121102/3ff8ffbe/attachment.html>


More information about the Scons-users mailing list