blob: 489471ed69798d317f4f6ffac4860e4af34dc983 [file] [log] [blame]
use ExtUtils::MakeMaker;
use Config;
my $Is_Win32 = ($^O eq "MSWin32") || $ENV{WIN32_TEST};
if ($Is_Win32) {
win32_setup();
}
else {
require Apache::src;
my $src = Apache::src->new;
use Cwd;
my $pwd = fastcwd;
my @objs = qw(apache_request.o apache_cookie.o apache_multipart_buffer.o);
$MY_LD_RUN_PATH = "$Config{installsitearch}/auto/libapreq:$pwd";
WriteMakefile(
#grr, problems with things finding libapreq.so, sort out later.
'LINKTYPE' => 'static',
# 'SKIP' => [qw(dynamic_lib dynamic_bs)],
'NAME' => 'libapreq',
'INC' => $src->inc,
'TYPEMAPS' => $src->typemaps,
'OBJECT' => "@objs",
);
}
use Cwd;
my $pwd = fastcwd;
$ENV{LD_RUN_PATH} =
"$ENV{LD_RUN_PATH}:$Config{installsitearch}/auto/libapr:$pwd";
sub MY::dynamic {
my $self = shift;
my $string = $self->MM::dynamic;
$string =~ s{ \$\(INST_DYNAMIC\)}{}g;
$string =~ s{ \$\(INST_BOOT\)}{}g;
$string;
}
sub MY::top_targets {
my $self = shift;
my $string = $self->MM::top_targets;
my $libapreq = <<"EOF";
LD_RUN_PATH = $ENV{LD_RUN_PATH}
EOF
my $so = "\n".'$(DLBASE).$(DLEXT): $(INST_DYNAMIC)'."\n";
$string =~ s/(pure_all\s+::\s+)(.*)/$1 static $2/;
return $libapreq . $so . $string;
}
sub MY::post_initialize {
my $self = shift;
my $to = '$(INST_ARCHLIB)/' . "auto/libapreq/include";
for (qw(apache_request apache_cookie apache_multipart_buffer)) {
$self->{PM}->{"$_.h"} = "$to/$_.h";
}
'';
}
sub win32_setup {
my $myVERSION = MM->parse_version('../Request/Request.pm');
$myVERSION =~ s/(\d\d)(\d\d)$/$1_$2/;
my @objs = qw(apache_request.o apache_cookie.o apache_multipart_buffer.o);
WriteMakefile('NAME' => 'libapreq',
'TYPEMAPS' => [ "$ENV{MP_INC}/typemap" ],
'VERSION' => $myVERSION,
'OBJECT' => "@objs",
'INC' => qq{ -I"$ENV{AP_INC}" -I"$ENV{AP_INC}/../os/win32" -I"$ENV{MP_INC}" },
);
}
sub no_MY {
for (keys %MY::) {
if (defined &{ $MY::{$_} }) {
next if $_ eq 'dynamic';
undef &{ $MY::{$_} };
delete $MY::{$_};
}
}
}