[Scons-dev] What should I return from generator function?

Left Right olegsivokon at gmail.com
Fri Oct 5 10:16:32 EDT 2012



> The generator should return an Action or something that can be turned

> into an Action.

> See http://www.scons.org/doc/HTML/scons-user/x3755.html



> The only things that can be turned into Actions are a string (which is

> a command to be executed), or a python function (which gets run when

> the action is executed), or lists thereof.



> (see http://www.scons.org/doc/production/HTML/scons-api/index.html if

> you really care.)



> --

> Gary


Thanks for ongoing help, but I'm more puzzled then before :)
_execute function runs from _inside_ the action. And the action that
runs this function expects it to return... another action (this is a
plausible scenario if actions have to be chained, but in my case they
are not)?
I actually could get it working, but in a way, which is probably very
bad... I've overridden the _execute() function in BuilderBase and
removed all mentions of generator and action + all calls that would
cause any reference to either one of these. Now, I'm probably missing
a whole lot of things, if I'm not using action or / and executor, but
I fail to understand how to use them...
One thing I'm concerned with is - it was trying to generate file nodes
from the files, and this went down the drain too... was it important?
How important is it?

So, what are the consequences of not using any of these?
To elaborate: a typical build process of a project is somewhat
involved - you certainly cannot describe it as a single command-line
operation (so action as string is not an option). And I'm having
problems using a function inside the action for two reasons:
- calling the function in this way doesn't let me access associated
builder info (and this is the very important part of the process),
while what it passes into action-function is not important / I could
absolutely do without it.
- I can only prevent the calling action from expecting me to return
another action by weird hack in the BuilderBase. I'm specifically
talking about _do_create_action - this function is called despite my
best effort of avoiding it...


More information about the Scons-dev mailing list