[maemo-developers] [maemo-developers] why autotools?

From: Timo Savola tsavola at movial.fi
Date: Mon Sep 26 00:10:26 EEST 2005
On Sun, Sep 25, 2005 at 04:41:16PM -0300, Gustavo Barbieri wrote:
> On 9/25/05, Asko Kauppi <askok at dnainternet.net> wrote:
> >
> > Scons can do the compile-time-dependency checks quite nicely, but
> > admitted, it's a different way of thinkin' altogether (build scripts
> > are all Python).  Anyhow, the reasoning you guys are giving is
> > meaningful, although I still think use of autotools is slowing down
> > package creation unnecessarily. Good points, tho.
> >
> > btw, One neat thing I especially value in Scons is the way it
> > considers changes in compilation flags as a trigger for
> > recompilation. That is, it's much more clever than regular make, and
> > essentially takes away the need to 'make clean' every so often.
> 
> I'm a SCons lover too, but I must admit it lacks a big library test as
> autotools have, things like test for gtk, sdl, alsa, ... must be coded
> by hand (however there are examples on scons.org/ wiki).

Autoconf's library tests can also be seen as a bad thing; my experience
is that autoconf often does unnecessary and slow tests.  Configuration
can be a significant part of the build time of a small package.  Also, at
least I haven't figured out a way to skip the C-compiler and C-library
related tests when building a C++ application that uses neither.

While SCons is more advanced that make, it is still more of a low-level
tool than the autotools are.  There should be a layer on top of SCons
that fills the gap: for example, interfacing with pkg-config.

> We could change that proposing SCons replacements for current
> tutorials and even packages.

Btw. before someone complains that maemo lacks SCons: the development
version (and the upcoming 1.0.2 release) of Scratchbox includes it.  (It
needs patching to work in the Scratchbox environment because it runs the
build programs in a reconstructed environment with Scratchbox's vital
environment variables removed.)

timo

More information about the maemo-developers mailing list