You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2001/01/29 15:48:11 UTC

RE: cvs commit: httpd-2.0/include ap_compat.h

[Moved from new-httpd@apache.org]

> From: Ben Laurie [mailto:ben@algroup.co.uk]
> Sent: Monday, January 29, 2001 8:32 AM
> 
> "William A. Rowe, Jr." wrote:
> > 
> > > From: Ben Laurie [mailto:ben@algroup.co.uk]
> > > Sent: Monday, January 29, 2001 3:53 AM
> > >
> > > Greg Stein wrote:
> > > >
> > > > These should all have license text at the top.
> > >
> > > BTW, what's the deal with the "apu_" prefix?
> > 
> > Just avoiding namespace clashes.  Could be wordy and rename 
> it apr_util_compat.h
> > if you like.  Each includes the headers[s] below it, since 
> each depends on the
> > projects following anyways;
> > 
> > httpd-2.0/include/ap_compat [renamed 1.3/2.0a symbol names 
> in the server]
> > 
> >   apr-util/include/apu_compat.h [renamed 1.3/2.0a symbol 
> names in apr-util]
> > 
> >     apr/include/apr_compat.h [renamed old 1.3/2.0a  symbol 
> names apr -only-]
> 
> Ah, so:
> 
> ap_ -> Apache
> 
> apu_ -> APR-utils
> 
> apr_ -> APR
> 
> ? This doesn't seem consistent with actual usage, sadly - for example,
> hooks are APR_ but live in apr-utils.

No, it is consistent, c.f. apu.h.  Let me provide a definition that we 
can incorporate into the project STATUS or some other file... for each tree:

apr 
---
All external Apache Portablility Runtime symbols must be namespace protected
with the apr_ prefix (or APR_ in the case of macros.)

apr-util
--------
External APR Utility symbols must be namespace protected, usually with the 
apr_ prefix (or APR_ in the case of macros.)  The exception to this are 
namespace clashes with apr itself.  In those cases, the apu_ prefix (or
APU_ in the case of macros) is used instead.