Return-Path: Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 5784 invoked by uid 6000); 4 Mar 1998 20:52:42 -0000 Received: (qmail 5669 invoked from network); 4 Mar 1998 20:52:38 -0000 Received: from twinlark.arctic.org (204.62.130.91) by taz.hyperreal.org with SMTP; 4 Mar 1998 20:52:38 -0000 Received: (qmail 9206 invoked by uid 500); 4 Mar 1998 20:52:41 -0000 Date: Wed, 4 Mar 1998 12:52:40 -0800 (PST) From: Dean Gaudet To: new-httpd@apache.org Subject: Re: cvs commit: apache-1.3/src/include hide.h In-Reply-To: Message-ID: X-Comment: Visit http://www.arctic.org/~dgaudet/legal for information regarding copyright and disclaimer. MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org 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 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. Dean On Wed, 4 Mar 1998 rasmus@bellglobal.com 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 >