[Scons-users] Batch building includes unchanged targets

Sean Houghton sean.houghton at gmail.com
Fri Oct 25 15:33:48 EDT 2013


I guess "batch building" is an overloaded phrase. In my experience batch
building means processing a set of independent items that all share a
common processing pipeline. In my case I'm submitting the items to be
built to a distributed build system that does a better job scheduling if it
knows about all of the items up front rather than one at a time.

What's the purpose of the targets="$CHANGED_TARGETS" parameter? There's no
documentation on the batch building so I'm trying to learn all I can by
following the MSVC builder in the source.

I'm looking at possibly using Node.changed() to skip processing
source/target pairs that haven't changed since the last build. This looks
promising but I don't like bypassing the built in behavior if I don't have
to.


On 25.10.2013 04:40, Sean Houghton wrote:


> I discovered a bug in my batch builder caused by a missing file flush

> which resulted in constant rebuilds. However, the problem is now that any

> time a single input changes the entire set of sources is passed to the

> batch builder, regardless of change state.

>

> Thanks for the example...


You're using the batch functionality, which basically means that you give
SCons a black box and say: "Here is my batch builder. It gets N input
files, and has M outputs (=targets)."

With this, SCons will register an NxM dependency for the DAG where each of
the M targets depends on all N sources. This is what you're currently
seeing, and I don't think it's a bug...it's what batch building should do.

If you don't want this behaviour, don't use the batch build but process
your files in single calls (single_source=True). This will also give you
less implicit dependencies overall, so your build usually performs better
regarding speed and memory.

Regards,

Dirk

______________________________**_________________
Scons-users mailing list
Scons-users at scons.org
http://four.pairlist.net/**mailman/listinfo/scons-users<http://four.pairlist.net/mailman/listinfo/scons-users>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20131025/34c6c46c/attachment.htm


More information about the Scons-users mailing list