Re: build systems



On Sat, 2007-11-10 at 13:45 +0100, Mikkel Kamstrup Erlandsen wrote:


> Yes, I am aware that Rob was referring to the tarball case.  However
> you still need a horde of build dependencies probably 95% header files
> and then a related set of scripts/tools to build most of the Gnome
> stack. 

and adding the interpreter for the language du jour is not going to
magically remove those dependencies. in fact, it's going to increase
them because:

  1. you will need the interpreter for that language
  2. you will need the modules upon which the new build system is
     going to depend on
  3. you will need the new build system

which means introducing a series of points of failure when trying to
build or cross-compile GNOME.

> My point however is that you still need to install/compile a lot of
> dependencies - who cares if it is installing a script interpreter,
> build system, header files, what not. It is still just a load of extra
> packages to me. 

a whole slew of dependencies and the fact that building for other
platforms is now made more difficult is not what I would call a nice
trade-off for being able to write an installer in python (for instance).


> Why compile a Makefile at all then? Why not just a shell script doing
> the same as make. The configure script is already done this way. Then
> we'd only have a bourne'ish shell and a C compiler as the only
> (executable) dependencies. 

sure. why not just move the bits on the disk using a magnet? the head of
a drive is already doing it, we can do it too.

> In my ideal world a build system would be completely decoupled from
> the implementation - for example like Ant XML with the Java-isms
> converted to generic instructions.

if it were so easy we wouldn't need a separate build environment,
because autotools would be so easy that nobody would be "forced" to
write their own implementation of them.

+++

autotools are hard, we get it; it's not because autotools are some
byzantine system maintained by 15th century inquisitors who delight
themselves in torturing developers: it's because the problem space is
complex, and portability makes it incredibly hard. if ever Scons, waf,
ants, whatever reach the same feature set and portability of autotools
they would become exactly like the autotools.

autotools are like democracy: they are not at all perfect, it's just
that there's nothing that works better.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi,
W: http://www.emmanuelebassi.net
B: http://log.emmanuelebassi.net



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]