From: Jonathan Yu Date: Sat, 17 Jan 2009 16:29:20 +0000 (+0000) Subject: Added a Module::Build::Compat 'passthrough' Makefile.PL X-Git-Tag: v0.11008~249 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=fcd2a200c498a966933ba5089075f195af86823f;p=dbsrgits%2FSQL-Translator.git Added a Module::Build::Compat 'passthrough' Makefile.PL --- diff --git a/Makefile.PL b/Makefile.PL index cb51026..43c255f 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,7 +1,33 @@ # $Id$ use strict; -use Module::Build::Compat; + +unless (eval "use Module::Build::Compat 0.02; 1" ) { + print "This module requires Module::Build to install itself.\n"; + + require ExtUtils::MakeMaker; + my $yn = ExtUtils::MakeMaker::prompt + (' Install Module::Build now from CPAN?', 'y'); + + unless ($yn =~ /^y/i) { + die " *** Cannot install without Module::Build. Exiting ...\n"; + } + + require Cwd; + require File::Spec; + require CPAN; + + # Save this 'cause CPAN will chdir all over the place. + my $cwd = Cwd::cwd(); + + CPAN::Shell->install('Module::Build::Compat'); + CPAN::Shell->expand("Module", "Module::Build::Compat")->uptodate + or die "Couldn't install Module::Build, giving up.\n"; + + chdir $cwd or die "Cannot chdir() back to $cwd: $!"; +} +eval "use Module::Build::Compat 0.02; 1" or die $@; Module::Build::Compat->run_build_pl(args => \@ARGV); -Module::Build::Compat->write_makefile(); +require Module::Build; +Module::Build::Compat->write_makefile(build_class => 'Module::Build');