[Scons-users] emitter create dependency cycle

Gary Oberbrunner garyo at oberbrunner.com
Wed Sep 4 08:51:50 EDT 2013


On Tue, Sep 3, 2013 at 7:48 AM, Philipp Kraus <philipp.kraus at tu-clausthal.de

> wrote:



> Hi,

>

> I have written a builder with an emitter. Input is a SCons.Node.FS.Dir

> object and out SCons.Node.FS.File objects, but the input directory exists,

> so only files will be append to the directory.

> The emitter creates the file list and returns only the files (the

> directories are removed first). In this step I get a dependency cycle

> between the input source dir and the returning target files.

> If I replace in the emitter the source with a pseudo name, everything

> works fine, but I can not work with a dir object.

>

> The emitter shows something like this

> def __emitter(target, source, env) :

> // do something with source and create target list

>

> return target, source

>

> This creates the cycle, on changing to

> return target, str(source[0])+"#pseudo"

> the cycle does not exists anymore, but the source object is not a Dir

> object in my builder call, so I need to remove the "#pseudo" string, but

> in this case I can not create a new Dir object,

> eg SCons.Node.FS.Dir( str(source[0]).replace("#pseudo", "") ) does not

> work.

>


Can you use Ignore() to make the dir ignore the new files you're creating?

http://www.scons.org/doc/2.3.0/HTML/scons-user.html#AEN1275

--
Gary
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130904/c97dfd5d/attachment.htm


More information about the Scons-users mailing list