httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ben Laurie <...@gonzo.ben.algroup.co.uk>
Subject Re: Apache 1.1b4... where is it?
Date Sun, 16 Jun 1996 20:39:24 GMT
Alexei Kosut wrote:
> 
> On Sun, 16 Jun 1996, Ben Laurie wrote:
> 
> > > 2) Autoconfiscation
> > 
> > I'm still not in favour of this. As I've said before, it is nice for those
> > platforms on which it is tested, but awful when it hits one on which it has not
> > been tested and turns out not to work. In other words, it hinders portability.
> > 
> > I'd rather go for autodetection of the platform combined with something similar
> > to Configure (only better, for instance, I'd like to see module-dependant
> > libraries handled nicely).
> 
> I disagree. Entirely. 100%. Absolutely. Without question. I don't see
> how you can say that autoconf is worse than the current approach for
> untested systems. Okay, let's compare. We'll take two Unix OSes none
> of us have ever heard of, because I made them up. FIX and
> Woodch-UX. We'll also take a look at a common OS, let's say Solaris
> 2.5. Now, let's compare scenarios. First, with Configure, or any
> other platform-dependent approach:
> 
> Solaris: 1. Looks at Configuration.
>          2. Finds the Solaris lines, uncomments them.
>          3. Runs Configure
> 
> FIX: 1. Looks at Configuration.
>      2. Doesn't find FIX lines.
>      3. Is screwed, unless he knows to modify conf.h and knows what
>         his system supports.
>     
> Woodch-UX: 1. Looks at Configuration
>            2. Doesn't find Woodch-UX lines.
>            3. Is scrwed, unless he knows to modify conf.h and knows
>               what his system supports.
> 
> So, under your approach, assuming a non-Unix expert (and with 30,000
> users of our server, that's a good bet for most of them), only one of
> our three platforms works.
> 
> Now let's try autoconf:
> 
> Solaris: 1. types 'configure'. It correctly identifes his system's
>             features.
>          2. 'make' and it's done.
> 
> FIX: 1. types 'configure'. It correctly identifies his system's features.
>      2. 'make' and it's done.
> 
> Woodch-UX: 1. types 'configure'. It tries to identify his system's
>               features and fails.
>            2. User is screwed unless he knows to modify config.h and
>               what his system supports.
> 
> Now, with autoconf, 2/3 of the systems works, even though no one's
> ever hears of the FIX operating system. Not only that, for the systems
> that do work (which are probably 95% of them), it's a lot simpler for
> the user. They don't even need to know the name of their system, or
> anything.
> 
> I simply don't see how autoconf can make things worse. Only
> better. RST's Apache-XX package as it stands now is absolutely a mess,
> configuration wise. You need to edit three Makefiles, plus several
> configuration files. And right now, it only knows six OSes for
> defaults. Do we really want to track down every OS under the sun and
> write defaults for it? Wouldn't it be easier to let autoconf do it for
> us?

Yeah, when it works. The problem I have with it, as I've already said, is when
it doesn't work. In that case, the problem of making it work is in order of
magnitude harder, and coming up with something to make autoconf work for that
system is even harder than that. Now, I guess I can live with a system where
the autodetection part is _clearly_ separated from the generation of headers,
Makefiles, etc., so that on platforms which don't work Joe Average has some
chance of fixing it.

The problem I've always had is that I can't tweak headers and add a few lines
to a script somewhere with autoconf, I end up having to read, and attempt to
understand, all the tests it does in order to fix the broken test. In my
experience this takes _much_ longer than figuring out what my O/S supports
and adding some stuff to conf.h. And, when you send the patch to the authors,
they come back and say "what use is a patch to configure? Go and install
autoconf and fix the sources". Or, "what use is a patch to the headers? Tell us
how to autodetect the problem". Sure!

Now, it may be that Apache's requirements are simple enough that this doesn't
matter, and I'm not entirely averse to the idea of learning to use autoconf, so
I guess I'm prepared to test the waters, so long as I get to step back and say
"I told you so" when it becomes a support nightmare ;-)

I'd also be considerably happier about the thing if we try to find a clear and
simple way to disable autoconf and use manual configuration.

Cheers,

Ben.

> -- 
> ________________________________________________________________________
> Alexei Kosut <akosut@nueva.pvt.k12.ca.us>      The Apache HTTP Server
> URL: http://www.nueva.pvt.k12.ca.us/~akosut/   http://www.apache.org/
> 

-- 
Ben Laurie                  Phone: +44 (181) 994 6435
Freelance Consultant and    Fax:   +44 (181) 994 6472
Technical Director          Email: ben@algroup.co.uk
A.L. Digital Ltd,           URL: http://www.algroup.co.uk
London, England.

Mime
View raw message