Boost logo

Boost-Build :

From: Dave Rahardja (drahardja_at_[hidden])
Date: 2007-04-13 08:25:00


 

> -----Original Message-----
> From: boost-build-bounces_at_[hidden]
> [mailto:boost-build-bounces_at_[hidden]] On Behalf Of
> Vladimir Prus
> Sent: Friday, April 13, 2007 3:16 AM
> To: boost-build_at_[hidden]
> Subject: Re: [Boost-build] actions together, not working?
>
> On Friday 13 April 2007 00:32, Dave Rahardja wrote:
> > Hi guys,
> >
> > Wonder what happened to my last post... but I noticed that "actions
> > together" is not working, or perhaps I'm just not doing it
> right. Here's my
> > tool definition:
>
> > actions together compile.c++
> > {
> > copy $(>) $(<)
> > }
> >
> > actions link
> > {
> > copy $(>[1]) $(<)
> > }
> >
> > ------------
> >
> > I would expect "actions together compile..." would gather
> all the C++ files
> > together, and invoke the action with a list of the input
> files. Is this
> > accurate? Or can "actions together" be used only with
> certain kinds of
> > rules?
>
> I'm afraid I don't know what 'actions together' does; that's
> some classic
> Jam feature that's not used in Boost.Build.
>
> - Volodya
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>

>From the classic Jam docs:

-----
actions together

The $(>) from multiple invocations of the same action on the same built
target are glommed together.
-----

IMO, this behavior is very useful in shortening compile times, especially in
environments where the invocation of the tool itself takes a long time (in
my case, the compiler license check-out over the network almost quadruples
the compile time).

Basically, $(>)'s with the same flags should be batched together, then
executed as a single call to the compiler when the linker or archiver is
called.

One downside is is that the outputs of each file cannot be individually
specified. In some of our projects it is useful to compile .c and .cpp files
to different object file names (say .c.o and .cpp.o) in order to distinguish
files with the same base name but written in different languages. Doing this
requires individual specification.

-dr


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