httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <>
Subject Re: cvs commit: apache-1.3/src/include hide.h
Date Wed, 04 Mar 1998 20:52:40 GMT
Because it wasn't architected that way.  It was never architected --
that's the problem. 

The apache header files assume they have -Dwhateveros and without it you
cannot assume that anything works.  I certainly am not going to guarantee
that anything works.  What if on some os we need to #include
<sys/foobar.h> to get a proper definition of some system constant which
affects a header?  It'll work correctly when you compile in the apache
tree and will work incorrectly when compiled outside the apache tree... 
and you may end up with a different structure size with things at
different alignments.  Have fun trying to debug that one.

Oh wait you already did have fun trying to debug that one.  Remember the
solaris problems you had until you realised that your .module had
clobbered the -DSOLARIS flag? 

I don't believe that apache has ever made any guarantees that you could
compile against its header files without supplying the #defines that are
supplied in the apache makefiles.

If you want to talk about 2.0 then yeah I completely agree that all of
this is brokenness.  But we're talking about 1.3.


On Wed, 4 Mar 1998 wrote:

> > Rasmus, sorry but I don't agree entirely with how you build your stuff. 
> > If the only interface between PHP3 and Apache was in mod_php3.c and that
> > file was compiled within apache then everything would work.  This is how I
> > assumed you did it.  But now I'm guessing that you call apache API stuff
> > outside of mod_php3.c, inside libphp3.a ... and that scares me.
> > 
> > For example, how do you get the -DSOLARIS2=xxx or -DLINUX=2 or
> > -DwhateverOS switch? 
> Why do I need them?  When I call an AAPI function, I am assuming that this
> function works correctly on my platform.  Are there any AAPI functions
> that I shouldn't call if I am on Solaris, for example?  All this stuff
> should be hidden from me.
> And yes, I call plenty of functions from libphp3.a.  This is how the 
> other *API's work.  With NSAPI you create a .so and with ISAPI a .DLL.
> Why can't Apache's API be architected to work the same way?
> -Rasmus

View raw message