[Scons-users] Builder Chains Not Working?

Mark Ribau mribau at realtaentertainment.com
Wed Nov 14 18:12:58 EST 2012


I should also note that if we have this block instead:

ret = env.MultiBuilder1("target2.json", ['target1.json', 'source2.json'])
#ret = env.Builder2("target2.binary", "target2.json")
#ret = env.InstallAs(os.path.join(installBase,"target2.binary"),
"target2.binaryplatform")
env.Alias( "myalias", True, ret)

We end up with a target2.json file correctly. The two commented out lines
are what cause issues.
*
*
*
*
----
*mark ribau*
*software engineer*


On Wed, Nov 14, 2012 at 2:40 PM, Mark Ribau
<mribau at realtaentertainment.com>wrote:


> How should we dynamically add discovered dependency targets if not in the

> emitter?

> *

> *

> *

> *

> ----

> *mark ribau*

> *software engineer*

>

>

> On Wed, Nov 14, 2012 at 2:20 PM, William Deegan <bill at baddogconsulting.com

> > wrote:

>

>> Mark,

>>

>> On Nov 14, 2012, at 3:58 AM, Mark Ribau <mribau at realtaentertainment.com>

>> wrote:

>>

>> So I've got a series of builders, that successively can build from a root

>> source file, each building a target from the previous.

>>

>> in deeper SConscripts:

>> env.Builder1("target0.json", "source0.json")

>>

>> in Builder1's emitter:

>> env.MultiBuilder1("target1.json", "target0.json")

>>

>> in a parent SConscript:

>>

>> ret = env.MultiBuilder1("target2.json", ['target1.json', 'source2.json'])

>> ret = env.Builder2("target2.binary", "target2.json")

>> ret = env.InstallAs(os.path.join(installBase,"target2.binary"),

>> "target2.binaryplatform")

>> env.Alias( "myalias", True, ret)

>> *

>> *

>> *

>> *

>> The problem I have is that it attempts to build the final thing in the

>> chain, and never builds the previous ones. The dependency graph looks

>> correct though:

>>

>> +-myalias

>> +-install\target2.binary

>> +-data\target2.binaryplatform +-data\target2.json |

>> +-data\target1.json | | +-data\folder\target0.json

>> | | | +-data\folder\source0.json

>> | +-data\source2.json

>>

>> The error we are getting is:

>> scons: *** [data\target2.binaryplatform] data\target2.json: No such file

>> or directory

>>

>>

>> Fairly certain you shouldn't do anything but add the sources and targets

>> in the emitter.

>>

>> Also the arguments to InstallAs() are (target,source) and not

>> (source,target) as you have above (I believe).

>>

>> _Bill

>>

>> _______________________________________________

>> Scons-users mailing list

>> Scons-users at scons.org

>> http://four.pairlist.net/mailman/listinfo/scons-users

>>

>>

>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20121114/7f08e4df/attachment.htm>


More information about the Scons-users mailing list