git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: git binary size...

From
Linus Torvalds <torvalds@osdl.org>
Date
Jan 12, 2006, 18:46 UTC
Message-ID
<Pine.LNX.4.64.0601121033020.3535@g5.osdl.org>
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
Previous: Johannes SchindelinNext: H. Peter Anvin
Message 15 of 18 in “git binary size...”
  1. Linus TorvaldsJan 11, 2006
  2. Andreas EricssonJan 11, 2006
  3. H. Peter AnvinJan 11, 2006
  4. Andreas EricssonJan 11, 2006
  5. H. Peter AnvinJan 11, 2006
  6. Andreas EricssonJan 11, 2006
  7. Junio C HamanoJan 11, 2006
  8. Linus TorvaldsJan 11, 2006
  9. H. Peter AnvinJan 11, 2006
  10. Coywolf Qi HuntJan 12, 2006
  11. Andreas EricssonJan 12, 2006
  12. H. Peter AnvinJan 12, 2006
  13. Linus TorvaldsJan 12, 2006
  14. Johannes SchindelinJan 12, 2006
  15. Linus TorvaldsJan 12, 2006
  16. H. Peter AnvinJan 12, 2006
  17. Jon LoeligerJan 20, 2006
  18. Linus TorvaldsJan 12, 2006

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.