Thread (17 messages) flat view 17 messages, 6 authors, 2016-06-15

Re: git binary size...

From: Linus Torvalds <torvalds@osdl.org>
Date: 2016-06-15 22:42:16


On Thu, 12 Jan 2006, Linus Torvalds wrote:
Repeat after me: "autoconf is crap".
.. which is not to say that some _other_ autoconf-like thing might not be 
good.

The problem I have with autoconf is that it adds absolutely horrendous 
#ifdef's etc all over the place, and the resulting makefile (and the 
config file itself) is just completely unreadable.

The reason autoconf sucks *ss is that it doesn't try to abstract out any 
of the differences between systems, it tries to basically "fix up" the 
differences.

A real abstraction library would be a lot more preferable than autoconf. 
It's kind of the way the git stuff works (ie using things like 
"gitstrcasestr()" and "gitfakemmap()"), but for many of the same reasons 
that autoconf never did a good job, git itself doesn't do a good job (it 
uses "#if" hackery to then do things like "#define mmap gitfakemmap").

But I think the git kind of hackish #ifdef thing is better than the 
_insitutionalized_ horrible autoconf hackery.

There are real abstraction layers out there, but they usually do a lot 
more than just simple autoconf things. They do full system abstraction, 
usually with support for graphical GUI stuff too: layers like Qt, 
wxVidgets, whatever..

Now THAT is a good approach. 

Sadly, for the git kind of area, I don't know of any sane toolkits like 
that. The "gnulib" project could have been something, but it has been 
corrupted by the autoconf disease, as far as I can tell.

Anyway, it _should_ be possible to make a nice "extended posix wrapper" 
with just a single

	#include "libposix.h"

and having a per-system "posix header" that resolves all the stupid header 
file differences, and a "posix library" that adds (or fixes) all the posix 
problems for each platform.

Instead, people still use autoconf ;(

                 Linus
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help