[Scons-users] linker command under windows not working (too long)

Philipp Kraus philipp.kraus at flashpixx.de
Sun Mar 31 11:44:05 EDT 2013


I have set my linker command to
envlib["LINKCOM"] = "${TEMPFILE('"+envlib["LINKCOM"]+"')}"

the tempfile is set on default to Scons TempFileMunge
and the prefix stores the @ char.
But my object files are not passed to the file and the linker command
is also gcc <o files>, so it is not modified with the tempfile

I'm a little bit confused

Thx

Phil


On 2013-03-31 14:34:26 +0200, Philipp Kraus said:


> Is there an example for the callable class? Because which information

> must be returned by the callable method?

>

>

> Am 31.03.2013 um 03:17 schrieb Bill Deegan:

> Won't TEMPFILE work for this?

>

> A callable class.  You can set an Environment variable to this,

>     then call it with a string argument, then it will perform temporary

>     file substitution on it.  This is used to circumvent the long command

>     line limitation.

>

>     Example usage:

>     env["TEMPFILE"] = TempFileMunge

>     env["LINKCOM"] = "${TEMPFILE('$LINK $TARGET $SOURCES')}"

>

>     By default, the name of the temporary file used begins with a

>     prefix of '@'.  This may be configred for other tool chains by

>     setting '$TEMPFILEPREFIX'.

>

>     env["TEMPFILEPREFIX"] = '-@'        # diab compiler

>     env["TEMPFILEPREFIX"] = '-via'      # arm tool chain

>

> -Bill

>

>

> On Sat, Mar 30, 2013 at 11:26 AM, Philipp Kraus

> <philipp.kraus at flashpixx.de> wrote:

> Hi,

>

> thanks for this idea but I don't use the env.Object call, I call

> env.SharedLibrary direct in the build script, so the *.o file is

> created by the dependency graph that is build by Scons.

> So I need to change my script for the MinGW toolset and create the

> object files first and referenced them via the file. It should be a

> IMHO a "hacking solution".

>

> Thanks a lot, so I can test my build script

>

> Phil

>

>

> On 2013-03-30 19:07:42 +0100, Brady Johnson said:

>

>

> You can use response files, (supported by both gcc and msvc) which

> allows you to list several object files, etc in a file, then refer to

> that file on the command line prepending it with the '@' symbol. Here

> is a question/answer on Stack Overflow that addresses this:

> http://stackoverflow.com/q/15242177/1158895

>

> Notice, though that SCons wont read what's in the response file, so

> dependency checking wont work as expected. I addressed this in my

> answer to the Stack Overflow question.

>

> Hope that helps,

>

> Brady

>

>

>

> On Sat, Mar 30, 2013 at 3:07 PM, Philipp Kraus

> <philipp.kraus at flashpixx.de> wrote:

> Hello,

>

> I try to build Irrlicht engine with mingw toolset under Scons. The

> compiler calls works well, but the last linker command to build the

> shared library creates the error, that the command length is reached.

> MS describe the probleme here http://support.microsoft.com/kb/830473/en-us

> The command shows:

>

> g++ -shared -o Irrlicht.dll <here all *.o files> -Wl,--out-implib,libIrrlicht.a

>

> I don't know how I can solve this problems. The problem exists only

> with the MinGW toolset under MSVC the problem does not exists.

>

> Thanks for help

>

> Phil

>

>

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

>

> _______________________________________________

> Scons-users mailing list

> Scons-users at scons.org

> http://four.pairlist.net/mailman/listinfo/scons-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20130331/4cb998b5/attachment.html>


More information about the Scons-users mailing list