[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