httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randy Kobes <ra...@theoryx5.uwinnipeg.ca>
Subject Re: [mp2 patch] getting APR to work w/o modperl
Date Fri, 07 May 2004 05:41:35 GMT
On Wed, 5 May 2004, Stas Bekman wrote:

> I did some more tweaks and this time generated the source
> scan. Here is the updated version:
> http://apache.org/~stas/apr-ext.patch

Thanks for that, Stas! There's a couple of things on
Win32 (I'm not sure how specific they are to Win32):

- the WriteMakefile sub of ModPerl::BuildMM includes
by default linking against $build->modperl_libs.
This results in a dependency on mod_perl.so for,
eg, APR::Pool. Something like this:
====================================================
Index: BuildMM.pm
===================================================================
RCS file: /home/cvs/modperl-2.0/lib/ModPerl/BuildMM.pm,v
retrieving revision 1.15
diff -u -r1.15 BuildMM.pm
--- BuildMM.pm	4 Mar 2004 06:01:06 -0000	1.15
+++ BuildMM.pm	7 May 2004 05:31:41 -0000
@@ -77,7 +77,9 @@
         }
     }

-    my $libs = join ' ', $build->apache_libs, $build->modperl_libs;
+    my $outside = join '|', qw(APR::Table APR::UUID APR::Pool APR::PerlIO);
+    my $libs = join ' ', $build->apache_libs,
+        ($args{NAME} =~ /^$outside$/ ? '' : $build->modperl_libs);
     my $ccflags = $build->perl_ccopts . $build->ap_ccopts;

     my @opts = (
====================================================================
would avoid this, but ...

- Even with the above, I get some fatal errors with
unresolved symbols; for example, modperl_hash_tie, when
building APR::Table. If I understand things correctly, this
would get resolved at run time by loading APR, but I'm not
sure how to tell APR::* at build time that this will be
resolved later. One possibility is to do like is done for
APR - copy all the necessary src/modules/perl/*.[ch] files
to the build directory of the relevant APR::* modules, but
this seems like unnecessary duplication. Another possibility
is to perhaps just link the APR::* modules against the
relevant src/modules/perl/*.o object files that already have
been built at this point?

-- 
best regards,
randy

Mime
View raw message