use warnings;
use File::Spec;
use Cwd;
-use vars qw($bootstrapping $bootstrapping_args);
+use vars qw($bootstrapping $bootstrapping_args $no_manpages);
use Config;
my $cwd;
if (my ($x) = grep { /^--bootstrap(?:=.*)?$/ } @ARGV) {
@ARGV = grep { !/^--bootstrap(?:=.*)?$/ } @ARGV;
$bootstrapping = 1;
+ if(my ($x) = grep { /^--no-manpages/ } @ARGV) {
+ $no_manpages = 1;
+ @ARGV = grep { !/^--no-manpages/ } @ARGV;
+ }
my ($path) = $x =~ /^--bootstrap(?:=(.*))?$/;
my @args = $path ? $path : ();
system($^X, '-MExtUtils::MakeMaker 6.31', '-e1');
my $eumm = $? >> 8;
+ system($^X, '-MExtUtils::Install 1.43', '-e1');
+ my $eui = $? >> 8;
+
system($^X, '-MCPAN 1.80', '-e1');
my $cpan = $? >> 8;
my $cpan_command = '';
if ($eumm) { # non-zero exit
$cpan_command .= 'force("install","ExtUtils::MakeMaker"); ';
}
+ if ($eui) {
+ $cpan_command .= 'install("ExtUtils::Install"); ';
+ }
if ($cpan) {
$cpan_command .= 'force("install","CPAN"); ';
}
if ($cpan) {
system($^X, '-MCPAN', '-e', 'CPAN::Config->load; CPAN::Config->commit;');
}
+ if($no_manpages) {
+ # if we call this code directly, the changes get written to
+ # $BOOTSTRAP/lib/perl5/CPAN/Config.pm, not where the user expects them to
+ # be in their ~/.cpan/CPAN/MyConfig.pm.
+ system($^X, '-MCPAN',
+ '-e',
+ q[CPAN::HandleConfig->load;],
+ '-e',
+ q[$CPAN::Config->{makepl_arg} = ] .
+ q['INSTALLMAN1DIR=none INSTALLMAN3DIR=none';],
+ '-e',
+ q[$CPAN::Config->{buildpl_arg} = ] .
+ q['--install_path libdoc="" --install_path bindoc=""';],
+ '-e',
+ q[CPAN::Config->commit;],
+ );
+ }
chdir($cwd);
}
all_from 'lib/local/lib.pm';
requires 'ExtUtils::MakeMaker' => '6.31'; # version INSTALL_BASE was added
+requires 'ExtUtils::Install' => '1.43'; # ditto
requires 'ExtUtils::CBuilder'; # this and ParseXS are needed for MB C_support
requires 'ExtUtils::ParseXS';
requires 'Module::Build' => '0.28'; # lib -> lib/perl5 change