httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: ap_ac_config.h, os.h & ap_config_auto*.h
Date Fri, 21 Jan 2000 15:32:37 GMT

Okay, here's the rundown.

ap_config.h is basically a wrapper that will go away in time, it includes
ap_ac_config.h.  In time, this will become ap_ac_config.h, but we are
waiting until things become a bit more stable with the configuration.

ap_ac_config.h is a hand-written configuration header that basically
generates most of the Apache macros.  Anything that we need to define by
hand goes in this header.  This header includes ap_config_auto.h.

ap_config_auto.h is the autoconf generated header file.  We have no
control over this header file.  The file is generated
for us, as is the ap_config_auto.h file.  This information is generated
based on what tests are used in the configure step.

httpd.h can not include any config header file because those header files
aren't public, but httpd.h is.  Every module out there include httpd.h, if
httpd.h includes any of the config headers, then the macros defined by
those headers become public knowledge, and we have macro collision.
Consider PHP, PHP uses autoconf, and checks for the crypt function.
Therefore, HAVE_CRYPT is defined for PHP.  Apache makes the same check,
and this macor is defined in ap_config_auto.h.  If httpd includes ANY of
the header files, then Apache's HAVE_CRYPT will be defined when PHP tries
to include httpd.h, and we get collision.

httpd.h does not need any information from the configuration headers.  I
know this because it currently works on Linux, where httpd isn't including
any config header file.  What Windows needs to do, is create
ap_config_win32.h, which mimics ap_config_auto.h almost exactly, only the
values are correct for Win32 platforms.

If this isn't clear, I would be more than happy to answer any left over


On Fri, 21 Jan 2000, Bill Stoddard wrote:

> There appears to be a lot of overlap in the purpose of each of these config
> files and I don't grok where we are going. On Windows, os.h contains a lot
> of stuff that could go into a new file, ap_config_auto_windows.h. Or we
> could just leave platform specific defines in os.h for platforms that do not
> support autoconf.  I think I prefer the former.
> Ryan, you mentioned that httpd.h could no longer include ap_config.h.  Why?
> Is there a problem with including ap_config_auto*.h in httpd.h? Some of the
> defines are required by httpd.h.
> Bill
> ________________________________________________
> Bill Stoddard
> Come to the first official Apache Software Foundation
> Conference!  <http://ApacheCon.Com/>

Come to the first official Apache Software Foundation
Conference!!!   <http://ApacheCon.Com/>

Ryan Bloom               
2121 Stonehenge Dr. Apt #3
Raleigh, NC 27615		Ryan Bloom -- thinker, adventurer, artist,
				     writer, but mostly, friend.

View raw message