From: Linus Torvalds <torvalds@osdl.org>
To: Andreas Ericsson <ae@op5.se>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: git binary size...
Date: Thu, 12 Jan 2006 10:46:48 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.4.64.0601121033020.3535@g5.osdl.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0601121013030.3535@g5.osdl.org>
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
next prev parent reply other threads:[~2006-01-12 18:47 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-11 18:26 git binary size Linus Torvalds
2006-01-11 19:14 ` Andreas Ericsson
2006-01-11 19:39 ` H. Peter Anvin
2006-01-11 19:54 ` Andreas Ericsson
2006-01-11 19:56 ` H. Peter Anvin
2006-01-11 20:00 ` Andreas Ericsson
2006-01-11 19:40 ` Junio C Hamano
2006-01-11 19:44 ` Linus Torvalds
2006-01-11 19:58 ` H. Peter Anvin
2006-01-12 10:15 ` Coywolf Qi Hunt
2006-01-12 13:49 ` Andreas Ericsson
2006-01-12 17:37 ` H. Peter Anvin
2006-01-12 18:13 ` Linus Torvalds
2006-01-12 18:32 ` Johannes Schindelin
2006-01-12 18:46 ` Linus Torvalds [this message]
2006-01-12 19:16 ` H. Peter Anvin
2006-01-20 18:00 ` Jon Loeliger
2006-01-12 18:12 ` Linus Torvalds
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Pine.LNX.4.64.0601121033020.3535@g5.osdl.org \
--to=torvalds@osdl.org \
--cc=ae@op5.se \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).