httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ralf S. Engelschall" <>
Subject Re: [PATCH] Expat patch #3
Date Fri, 21 May 1999 10:49:27 GMT

In article <> you wrote:

> Okay. They say the third time is the charm :-)
> Attached is my final Expat patch. The differences from before:
> * src/regex is moved to src/lib/regex
> * now looks for src/lib/expat
> * hsregex.h dependencies removed from Makefile.tmpl files
> Note that this introduces the src/lib/ directory for future library
> integration. In particular, Ralf's MM and APR would make great sense to
> go into src/lib/.
> I would like to commit this on Sunday evening, along with moving the
> src/regex files. I think this patch is close to the AG consensus that
> was formed since I first started this stuff. Therefore, I'll either hold
> it up due to a veto or make any suggested changes and just commit the
> thing.
> The biggest hole in the patch is updating the VC build files for the
> moved src/regex/ directory. I'm presuming that somebody can help to
> update those after I've updated the CVS repository.

Sorry when I still have to vote -1 for it. It's fine and gets my +1 for all
changes except for one remainign issue: the symbol exporting. 

Your current approach in http_main.c to fix this is not correct and clean. To
make sure the whole expat library is available to modules which want to use it
(especially under DSO situation) you either _HAVE_ to encapsulate the _WHOLE_
Expat API into ap_xml_xxx() functions (staying statically and always in the
Apache kernel code) _OR_ compile Expat with PIC and link it against every
module. I prefer the first approach because it doesn't suffer from
side-effects with brain-dead linkers, avoids redundancy in object files and
it's cleaner. Look at my EAPI patches and there for src/ap/ap_mm.c and
src/include/ap_mm.h. It's a wrapper which links the complete MM API under the
ap_mm_xxx() namespace. That's the onl safe way. The same has to be done for
the regex lib since years!

So, you know that I want Expat in the source tree, but I can give it only a +1
when this issue is correctly solve... Please work on this problem first before
comitting the stuff. Thanks. I append you the ap_mm.[ch] for reference.

                                       Ralf S. Engelschall

View raw message