an update to automake-1.11?

Kevin Kofler kevin.kofler at chello.at
Tue Jul 7 00:17:50 UTC 2009


Sam Varshavchik wrote:
> Just because you can't read it, it's not gibberish.

It's not that *I* can't read it, it's that it is just plain hard to read, 
especially because it contains workarounds for bazillions of broken 
proprietary *nix shells (trying to use Bourne-style shell code as a portable 
language is a major design failure of its own, there are tons of subtly 
different dialects and megatons of plain bugs).

Try reading that 1.1 MB (!) shell script:
http://svn.calcforge.org/viewvc/emu-
tigcc/trunk/configure?revision=2861&root=emu-tigcc

It's generated from a 9.7 KB configure.ac:
http://svn.calcforge.org/viewvc/emu-
tigcc/trunk/configure.ac?revision=2847&root=emu-tigcc

It uses the stock KDE 3 acinclude.m4 and stock macros fetched by aclocal, no 
special magic.

Needless to say, getting that project off the autotools is a high-priority 
item for me…

> Besides, Merriam-Webster defines "source code" as:
> 
> http://www.merriam-webster.com/dictionary/source%20code
> 
> "a computer program in its original programming language (as FORTRAN or C)

The original programming language is the configure.ac language.

> before translation into object code usually by a compiler"

And the object code is the shell code.

> You learn something new about configure scripts every day. I didn't know
> that gets translated into object code, before execution.

They get translated into shell code which is interpreted by the shell (which 
is used as a kind of VM). But the shell code is clearly NOT the ORIGINAL 
programming language, it's generated.

> Oh, ok. Good luck with your quest to change the mind of everyone who uses
> autoconf, to do it your way.

Actually they should just stop using autoconf because it is not designed for 
doing things right.

And in fact KDE did just that (they moved to CMake and nobody at KDE is 
missing the autotools, quite the opposite!) and several other projects 
followed suit.

        Kevin Kofler





More information about the devel mailing list