← Back to team overview

dolfin team mailing list archive

Re: Build tests

 

Nice demos. Things are a lot easier when experts are on hand (a point in
favour of SCons?).

In fairness, the compile flags are not the same for all three cases, so
the comparison of build times is not really objective. Impressive is the
simplicity of SCons and CMake (CMake in particular).

I think that autotools is no competition for SCons or CMake in terms of
simplicity, and I would be happy to work with either. I don't know
enough to make an genuinely informed decision. I did see on the web that
KDE will now use CMAke after originally going for SCons. An issue was
poor non-Linux platform support with SCons.

Garth


Anders Logg wrote:
> As promised, I have now put up test builds for DOLFIN with Autotools,
> SCons and CMake. Thanks to Arve Knudsen for putting together the
> builds. The packages can be found here:
> 
>   http://www.fenics.org/pub/software/misc/build-tests-2006-10-24/
> 
> This is a stripped-down version of DOLFIN with just a few of the
> libraries (linear algebra and dependencies) and one simple demo.
> 
> I ask anyone who is interested to download and compare the three
> different builds of DOLFIN and submit any comments to dolfin-dev.
> 
> Here are some initial statistics:
> 
> Autotools:
> 
>   preconfigure:  8 s (aclocal, automake, autoconf)
>   configure:    16 s
>   make install: 60 s
>   make demo:     4 s
>   -----------------
>   total:        88 s
> 
>   configuration files: 45 files, 50,000 lines
> 
> SCons:
> 
>   scons:        36 s
>   -----------------
>   total:        36 s
> 
>   configuration files: 4 files, 250 lines
> 
> CMake:
> 
>   cmake:        1 s
>   make:        32 s
>   -----------------
>   total:       33 s
> 
>   configuration files: 4 files, 73 lines
> 
> Here are some initial comments:
> 
> Autotools is "standard" but is slow, difficult to understand, composed
> of a number of different tools (autoconf, automake, libtool, aclocal,
> m4 scripts etc etc). Look also at the total number of lines of code in
> configuration files: 50,000!
> 
> SCons is fast and brings down the number of lines of code needed to
> set up the configuration. It's also attractive because it's Python so
> you can do pretty much what you want in the configuration files. This
> is also the drawback. You usually end up doing a significant amount of
> coding in the configuration files. There is also no clear separation
> of configure phase and build phase.
> 
> CMake is fastest and is also the smallest in terms of the size of the
> configuration files. A large part of the configuration is just the
> listing of the files to be compiled. The drawback would be that no one
> here knows CMake very well, whereas a lot of people at Simula know
> Scons *very* well. (Too well one could argue...)
> 
> A fourth option would be the PETSc build system, which could be an
> option if there was a manual (maybe there is?) and a user community.
> 
> /Anders
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev
> 




References