httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From <...@covalent.net>
Subject Re: [PATCH] Build process
Date Mon, 16 Apr 2001 22:52:22 GMT

+1 for the theory, +0.5 for the approach.  The only reason I didn't give
the patch a +1, is that I hate Makefiles, and I don't feel utterly
confidant reviewing this patch.  :-)

Ryan

On Mon, 16 Apr 2001, David Reid wrote:

> Folks,
>
> At ApacheCon I talked to a few people about altering the way the build
> process is done in apache.  There was general agreement on the principal,
> and here is the patch.
>
> http://www.apache.org/~dreid/diffs
>
> The reason for the change may not be apparent to a lot of people 9from my
> conversations it's not) so I'll try to explain.
>
> On some platforms ("brain dead" may well describe them) in order to build a
> DSO we need to provide FULL link details in one way or another.  On some
> platforms it needs a complete list of symbols (AIX) and on others it needs
> to be able to resolve all symbols at link time.  In fact on BeOS it's even
> more bizarre (well you'd have guessed that wouldn't you??).
>
> The solution to a lot of these seems to be to change the build process to 2
> stages.
>
> At present when we do a build we make every object we need in the sub
> directories, static or shared.  In reality we only need to make the static
> objects as the aim of the make is to get the httpd executable.  This becomes
> our first step.  Simply go through and make all static objects and link the
> httpd and support binaries.
>
> Step 2 we simply walk the directory structure and build all the shared
> objects we need.  Before and after we do this we have an opportunity to have
> a platform specific command executed.  The intent of these commands is where
> we get a lot of the flexibility that this patch offers.  On AIX we can
> generate our list of symbols direct from the httpd binary, on BeOS we can
> create and destroy the link we'll link against, on other platforms we can do
> whatever is required.
>
> If we aren't doing any shared object builds then we don't even consider step
> 2, simply do step 1 and so nothing changes.
>
> This has been tested on FreeBSD 4.3 and BeOS so far and Victor has used to
> on AIX (with I think some success).
>
> If I don't hear any violent concerns I'll commit before I go to Denver on
> Thursday.
>
> david
>
>
>


_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Mime
View raw message