Die GNU autotools

Die GNU autotools

Tzafrir Cohen tzafrir at cohens.org.il
Mon Jan 10 15:45:06 IST 2011


On Mon, Jan 10, 2011 at 03:09:03PM +0200, Nadav Har'El wrote:
> On Mon, Jan 10, 2011, Shlomi Fish wrote about "Re: Die GNU autotools":
> > On Monday 10 Jan 2011 12:49:25 Ilya A. Volynets-Evenbakh wrote:
> > > My feelings too. A while ago I got so tired of autotools that I even
> > > started working on my own build system intended as a semi-drop-in
> > > replacement. It's purely make-based. If interested, take a look at
> > > the sources http://sources.total-knowledge.com/gitweb/?p=adon-banai.git
> > > 
> > 
> > Well, after a small experimentation with SCons ( http://www.scons.org/ ) which 
> > I didn't really like (but is still better than GNU Autohell), I've finally 
> > settled on CMake - http://www.cmake.org/ - which is awesome in almost every 
> 
> It saddens me that people bundle Autoconf and Automake under one name
> "autotools", because it causes people to miss that Autoconf *is* the best
> thing since sliced bread, while the rest of them are, well, not.

It's not just autoconf and automake. It's also libtool and pkg-config.
And some other minor components.

[snip]

> Fast forward 20 years, and autoconf is just as good as it used to be, but
> most people are starting to forget why it was needed, and only remember its
> quirkiness, like the fact it uses the bizarre "m4" as its base.
> One reason why people forget how good autoconf is, is that they hardly see
> different variants of Unix, and the differences between Linux distributions
> are typically smaller. 

Enter Debian.

Install Debian GNU/kFreeBSD (i386 or amd64) on a virtual machine or a
space PC, and get your favorite program to build and run. Note: it's a
FreeBSD kernel, but it's GLIBC.

http://www.debian.org/ports/kfreebsd-gnu/

This is why Debian proudly calls itself GNU :-)

(This is another reason why I keep a MIPS netbook: to force myself
thinking portable)

> Another reason for forgetting autoconf's greatness is
> that "normal" people don't compile any more! Most Linux users get precompiled
> binaries from their distributions, and it is the distribution's packagers
> which do the compilation. 

Many others "build". They run some sort of build system which eventually
calls './configure; make; make install' or something similar. But in a
completely transparent manner.

> Finally, these packagers (who do the compilation)
> don't really care if the source code used autoconf, or a hand-tweaked Makefile,
> because they anyway *patch* the source code with all sort of distribution-
> specific modifications, so they could care less about *patching* the Makefile.
> This state of affairs is, in my opinion, sad.

Packagers do care. Packagers hate hand-crafted makefiles.

> 
> Once you forget why autoconf is important, it's easy to start believing that
> all sorts of unrelated tools could somehow replace it. Things like Cmake
> and Adon-Banai can hardly be considered replacements to Autoconf - perhaps
> they are better "make", perhaps they are "imake done again", but not
> "better than autoconf".
> (note: since I never actually used Cmake or Adon-Banai, I may be missing
> something, so feel free to correct me).

I have never used Adon Banai. I have an educated guess that it is
missing many, many features in more mature build systems. CMake has some
issues of its own, from what I know, but at least it is more mature.

-- 
Tzafrir Cohen         | tzafrir at jabber.org | VIM is
http://tzafrir.org.il |                    | a Mutt's
tzafrir at cohens.org.il |                    |  best
tzafrir at debian.org    |                    | friend



More information about the Linux-il mailing list