randyk 2003/06/11 22:55:32
Modified: build xsbuilder.pl
Log:
Reviewed by: joes
For Win32,
- ensure cwd is a long path name, in order to get the base directory
- obtain the Apache include and lib directories without relying on
a config.status
- adjust the library locations and names for WriteMakefile
Revision Changes Path
1.6 +26 -9 httpd-apreq-2/build/xsbuilder.pl
Index: xsbuilder.pl
===================================================================
RCS file: /home/cvs/httpd-apreq-2/build/xsbuilder.pl,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- xsbuilder.pl 10 Jun 2003 14:43:10 -0000 1.5
+++ xsbuilder.pl 12 Jun 2003 05:55:32 -0000 1.6
@@ -8,9 +8,12 @@
use warnings FATAL => 'all';
use Apache2;
use Apache::Build;
+require Win32 if Apache::Build::WIN32;
use Cwd;
-cwd =~ m{^(.+httpd-apreq-2)} or die "Can't find base cvs directory";
+my $cwd = Apache::Build::WIN32 ?
+ Win32::GetLongPathName(cwd) : cwd;
+$cwd =~ m{^(.+httpd-apreq-2)} or die "Can't find base cvs directory";
my $base_dir = $1;
my $src_dir = "$base_dir/src";
my $xs_dir = "$base_dir/glue/perl/xsbuilder";
@@ -20,13 +23,27 @@
read $file, $_[0], -s $file;
}
-slurp my $config => "$base_dir/config.status";
-$config =~ /^s,[EMAIL PROTECTED]@,([^,]+)/m && -d $1 or
- die "Can't find apache include directory";
-my $apache_includes = $1;
-$config =~ m/^s,[EMAIL PROTECTED]@,([^,]+)/m && -d $1 or
- die "Can't find apr lib directory";
-my $apr_libs = $1;
+my ($apache_includes, $apr_libs);
+if (Apache::Build::WIN32) {
+ my $apache_dir = Apache::Build->build_config()->dir;
+ ($apache_includes = $apache_dir . '/include') =~ s!\\!/!g;
+ ($apr_libs = $apache_dir . '/lib') =~ s!\\!/!g;
+}
+else {
+ slurp my $config => "$base_dir/config.status";
+ $config =~ /^s,[EMAIL PROTECTED]@,([^,]+)/m && -d $1 or
+ die "Can't find apache include directory";
+ $apache_includes = $1;
+ $config =~ m/^s,[EMAIL PROTECTED]@,([^,]+)/m && -d $1 or
+ die "Can't find apr lib directory";
+ $apr_libs = $1;
+}
+my $apr_lib_flags = Apache::Build::WIN32 ?
+ qq{-L$apr_libs -llibapr -llibaprutil} :
+ qq{-L$apr_libs -lapr-0 -laprutil-0};
+my $apreq_lib_flags = Apache::Build::WIN32 ?
+ qq{-L$base_dir/win32/libs -llibapreq -lmod_apreq} :
+ qq{-L$src_dir/.libs -lapreq};
my $mp2_typemaps = Apache::Build->new->typemaps;
read DATA, my $grammar, -s DATA;
@@ -178,7 +195,7 @@
'VERSION' => '0.01',
'TYPEMAPS' => [qw(@$mp2_typemaps $typemap)],
'INC' => "-I.. -I../.. -I../../.. -I$src_dir -I$xs_dir
-I$apache_includes",
- 'LIBS' => "-L$src_dir/.libs -L$apr_libs -lapreq -lapr-0 -laprutil-0",
+ 'LIBS' => "$apreq_lib_flags $apr_lib_flags",
} ;
$txt .= "'depend' => $deps,\n" if ($deps) ;
$txt .= qq{