document bootstrap procedure
[p5sagit/local-lib.git] / Makefile.PL
CommitLineData
391107e5 1use strict;
2use warnings;
86f54d7f 3use vars qw($bootstrapping);
4
5BEGIN {
6 if (grep { /^--bootstrap(?:=(.*))?$/ } @ARGV) {
7 $bootstrapping = 1;
8 my @args = (defined $1 ? ($1) : ());
9
10 {
11 local @INC = @INC;
12 unshift(@INC, 'lib');
13 require local::lib;
14 }
15
16 local::lib->import(@args);
17
18 push(@ARGV,$ENV{PERL_MM_OPT});
19
20 system($^X, '-MExtUtils::MakeMaker 6.31', '-e1');
21 my $r = $? >> 8;
22
23 # XXX - remove the force on EUMM once its test suite survive PERL_MM_OPT
24
25 if ($r) { # non-zero exit
26 system($^X, '-MCPAN', '-e', 'force("install","ExtUtils::MakeMaker");');
27 }
28
29 }
30}
31
391107e5 32use inc::Module::Install;
33
34name 'local-lib';
35all_from 'lib/local/lib.pm';
36
86f54d7f 37include('CPAN');
38include('CPAN::HandleConfig');
39include('CPAN::Debug');
40include('CPAN::Version');
41include('CPAN::Tarzip');
42
391107e5 43requires 'ExtUtils::MakeMaker' => '6.31'; # version INSTALL_BASE was added
86f54d7f 44requires 'ExtUtils::CBuilder'; # this and ParseXS are needed for MB C_support
45requires 'ExtUtils::ParseXS';
391107e5 46requires 'Module::Build' => '0.28'; # lib -> lib/perl5 change
86f54d7f 47requires 'CPAN' => '1.80'; # sudo support
48
49if ($bootstrapping) {
50 auto_install_now;
51} else {
52 auto_install;
53}
391107e5 54
55WriteAll;