← Back to team overview

dolfin team mailing list archive

Re: DOLFIN 0.9.1 released

 

On Tuesday 17 February 2009 22:42:13 Anders Logg wrote:
> On Tue, Feb 17, 2009 at 09:18:05PM +0000, Garth N. Wells wrote:
> > DOLFIN 0.9.1 has just been released. The ChangeLog can be found here:
> >
> >      http://www.fenics.org/pub/software/dolfin/ChangeLog
> >
> > Garth
>
> I'll try to release FFC and UFC tomorrow.
>
> Viper and Instant?

At least Instant need a release.

I have some code for including the just added __ufc__ version in the signature 
of an FFC.jit compiled form that would be nice to have in before a release of 
FFC.

Johan

# HG changeset patch
# User "Johan Hake <hake@xxxxxxxxx>"
# Date 1234908751 -3600
# Node ID 48e5ac0cfd9bc01ff9b7266b1f0ddf70cc2e26d2
# Parent  c5f2d145511efdcb68cfa98130f562698ddf70bb
Added ufc version in the sigature of the JIT compiled form
Updated ChangeLog with some recent changes related to JIT compilation of forms

diff -r c5f2d145511e -r 48e5ac0cfd9b ChangeLog
--- a/ChangeLog	Tue Feb 17 13:22:10 2009 +0100
+++ b/ChangeLog	Tue Feb 17 23:12:31 2009 +0100
@@ -1,3 +1,6 @@
+ - The version of ufc and swig is included in the form signature
+ - Better system configuration for JIT compiled forms
+ - The JIT compiled python extension module use shared_ptr for all classes
 0.6.0 [2009-01-05]
  - Update DOLFIN output format (-l dolfin) for DOLFIN 0.9.0
  - Cross-platform fixes for test scripts
diff -r c5f2d145511e -r 48e5ac0cfd9b ffc/jit/jit.py
--- a/ffc/jit/jit.py	Tue Feb 17 13:22:10 2009 +0100
+++ b/ffc/jit/jit.py	Tue Feb 17 23:12:31 2009 +0100
@@ -69,6 +69,11 @@
     module = instant.import_module(jit_object, cache_dir=options["cache_dir"])
     if module: return extract_form(form, module)
     
+    # Check system requirements
+    # NOTE: This need to be done before signature creation as we here check for 
+    # both UFC installation and SWIG excistence which is needed in the signature
+    (cppargs, cpp_path, swig_path) = configure_instant(options)
+
     # Generate code
     debug("Calling FFC just-in-time (JIT) compiler, this may take some time...", -1)
     signature = jit_object.signature()
@@ -79,9 +84,6 @@
     debug("Creating Python extension (compiling and linking), this may take some time...", -1)
     filename = signature + ".h"
     
-    # Check system requirements
-    (cppargs, cpp_path, swig_path) = configure_instant(options)
-
     # Add shared_ptr declarations
     declarations = extract_declarations(filename)
     
diff -r c5f2d145511e -r 48e5ac0cfd9b ffc/jit/jitobject.py
--- a/ffc/jit/jitobject.py	Tue Feb 17 13:22:10 2009 +0100
+++ b/ffc/jit/jitobject.py	Tue Feb 17 23:12:31 2009 +0100
@@ -9,6 +9,9 @@
 # FFC compiler modules
 from ffc.compiler.analysis import simplify, analyze
 from ffc.common.constants  import FFC_VERSION
+
+# Import ufc version
+from ufc import __version__ as ufc_version
 
 class JITObject:
     """This class is a wrapper for a compiled object in the context of
@@ -57,7 +60,7 @@
         swig_version = get_swig_version()
         options_signature = str(self.options)
         string = ";".join([form_signature, element_signature, swig_version, \
-                           options_signature, FFC_VERSION])
+                           options_signature, FFC_VERSION, ufc_version])
         self._signature = "form_" + sha1(string).hexdigest()
 
         # Store form data and signature in form for later reuse

Follow ups

References