httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sascha Schumann <sas...@schumann.cx>
Subject Re: Moving things around
Date Fri, 05 May 2000 03:14:52 GMT
On Wed, May 03, 2000 at 08:08:22AM -0400, Jim Jagielski wrote:
> Sascha Schumann wrote:
> > 
> > Hi,
> > 
> > attached is a first draft of a flowchart of a important part of
> > the Apache 2.0 build system. Your input is appreciated.
> 
> This is nice!
> 
> > Now some more text:
> > 
> > The MPM determines how Apache and subsequent libraries will be
> > built. Before we can make any qualified assumptions about the
> > build process, we must know which MPM gets chosen.
> > 
> > We need to know the requirements (feature sets) each MPM needs to
> > operate. At the beginning, we check which feature sets are
> > available on the target platform. 
> 
> This implies that APR is configured before the MPM selection
> process is done...  I know that we had talked about the order
> of the configures, with, IIRC, the general agreement being it
> should be the reverse of what is is (ie: it should be MM ->
> APR -> Apache) :)

Let me clarify why that won't work.

Everything (including APR and MM) depends on which MPM gets chosen,
because it can change *everything* depending on what feature set
is associated with the MPM.

So the order must be:

  Choose MPM

  Apache's feature checks (this cannot be dropped unless APR
  provides a complete compatibility layer. I don't think that's
  necessary, the current system works quite well.)

  APR's configure, considering data (i.e. ac_cv_enable_threads)
  passed in from the application using APR.

  APR will determine whether shared memory support is needed and
  runs mm's configure accordingly.

I've attached a patch which reorders some things. In particular:

* MPM's are now considered special modules, so they are treated
  before any library/header/function checks.

* mpm/config.m4 was cleaned up to avoid some code redundancy in
  the config code of MPMs. Utilizes feature sets now.

* The env variable MPM_HINT is now supported. It should be set in
  hints.m4 to the preferred MPM of the target platform.

* APR's threads check has been cleaned up

* Pthread.h is recognized now on OpenBSD. And we can finally
  build on FreeBSD 2.2.x. Yeah! :)

- Sascha

Mime
View raw message