On Fri, Jan 23, 2009 at 11:48 AM, Johan Hake <[email protected]> wrote: > On Friday 23 January 2009 11:27:31 Ola Skavhaug wrote: >> On Fri, Jan 23, 2009 at 10:32 AM, Johan Hake <[email protected]> wrote: >> > On Friday 23 January 2009 10:09:12 Martin Sandve Alnæs wrote: >> > > On Fri, Jan 23, 2009 at 9:39 AM, Johannes Ring <[email protected]> >> > >> > wrote: >> > > > On Thu, January 22, 2009 19:10, Johan Hake wrote: >> > > >> On Thursday 22 January 2009 17:02:41 A Navaei wrote: >> > > >>> Johan, >> > > >>> >> > > >>> Thanks, instant-clean did the trick! Maybe this should be somehow >> > > >>> automated. >> > > >> >> > > >> Yes, I have thought about it. >> > > >> >> > > >> Is it possible to add a call to instant-clean in the install script >> > > >> of the ffc >> > > >> and dolfin packages Johannes? >> > > > >> > > > Yes, it is possible to add post installation scripts to the FFC and >> > > > DOLFIN packages (and perhaps Instant) that runs instant-clean. Should >> > > > I add this? >> > > > >> > > > Johannes >> > > >> > > Can you add it to SyFi as well please? But we don't want this in >> > > development versions though, we should at least have an option >> > > to avoid it. >> > >> > I think it will be sufficient to add the automatic cleaning in the ubuntu >> > scripts. >> > >> > I can add the swig version to the signature generation in ffc and dolfin. >> > >> > While on the topic, does instant check whether swig is installed, when a >> > module is built? Also I have on several occasions now checked for the >> > swig version. Should I put this code in instant, e.g. >> > >> > check_swig_version("1.3.35") >> > >> > It will return false if the current swig version is lesser than "1.3.35"? >> > I think it would be natural for instant to provide such a function. >> >> There is a related problem that needs to be adressed here. If you build an >> extension of a module wrapped with version x of swig, you should require >> the same version of swig in instant. Perhaps the >> check_swig_version("1.3.35") should only return true if you have exactly >> that version. Another function, a-la >> >> assert_swig_min_version("1.3.35") > > This could probably be kept in one function. By default the function returns > whether a version of swig is equal or greater than the prescribed version, > and: > > check_swig_version("1.3.35", equal = True) > > will return true only if the version is the same as the prescribed one? > > The assertion functionality will then be handled by the function that use > instant, i.e., ffc, sfc, dolfin compile_function a.s.o.
But FFC isn't compiled with SWIG. Dolfin will have to do that, for example at import time. >> could be used to make sure you got a recent enough swig. >> >> For example, if I have built dolfin with version 1.3.36 of swig, and then >> upgraded swig to 1.3.37, chances are good that the type info in the >> instant-generated extension (swig v1.3.36) will not be compatible. > > Sounds also like a nice feature. If we want this we need to include that in > the call to the ffc.jit(). Then can PyDOLFIN call jit with the version of > swig it was compiled with. > > This information could probably be stored by letting scons produce a file with > the function swig_version(). This makes it a bit more complex, but it is > doable and makes this multi-swig-module thing we are doing a bit more robust. Why not just use the SWIG_VERSION variable Ola mentioned? > > Johan > >> Ola >> >> > Even better would be adding version numbers to the checksum, >> >> Ok, this was what Anders suggested? If so I can probably add this too. >> >> > > make instant keep a most recently used list, add a max cache size >> > > option to ~/.instant/intantrc, and let instant clean up the oldest >> > > modules whenever it adds stuff to the cache which exceeds its >> > > quota. >> > >> > Sounds nice. >> > >> > > And we should probably add another feature to instant: >> > > providing a cache subfolder name. Then instant-clean can >> > > take an argument to clean only the "ffc" cache subfolder etc. >> > >> > This should be quite easy to add right? Just add: >> > >> > cache_subfolder=None, >> > >> > to build_module(), copy_to_cache() and get_default_cache_dir() in >> > instant, and >> > of course implement the functionality. Then instant-clean has to be >> > altered. >> > >> > >> > Johan >> > _______________________________________________ >> > DOLFIN-dev mailing list >> > [email protected] >> > http://www.fenics.org/mailman/listinfo/dolfin-dev<https://www.fenics.org/ >> >mailman/listinfo/dolfin-dev> > > > _______________________________________________ DOLFIN-dev mailing list [email protected] http://www.fenics.org/mailman/listinfo/dolfin-dev
