You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Randy Kobes <ra...@theoryx5.uwinnipeg.ca> on 2004/06/18 20:09:28 UTC

[mp2] 2 APR issues on Win32

I've been working at getting the APR::* modules
decoupled from mod_perl.so on Win32, and have run
into a couple of things that I'm not sure about ...

- one is how to automatically generate the .def file (and
also the .exp file on AIX) for the APR module (which
contains the symbols needed by APR::*). I've tried to get
build/source_scan.pl working to generate the function
tables, but there's issues on Win32 that seem involved to
solve (I'm also having problems on my linux system with
this, where it chokes when encountering some apreq stuff).
As a temporary thing, would it be acceptable to manually
create something like
   xs/tables/current/APR/FunctionTable.pm
and populate it with the needed functions, and generate the
def/exp file from that? It would mean manually maintaining
this file until the necessary changes are implemented to
automatically generate it, which isn't an ideal situation,
but perhaps that's OK for the time being?

- the other thing I think is a Win32 specific problem. When
linking, for example, APR::Table against APR.lib to resolve
the symbols formerly in mod_perl.so, I get an error about
not finding APR.dll. This can be fixed by adding the
directory APR.dll lives in to the PATH, but that's ugly, and
hard to make portable. What I was hoping is that if, for
example, APR::Table loaded APR, this issue would be
resolved. However, a simple
   use APR ();
within APR::Table doesn't do the trick. But I'm probably
misunderstanding what it means to load things in this
context - is it just putting in this 'use APR' in the .pm
file? Or is there more to it?

There's some other issues involved here that I think I
have worked out, at least conceptually - I'll raise those
in a separate message. Thanks.

-- 
best regards,
randy

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] 2 APR issues on Win32

Posted by Stas Bekman <st...@stason.org>.
Randy Kobes wrote:
> I've been working at getting the APR::* modules
> decoupled from mod_perl.so on Win32, and have run
> into a couple of things that I'm not sure about ...
> 
> - one is how to automatically generate the .def file (and
> also the .exp file on AIX) for the APR module (which
> contains the symbols needed by APR::*). I've tried to get
> build/source_scan.pl working to generate the function
> tables, but there's issues on Win32 that seem involved to
> solve (I'm also having problems on my linux system with
> this, where it chokes when encountering some apreq stuff).
> As a temporary thing, would it be acceptable to manually
> create something like
>    xs/tables/current/APR/FunctionTable.pm
> and populate it with the needed functions, and generate the
> def/exp file from that? It would mean manually maintaining
> this file until the necessary changes are implemented to
> automatically generate it, which isn't an ideal situation,
> but perhaps that's OK for the time being?

I think it makes a perfect sense to have APR/FunctionTable.pm, all we need to 
do is to change the source scan to send /*apr_/ functions to 
APR/FunctionTable.pm and probably the same for ConstantsTable.pm and 
StructureTable.pm, and adjust the rest of the code to use these new tables.

> - the other thing I think is a Win32 specific problem. When
> linking, for example, APR::Table against APR.lib to resolve
> the symbols formerly in mod_perl.so, I get an error about
> not finding APR.dll. This can be fixed by adding the
> directory APR.dll lives in to the PATH, but that's ugly, and
> hard to make portable. What I was hoping is that if, for
> example, APR::Table loaded APR, this issue would be
> resolved. However, a simple
>    use APR ();
> within APR::Table doesn't do the trick. But I'm probably
> misunderstanding what it means to load things in this
> context - is it just putting in this 'use APR' in the .pm
> file? Or is there more to it?

Yes, yes, it makes a perfect sense. All that needs to be done is to change the 
autogenerator of WrapXS/APR/*/*.pm files to automatically include 'use APR 
()'; Though it probably will require some sort of code split for the APR case, 
I haven't look at the code.

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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org