Randy Kobes wrote:
On Mon, 10 May 2004, Stas Bekman wrote:


How about a quick workaround as follows: For windows only,
link APR.so statically with all APR/Foo.o and the required
modperl_foo.o and arrange for the bootstrap not to call it
for windows if APR.so is loaded?


That sounds good ...

So can you try to tackle that? I guess my latest patch won't apply against the current cvs and I'll need to re-sync it and resolve collisions.


I guess all you need to do is to change xs/APR/APR/Makefile.PL to collect all .o files from under xs/APR and a few selected src/modules/perl/modperl_xxx.o and link them statically with APR.so if under win32. (and may be some other platforms too (aix comes to mind)).

The only alternative I was able
to come up with is to use LoadLibrary/GetProcAddress
to set a function pointer to that of a function
within a dll. I tried to cut this down to the
minimal needed, and came up with something along
the lines of, generically,

typdef ... /* delare the function pointers */

HINSTANCE hlib;
if (GetProcAddresses(&hlib, "Some.dll",
                     &fn_1, "func_1",
                     &fn_2, "func_2",
                     ...) {
  /* the functions are available */
}
if (hlib != NULL) FreeLibrary(hlib);

where GetProcAddresses() is a simple (generic) routine that
associates, from Some.dll, func_1, func_2, ... with fn_1,
fn_2, ... So, in this approach, for each APR::* as
appropriate, necessary function pointers must be declared,
GetProcAddresses() is invoked, and finally, if necessary,
FreeLibrary() called at the end.

However, I don't have enough experience with the build
system to compare if the above would be easier or harder to
set up and maintain, compared to linking against the
appropriate .so files.

The biggest problem I see here, is that we won't be able to test whether things still work on windows, every time we change or add something. So I'd prefer not to use it. If this can be done automatically, without touching the existing code, then i guess it's OK. But I'm not quite sure this is possible.



-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to