Die GNU autotools

Die GNU autotools

Elazar Leibovich elazarl at gmail.com
Mon Jan 10 23:22:46 IST 2011


On Mon, Jan 10, 2011 at 9:56 PM, Tzafrir Cohen <tzafrir at cohens.org.il>wrote:

> [snipped]
> Yeah. You have your own hand-crafted Makefiles. With the only
> special-case of Darwin. No need to be portable.
>

All your issues are valid from purity POV. Indeed in some rare cases
compiling C files with g++, when cross compiling from Mac OS X to other
platform (wow, when would that happen?), you'll have to edit a single, easy
to understand line in the top of the makefile, and make distclean doesn't
make sense really, it should be dropped altogether (care to issue a bug
report?).

But then again, this software is usable today on many platforms, and it
makes life easier maintainance-wise for 99.9% of the use cases, and using it
in a special way is possible without too much hassle.

Let's compare the situation there with the situation of VLC which uses
autotools.
I had once the doubted pleasure of cross-compiling version 0.86 of VLC to
windows on Linux (as recommended by the docs) with a modern distribution
software today.
As expected this beast didn't compile even though I had the very same
version of gcc and the exact binary libraries required by 0.86. What
happened is that for some reason (maybe the autotools version wasn't 100%
the same of the autotools version they originally used to build 0.86, or I
don't know what) the autogenerated libtool script was broken, reading it and
editing the m4 file which generated it was a very difficult job. So I ended
up reimplementing libtool with python.

So yes, you'll have errors even with autotools, but I'd rather debug the
errors of a hand written readable Makefile than the errors of autotools
script. (BTW m4 and bash are indeed Turing complete, but they make great job
obfuscating your Turing machine ;-)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cs.huji.ac.il/pipermail/linux-il/attachments/20110110/78071c34/attachment.html>


More information about the Linux-il mailing list