[Scons-users] intermediate builder step -- wish for no-build when the original files are unch

Dirk Bächle tshortik at gmx.de
Tue Jun 4 14:08:24 EDT 2013


Jay,

On 04.06.2013 13:09, Jay Damask wrote:

> Dirk Bächle <tshortik <at> gmx.de> writes:

>

>> [...]

>>

>> _______________________________________________

> Hi Dirk, good morning.

>

> For the dirty second time and each time following, the intermediate step

> (protoc) is invoked and the timestamps on the *.pb.* files are updated. Its

> the timestamp updates that spoof the code editor into thinking the file is

> updated.


the things you're trying to do, and the behaviour you expect, is what
SCons should do by default. There is simply no need to crawl into the
bowels of the build process and its signature calculation.
Detecting content-based changes and updating only what's necessary is
what SCons is all about.

I'd like to examine your current project a little further to find out
what's wrong. Can you post an archive with the complete set of files
(all sources, protos, SConscripts, builders,...) or point me to a public
repository?


> This leads to another question, which is: what is the best practice to

> observe (user-level) that an Action is invoked? Right now I'm doing an

> env.subst() on the $PROTOC_COM in the _protoc_emitter() fcxn. I found this

> to be an ok proxy, but not precise. An alternative hack that I did was to

> augment the $PROTOC_COM string to include a leading "echo 'action triggered'

> &&", which was duly printing to stdout.


The "protoc" builder defines a variable "PROTOC_COMSTR", which is left
empty. You can set it to an arbitrary string, containing other vars like
"$TARGET", and it should get printed in the moment the action is performed.

Regards,

Dirk



More information about the Scons-users mailing list