[Scons-dev] I have a pull request Parts I think we might want to sync with SCons

Jason Kenny dragon512 at live.com
Fri Feb 24 13:47:56 EST 2017


I think there are two points here:

The first one is that the scons mslink action is:

shlibLinkAction = SCons.Action.Action('${TEMPFILE("$SHLINK $SHLINKFLAGS $_SHLINK_TARGETS $_LIBDIRFLAGS $_LIBFLAGS $_PDB $_SHLINK_SOURCES", "$SHLINKCOMSTR")}', '$SHLINKCOMSTR')

I have to look, but the idea that the default link action should use $TEMPFILE I would think is a great idea. I don’t believe it is. We have this in Parts as when I was at Intel, Vtune had some long link lines, even in Linux  land. I could do this common command easier in Parts then can be done in SCons for another reason which is that SCons does not support PDB like files on non-windows system. We have actions to make a PDB like file for posix systems in Parts, so the user can separate the debug info from the binary. Given SCons does not have this, SCons cannot do the SCons.Action.Action('$SHLINKACTION') suggestion.

The second point is that a common theme I have seen with linking on all platforms is the need to have certain special libs at the end of the link line, after everything else. This patch is trying to suggest we add to the mslink case ( however I would push this globally myself) to allow normal $LIBS to be added as is, but for the special $POSTLIB like var that need to do the funky linking stuff to override functions in the other libs.

Given that I have had this issue a lot, and the “solution” on the web is to override the whole link actions with your own string. I think it would be useful for this to be a feature in the out of box tools. If you find this agreeable I would like input on the var name so we can have a common value for both SCons and Parts

Jason


From: Scons-dev [mailto:scons-dev-bounces at scons.org] On Behalf Of Bill Deegan
Sent: Friday, February 24, 2017 12:15 PM
To: SCons developer list <scons-dev at scons.org>
Subject: Re: [Scons-dev] I have a pull request Parts I think we might want to sync with SCons

Jason,
Interesting.
Seems like the patch could be avoided if the string provided

-shlibLinkAction = SCons.Action.Action('${TEMPFILE("$SHLINK $SHLINKFLAGS $_SHLINK_TARGETS $_LIBDIRFLAGS $_LIBFLAGS $_PDB $_SHLINK_SOURCES")}')

was something like:

-shlibLinkAction = SCons.Action.Action('$SHLINKACTION')


That would allow the user to do this independent of the tool's code?

_Bill

On Fri, Feb 24, 2017 at 8:41 AM, Jason Kenny <dragon512 at live.com<mailto:dragon512 at live.com>> wrote:

Hi guy,

I have a pull request for mslink.py tool in Parts that I think is an issue we would want as a general solution for linking on the tools that deal with linking in SCons

The request is here:
https://bitbucket.org/sconsparts/parts/pull-requests/17/introduced-sh-linktrailflags-to-mslinkpy/diff

I would like to your guys option on the matter. Given you think you like the idea in general, do you like the value being used? If we would like to sync this change, I think we would want to keep a common value between Parts and SCons to help the users.

Thanks
Jason

_______________________________________________
Scons-dev mailing list
Scons-dev at scons.org<mailto:Scons-dev at scons.org>
https://pairlist2.pair.net/mailman/listinfo/scons-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20170224/c061d5c8/attachment-0001.html>


More information about the Scons-dev mailing list