[Scons-users] emitter create dependency cycle
    Philipp Kraus 
    philipp.kraus at flashpixx.de
       
    Wed Sep  4 09:01:03 EDT 2013
    
    
  
On 2013-09-04 12:51:50 +0000, Gary Oberbrunner said:
> 
> 
> 
> 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
Hi Gary,
IMHO I can use ignore, because only the targets are needed, but how can 
I use ignore in my builder script - not in my build (SConstruct) script?
I need the package call, is it SCons.Ignore, isn't it?
Thanks
Phil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://four.pairlist.net/pipermail/scons-users/attachments/20130904/e4b7ff84/attachment.html 
    
    
More information about the Scons-users
mailing list