[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