Russell Nelson <[EMAIL PROTECTED]> writes:

> Well, Russ, I guess you've never been bitten by config.cache.

No, I can honestly say that I've never been bitten by config.cache.  I've
run configure, seen a bunch of things show up as cached when I knew I
didn't have a valid cache, and deleted the cache file and started again.
But anyone who's compiling software for multiple platforms out of the same
source area is going to need to deal with issues like that.

That's what make distclean is for.

> autoconf needs it because it's monolithic.

autoconf most certainly is not monolithic.  It *generates* a monolithic
shell script, precisely because that shell script is performing
workarounds for things that Dan doesn't deal with and is producing output
in a form that Dan doesn't use.  The output forms autoconf uses aren't
that ideal for small packages; for a large package, they're workable and
relatively efficient and Dan's method would be *very* annoying to deal
with IMO.  I wouldn't want to have to remember what thirty-two different
autogenerated header files I needed to include for that particular set of
features.

But the autoconf package itself is no more monolithic than Dan's tests
are.  It's a bunch of completely separate macros you can take or leave as
you want.

> Take Dan's makefile for instance.  It's complicated, sure, but unlike
> the makefiles created by autoconf, it's readable.

autoconf doesn't create Makefiles; I'm wondering if you're objecting to
autoconf because you don't actually know very much about it.  And Dan's
makefile most certainly is not very readable; it has all the rules in
alphabetical order rather than grouped by either order of dependency or by
function, making figuring out how anything is working an excercise in tons
of grepping.

> And it's comprehensive.  Change one thing, and only those files that
> depend on it get rebuilt.

That has to do with dependencies and has nothing to do with autoconf at
all.

> Sorry, Russ, but autoconf is a lose (compared to Dan's methods --
> obviously it's much better than the old "edit the Makefile; edit
> config.h; make; iterate" way).  It's just wrong, all the way.

I appreciate that you think so.  I disagree.

-- 
Russ Allbery ([EMAIL PROTECTED])         <URL:http://www.eyrie.org/~eagle/>

Reply via email to