From: pHilipp Z. <phi...@gm...> - 2007-10-15 15:46:19
|
On 10/14/07, Tim Smith <und...@go...> wrote: > > the SwigWrappers builder has an emitter that adds the generated files > > (.i, _wrap.cxx, _wrap.h) to this Builder's targets. I would expect that > > SCons cleans all targets when called with -c. But I can see that it doesn't > > do that here, either. Bug in SCons or am I using it incorrectly? > > As far as I understand the docs everything looks ok. > > > > > Even adding those files explicitly with the Clean() directive doesn't > > seem to work: > > > > @@ -178,7 +180,9 @@ > > interfacefiles.append(f[2:]) > > else: > > interfacefiles.append(f) > > - generate_swig_wrappers(interfacefiles) > > + > > + swig = env.SwigWrappers('swigwrappers/python/fife', interfacefiles) > > + Clean(swig, ['swigwrappers/python/fife.i', > > 'swigwrappers/python/fife_wrap.cxx', > > 'swigwrappers/python/fife_wrap.h']) > > I guess this doesn't work because those lines are inside a "if not > env.GetOption('clean'):" block; when the block is run unconditionally > the generated files are removed but I get a scons warning about "two > different environments were specified ...". Heh, thanks. That's the reason of course. The attached patches now build, install and clean correctly for me (Linux, Python 2.5.1, SCons 0.97). I don't see the warning you mention. I also noticed that SCons has some kind of integrated SWIG support, but just adding fife.i to the SharedLibrary's sources didn't seem to work. Right now I think I have to lose the hard-coded python generation and python2.5 site-packages path and maybe fix project file generation. I just turned it off unless projfiles=1 is given. Comments? Does the script work on Win32, too, like that? cheers Philipp |