[Scons-dev] Problem with LINKCOMSTR variable substitution

Strand, Kyle J kyle.strand at beckman.com
Thu Nov 1 18:56:27 EDT 2012


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}')

....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).

________________________________
Kyle Strand, Software Intern
Beckman Coulter, Inc., Life Sciences Division
4862 Innovation Drive, Fort Collins, Colorado, 80525
(970) 204-7036


Please be advised that this email may contain confidential
information. If you are not the intended recipient, please notify us
by email by replying to the sender and delete this message. The
sender disclaims that the content of this email constitutes an offer
to enter into, or the acceptance of, any agreement; provided that the
foregoing does not invalidate the binding effect of any digital or
other electronic reproduction of a manual signature that is included
in any attachment.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://two.pairlist.net/pipermail/scons-dev/attachments/20121101/c6c2c553/attachment.html>


More information about the Scons-dev mailing list