Boost logo

Boost-Build :

From: David Abrahams (dave_at_[hidden])
Date: 2002-11-21 11:44:53


Anyone have an opinion about this patch? I think I did something like
this at one point.

I think on some platforms you may get silent misbehavior for
non-piecemeal rules, so it may not be the best idea.

 --=-=-= Content-Type: message/rfc822
Content-Disposition: inline

X-From-Line: jg_at_[hidden] Sun Nov 21 16:57:50 2002
Return-Path: <jamming-admin_at_[hidden]>
Received: from mr01.mrf.mail.rcn.net ([207.172.4.20] [207.172.4.20])
by fep03.mrf.mail.rcn.net with ESMTP
id
<20021121162757.GKLG27321.fep03.mrf.mail.rcn.net_at_[hidden]>;
Thu, 21 Nov 2002 11:27:57 -0500
Received: from mx07.mrf.mail.rcn.net (mx07.mrf.mail.rcn.net [207.172.4.56])
by mr01.mrf.mail.rcn.net (Mirapoint Messaging Server MOS 3.2.1-GA)
with ESMTP id ADU48617;
Thu, 21 Nov 2002 11:10:13 -0500 (EST)
Received: from wireless.perforce.com ([209.209.60.41]
helo=frankenrouter.perforce.com)
by mx07.mrf.mail.rcn.net with esmtp (Exim 3.35 #4)
id 18Etu3-0006XD-00
for david.abrahams_at_[hidden]; Thu, 21 Nov 2002 11:10:07 -0500
Received: from fxp1 (localhost [127.0.0.1])
by frankenrouter.perforce.com (8.12.1/8.11.6) with ESMTP id gALG03pe011074;
Thu, 21 Nov 2002 08:00:03 -0800 (PST)
(envelope-from jamming-admin_at_[hidden])
Received: from beast.ioi.dk (ns.ioi.dk [62.243.244.250])
by frankenrouter.perforce.com (8.12.1/8.11.6) with ESMTP id gALFvtpe011031
for <jamming_at_[hidden]>; Thu, 21 Nov 2002 07:57:55 -0800 (PST)
(envelope-from jg_at_[hidden])
Received: from ulfm.int.ioi.dk ([172.16.10.104] helo=localhost.localdomain)
by beast.ioi.dk with esmtp (Exim 3.35 #1 (Debian))
id 18EtiA-0005fP-00
for <jamming_at_[hidden]>; Thu, 21 Nov 2002 16:57:50 +0100
Subject: RE: [jamming] link.exe input line too long
From: Jacob Gorm Hansen <jg_at_[hidden]>
To: jam mailling list <jamming_at_[hidden]>
In-Reply-To: <1037891664.720.99.camel_at_jacobg>
References:
<Pine.SOL.4.44.0211211501130.11479-100000_at_[hidden]>
<1037891664.720.99.camel_at_jacobg>
X-Mailer: Ximian Evolution 1.0.8
Message-Id: <1037894270.751.104.camel_at_jacobg>
Sender: jamming-admin_at_[hidden]
Errors-To: jamming-admin_at_[hidden]
X-BeenThere: jamming_at_[hidden]
X-Mailman-Version: 2.0.4
Precedence: bulk
List-Help: <mailto:jamming-request_at_[hidden]?subject=help>
List-Post: <mailto:jamming_at_[hidden]>
List-Subscribe: <http://maillist.perforce.com/mailman/listinfo/jamming>,
<mailto:jamming-request_at_[hidden]?subject=subscribe>
List-Id: Discuss the build tool Jam/MR with other users
<jamming.perforce.com>
List-Unsubscribe: <http://maillist.perforce.com/mailman/listinfo/jamming>,
<mailto:jamming-request_at_[hidden]?subject=unsubscribe>
List-Archive: <http://maillist.perforce.com/pipermail/jamming/>
Date: 21 Nov 2002 16:57:50 +0100
X-Content-Length: 1135
Lines: 39
Xref: NEFARIOUS mail.misc:9915
MIME-Version: 1.0

On Thu, 2002-11-21 at 16:14, Jacob Gorm Hansen wrote:
> On Thu, 2002-11-21 at 15:03, Ingo Weinhold wrote:
>
> > An easier way would be to use an intermediate static library (Library
> > rule). The Archive actions use the piecemeal modifier.
>
> Cool. I just had to recompile Jam.exe back to a MAXLINE of 996.
>
> Link.exe sucks. Jam.exe rules ;-)

OK not that cool anyway. Now my top-level link which cannot be made
piecemeal is too large to fit in the new 996 char limit.

So, I modified cmd_new to check for 996 when the rule allows piecemeal,
and for MAXLINE (which is 10240) otherwise:

New version:

/* Bail if the result won't fit in MAXLINE */
/* We don't free targets/sources/shell if bailing. */

if( var_string( rule->actions, cmd->buf, (rule->flags &
RULE_PIECEMEAL)? 996 : MAXLINE, &cmd->args ) < 0 )
{
cmd_free( cmd );
return 0;
}

I suggest this as a change to future releases, as it gives you the best
of both worlds.

best,
Jacob

_______________________________________________
jamming mailing list - jamming_at_[hidden]
http://maillist.perforce.com/mailman/listinfo/jamming

 --=-=-=

-- 
David Abrahams
dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution
 --=-=-=-- 

Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk