You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Bill Stoddard <st...@raleigh.ibm.com> on 2000/02/01 22:51:57 UTC
Re: cvs commit: apache-2.0/src/include httpd.h
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: <st...@hyperreal.org>
To: <ap...@apache.org>
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
>
>
>
Re: cvs commit: apache-2.0/src/include httpd.h
Posted by rb...@apache.org.
The answer is to do what Manoj and I have been wanting to do, but haven't
had the time. We need to create a public header file that modules can
include without fear of leaking macros. Manoj and I both agree this is
the right way to go and I mentioned it in a commit I made about a week
ago. Manoj and I are both busy right now trying to get out to the west
coast. When we have thtime, one of us will create the module header file
that takes care of all of the current issues with USE_HSREGEX and the
MODULE_VAR_EXPORT, etc. Or, somebody else (who isn't moving all the way
across the country) could go ahead and make this change soon. :-)
Ryan
On Tue, 1 Feb 2000, Bill Stoddard wrote:
> 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: <st...@hyperreal.org>
> To: <ap...@apache.org>
> 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
> >
> >
> >
>
>
Come to the first official Apache Software Foundation
Conference!!! <http://ApacheCon.Com/>
_______________________________________________________________________________
Ryan Bloom rbb@ntrnet.net
2121 Stonehenge Dr. Apt #3
Raleigh, NC 27615 Ryan Bloom -- thinker, adventurer, artist,
writer, but mostly, friend.
-------------------------------------------------------------------------------