On Thu, 11 Sep 2003, Geoffrey Young wrote:

>
> > The problem you described before with the missing symbols
> > can be resolved by linking against the mod_perl.lib built
> > when you build mod_perl.so. This can be done by adding in
> > a LIBS attribute to WriteMakefile() in Makefile.PL with a
> > value of ' -L/Path/to/mod_perl_lib -lmod_perl'.
> >
>
> ah, right.  thanks randy.
>
> examples of this can be found in Apache::WinBitHack, for
> example, the format of which should probably go in
> Apache::Dispatch (as well as just about all Apache::
> modules to make sure they are Win32 compliant :)

Here's a patch against the Apache-Dispatch Makefile.PL to
allow it to build on Win32 - I've also put up a ppm package
at http://theoryx5.uwinnipeg.ca/ppmpackages/ (for ActivePerl
6xx).
=========================================================
--- Makefile.PL.orig    Wed Dec 27 09:01:04 2000
+++ Makefile.PL Thu Sep 11 22:16:00 2003
@@ -4,6 +4,9 @@
 use Apache::ExtUtils qw(command_table);
 use Apache::src ();
 use strict;
+use Config;
+
+my $is_win32 = ($^O =~ /Win32/i);

 require 5.005;

@@ -75,10 +78,26 @@

 command_table([EMAIL PROTECTED]);

+my %config;
+
+$config{INC} = Apache::src->new->inc;
+
+if ($is_win32) {
+  require Apache::MyConfig;
+
+  $config{DEFINE}  = ' -D_WINSOCK2API_ -D_MSWSOCK_ ';
+  $config{DEFINE} .= ' -D_INC_SIGNAL -D_INC_MALLOC '
+    if $Config{usemultiplicity};
+
+  $config{LIBS} =
+    qq{ -L"$Apache::MyConfig::Setup{APACHE_LIB}" -lApacheCore } .
+    qq{ -L"$Apache::MyConfig::Setup{MODPERL_LIB}" -lmod_perl};
+}
+
 WriteMakefile(
   'NAME'         => __PACKAGE__,
   'VERSION_FROM' => 'Dispatch.pm',
-  'INC'          => Apache::src->new->inc,
   'PREREQ_PM'    => { mod_perl => 1.2401, },
   'clean'        => { FILES => '*.xs*' },
+  %config,
 );
============================================================
-- 
best regards,
randy

Reply via email to