# Snowball's chance of building extensions.
die "This is $Config{osname}, not building $extspec[0], sorry.\n";
}
+$ENV{PERL_CORE} = 1;
foreach my $spec (@extspec) {
my $mname = $spec;
$perl ||= "$up/miniperl";
my $return_dir = $up;
my $lib_dir = "$up/lib";
- $ENV{PERL_CORE} = 1;
my ($makefile, $makefile_no_minus_f);
if (IS_VMS) {
my $leafname = "$leaf.pm";
my $pathname = join '/', @dirs, $leafname;
my @locations = ($leafname, $pathname, "lib/$pathname");
- unshift @locations, 'lib/IO/Compress/Base.pm' if $mname eq 'IO::Compress';
foreach (@locations) {
if (-f $_) {
$fromname = $_;
($value = $fromname) =~ s/\.pm\z/.pod/;
$value = $fromname unless -e $value;
}
+
+ if ($mname eq 'Pod::Checker') {
+ # the abstract in the .pm file is unparseable by MM,
+ # so special-case it. We can't use the package's own
+ # Makefile.PL, as it doesn't handle the executable scripts
+ # right.
+ $key = 'ABSTRACT';
+ # this is copied from the CPAN Makefile.PL v 1.171
+ $value = 'Pod::Checker verifies POD documentation contents for compliance with the POD format specifications';
+ }
+
open my $fh, '>', 'Makefile.PL'
or die "Can't open Makefile.PL for writing: $!";
printf $fh <<'EOM', $0, $mname, $fromname, $key, $value;
);
}
- if (!$target or $target !~ /clean$/) {
- # Give makefile an opportunity to rewrite itself.
- # reassure users that life goes on...
- my @args = ('config', @$pass_through);
- system(@make, @args) and print "@make @args failed, continuing anyway...\n";
- }
my @targ = ($target, @$pass_through);
print "Making $target in $ext_dir\n@make @targ\n" if $verbose;
local $ENV{PERL_INSTALL_QUIET} = 1;
my $code = system(@make, @targ);
+ if($code >> 8 != 0){ # probably cleaned itself, try again once more time
+ $code = system(@make, @targ);
+ }
die "Unsuccessful make($ext_dir): code=$code" if $code != 0;
chdir $return_dir || die "Cannot cd to $return_dir: $!";
open my $fh, '>>', $file or die "open $file: $!";
# Quite possible that we're being run in parallel here.
# Can't use Fcntl this early to get the LOCK_EX
- flock $fh, 2 or warn "flock $file: $!";
+ if ($^O ne "amigaos") {
+ flock $fh, 2 or warn "flock $file: $!";
+ }
print $fh $contents or die "print $file: $!";
close $fh or die "close $file: $!";
}