Johannes Ring wrote:
> On Sun, Sep 27, 2009 at 8:51 PM, Johan Hake <[email protected]> wrote:
>> On Sunday 27 September 2009 20:18:07 Garth N. Wells wrote:
>>> Johan Hake wrote:
>>>> On Sunday 27 September 2009 19:49:09 Garth N. Wells wrote:
>>>>> Where's the appropriate place in the build system to test for the
>>>>> version number of external libraries? Is it in dolfin/SConscript (using
>>>>>   the simula-scons function 'checkVersion')?
>>>> I do not think we have any defined sections in SConstruct/SConscript
>>>> where this should be done. We have used checkVersion to check for the
>>>> swig version some years ago... It is still there as out-commented code in
>>>> the SConscript file.
>>>>
>>>> I think the function just compare a version string with another handed
>>>> version string, where the numbers are delimited by '.'.
>>>>
>>>> Aren't there any version checks done in the pkg-config generator files?
>>> No, but I guess that's not the place to do it since they are unrelated
>>> to DOLFIN and just produce a foo.pc file.
>>>
>>> I guest the right way is to use 'pkg-config --version foo.pc' rather
>>> than checkVersion.
>> Again, checkVersion is just a function that check if a version string is
>> larger or equal than a passed version string. So the test might look 
>> something
>> like this:
>>
>>  foo_version = getoutput("pkg-config --version foo.pc")
>>  if scons.checkVersion(foo_version,"3.0.0"):
>>      raise Error
>>
>>
>>> Still, I don't know where this check is best performed.
>> Not sure either. I added an extensive check for the SWIG version in
>> SConscript. I have never felt good about that piece of code...
>>
>> With the present state of the build system it is not easy to answer questions
>> like this. However it would be nice to add some functionality to the 
>> scons.cfg
>> file. Instead of passing a list of strings, stating the dependencies we pass 
>> a
>> dict.
>>
>> Something like:
>>
>>  OptDependencies = {'petsc':'3.0.0',
>>                     'slepc':'2.3.3':
>>                     'foo':None,
>>                      ...}
> 
> This is already possible. After a few minor bug fixes I ended up with
> the following OptDependencies in dolfin/scons.cfg:
> 
> OptDependencies = {'petsc': '3.0.0',
>                    'slepc': '3.0.0',
>                    'scotch': '5.1',
>                    'umfpack': '5.2.0',
>                    'gts': '0.7.6',
>                    'trilinos': '7.0.0',
>                    'cholmod': '1.6.0',
>                    'mtl4': '4',
>                    'parmetis': '3.1',
>                    'gmp': '4.2.4',
>                    'zlib': '1.2.3'}
>

Very nice.

Garth


> I'm not sure what the minimum requirements should be for the different
> libraries so please update them if you know.
> 
> Johannes


_______________________________________________
DOLFIN-dev mailing list
[email protected]
http://www.fenics.org/mailman/listinfo/dolfin-dev

Reply via email to