Delivered-To: new-httpd-archive@hyperreal.org Received: (qmail 8719 invoked by uid 6000); 1 Feb 2000 21:51:34 -0000 Received: (qmail 8619 invoked from network); 1 Feb 2000 21:51:29 -0000 Received: from ss08.nc.us.ibm.com (HELO 32.97.136.238) (32.97.136.238) by taz.hyperreal.org with SMTP; 1 Feb 2000 21:51:29 -0000 Received: from johngalt (unverified [9.37.75.6]) by johngalt.raleigh.ibm.com (EMWAC SMTPRS 0.83) with SMTP id ; Tue, 01 Feb 2000 16:51:58 -0500 Message-ID: <01bf01bf6cfe$8fdc0f80$064b2509@raleigh.ibm.com> From: "Bill Stoddard" To: References: <20000201210549.13953.qmail@hyperreal.org> Subject: Re: cvs commit: apache-2.0/src/include httpd.h Date: Tue, 1 Feb 2000 16:51:57 -0500 Organization: IBM Corp. MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2314.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org Status: O I may have been a bit hasty committing this patch and I want to poll the group for opinions. We need MODULE_VAR_EXPORT, et. al. defined -before- any function prototypes are included that require these macros. This implies the definitions need to be in an include file, not inlined in httpd.h (i.e., if the macro definition for API_EXPORT is inlined in httpd.h, then the definition will not happen in time to be used by #includes at the top of httpd.h). Insisting that these definitions go in os.h is probably overkill, because Windows appears to be the only platform that requires special definitions. Formerly, these definitions were in ap_config.h, which is no longer public. I am not too fond of putting these defns into a new file either. Thoughts? Bill ----- Original Message ----- From: To: Sent: Tuesday, February 01, 2000 4:05 PM Subject: cvs commit: apache-2.0/src/include httpd.h > stoddard 00/02/01 13:05:49 > > Modified: src/include httpd.h > Log: > This patch is sure to break someone! > We need to define MODULE_VAR_EXPORT, API_EXPORT, API_VAR_EXPORT, et. al. > in an os specific way and the definitions need to be done as soon as possible > in the include file chain. I choose to use os.h as the preferred mechanism > for doing this (for now anyway) since this is they way it was done for > Apache 1.3. win32/os.h and unix/os.h probably have some Apache private macro > definitions that are being exposed publicly because of this patch. The solution > to this problem is to remove the private definitions from os.h. > > Revision Changes Path > 1.24 +1 -2 apache-2.0/src/include/httpd.h > > Index: httpd.h > =================================================================== > RCS file: /home/cvs/apache-2.0/src/include/httpd.h,v > retrieving revision 1.23 > retrieving revision 1.24 > diff -u -r1.23 -r1.24 > --- httpd.h 2000/02/01 00:06:14 1.23 > +++ httpd.h 2000/02/01 21:05:45 1.24 > @@ -72,13 +72,12 @@ > > > /* Headers in which EVERYONE has an interest... */ > - > +#include "os.h" > #include "apr_general.h" > #include "apr_lib.h" > #include "apr_time.h" > #include "apr_network_io.h" > #include "buff.h" > -#include "ap.h" > #include "ap_mmn.h" > > #ifdef HAVE_NETINET_IN_H > > >