[Scons-users] [Solved] (+comments) Re: Mingw , long lines in link.

Jos De Laender jos at de-laender.be
Tue Feb 12 11:18:05 EST 2013


Dear all,

I could take also this hurdle, but it leaves me with some mixed feelings ...

1. To get the MAXLINELENGTH effective and having the link done via a
response file, one actually has to add :


|env['LINKCOM'] = '${TEMPFILE("%s")}' % (env['LINKCOM'])|


Not a big deal if you know it, but I don't understand why this isn't
there per default anyway.
It would act according to the documentation then ;)
Also, it turns out that if the MAXLINELENGTH is not reached, the detour
via the response file isn't done, so having it always there doesn't
hurt, does it ?
Or maybe there are performance reasons behind ?

In any case, this should be more clearly documented in my opinion.

2. Even when doing so, I still got issues, but that's due to my MSYS
(Bill called it cross/cross :)).

In the TempFileMungeClass (luckily the scons design allows me to do this
with a local copy and redefining env['TEMPFILE']) following commented
with JDLA needs to be added (for msys, not sure if it would hurt in
other cases) :

prefix = env.subst('$TEMPFILEPREFIX')
if not prefix:
prefix = '@'

# JDLA , Another round of escapes for win32, which is in msys in
our case.
if sys.platform in ['win32'] :
for i,ptCmd in enumerate(cmd) :
cmd[i] = ptCmd.replace('\\','\\\\')

args = list(map(SCons.Subst.quote_spaces, cmd[1:]))
os.write(fd, " ".join(args) + "\n")
os.close(fd)

Jos


Op 11-02-13 17:11, Jos De Laender schreef:

> Gents,

>

> Again I must be missing something utterly simple , but stuck ...

>

> My link command under mingw is too long.

> (well, at least that's what I guess, it fails without any further

> output of the linking step, and replicating the command in a command

> window shows that it is too long)

> The manual says me that MAXLINELENGTH is the one that determines the

> max length before a temp file is used.

> But I see no use of a temp file ..

> Also, based on grepping, I would think that

> 'scons-local-2.2.0/SCons/Platform/__init__.py' is the place where this

> happens, but the code there seems never called.

> Somewhere I must be terribly wrong ... someone can shed some light ?

>



--
Jos De Laender
www.jodela.be

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20130212/136acc1f/attachment.html>


More information about the Scons-users mailing list