httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@engelschall.com (Ralf S. Engelschall)
Subject Re: Global Renaming: Let us start!
Date Thu, 02 Apr 1998 11:21:54 GMT

In article <199804021108.GAA06565@devsys.jaguNET.com> you wrote:
> Ralf S. Engelschall wrote:
>> I personally be happy with both: Keep 1.3 as it currently is and do the global
>> renaming. I want to stay in the background here concerning the actual time
>> decision. I just wanted to waste no time and already prepare the script (which
>> is not as trivial I though the first time I started to thought about it).  To
>> decide if it is used now or later is not my job and not my intend. Altough I'm
>> now a little bit forced by the others' arguments to +1 for doing it now
>> (perhaps because I love clean thinks). But nevertheless, the script is needed.
>> At least for Apache 2.1 where we again will find a few symbols which bite us
>> ;-)

> It seems to me that all hide.h does is "help" us avoid doing the
> renaming in the actual source itself... Doesn't seem like much
> a reason to me.

Sure, my rename.cf is derived from hide.h ;-) But some manual changes were
needed plus a script which decided which function is an API one and which is
just a cross-object reference. I've already done this.

> If we are going to do this, and we should, and we're going to do this
> right, and we should, we should drop this hide.h/HIDE hack and actually
> rename the functions. We should ALSO use the naming scheme that we've
> voted on and not just, willy-nilly slap ap_ in front of everything.

Just a few hints about my current state:

1. I've bundled together a solution today. It already works fine
   (I'll post an extra message about the results). The stuff
   needed is this:

   rename/csubst
   rename/csubst/util.c
   rename/csubst/csubst.c
   rename/csubst/Makefile
   rename/csubst/lexer.l
   rename/csubst/tokens.h
   rename/csubst/lexer.c
   rename/rename.cf
   rename/rename.pl
   rename/rename.cf.update
   rename/Makefile

   which automatically does the actual batch-identifier-renaming in the source
   files plus perhaps these ones:

   rename/apapi.h
   rename/apapi_compat.h
   rename/apapi.h.mk
   rename/apapi_compat.h.mk

   which are for the new API. The apapi.h contains all prototypes of the new
   API functions (just for fun) and the apapi_compat.h provides backward
   defines for the old symbols like hide.h

2. Sure, when we rename the source we simultaneously remove
   the complete hide.h/HIDE stuff.

3. Because it is not really clear which prefixes are used, I've
   made parameters from them in the rename.cf file. Because it is more
   important to get the actual decision which function belongs to the API and
   which one doesn't. The actually used prefix for renaming can be set in the
   last minute. The initial decision which symbol belongs to the API
   is now solved by the rename.cf.update script which makes this
   decision on the existing API_EXPORT tags ;_)

4. Beside API and internal/private cross-object symhols, there
   is a third class: xxx_module. These are special because they are treated
   special in Configure, mod_so, etc. pp.

                                       Ralf S. Engelschall
                                       rse@engelschall.com
                                       www.engelschall.com

Mime
View raw message