1#line 1 "inc/Module/Install/MakeMaker.pm - /usr/local/lib/perl5/site_perl/5.8.1/Module/Install/MakeMaker.pm" 2# $File: //depot/cpan/Module-Install/lib/Module/Install/MakeMaker.pm $ $Author: autrijus $ 3# $Revision: #11 $ $Change: 1781 $ $DateTime: 2003/10/22 17:14:03 $ vim: expandtab shiftwidth=4 4 5package Module::Install::MakeMaker; 6use Module::Install::Base; @ISA = qw(Module::Install::Base); 7 8$VERSION = '0.01'; 9 10use ExtUtils::MakeMaker (); 11 12my $makefile; 13sub WriteMakefile { 14 my ($self, %args) = @_; 15 $makefile = $self->load('Makefile'); 16 17 # mapping between MakeMaker and META.yml keys 18 $args{MODULE_NAME} = $args{NAME}; 19 unless ($args{NAME} = $args{DISTNAME} or !$args{MODULE_NAME}) { 20 $args{NAME} = $args{MODULE_NAME}; 21 $args{NAME} =~ s/::/-/g; 22 } 23 24 foreach my $key (qw(name module_name version version_from abstract author)) { 25 my $value = delete($args{uc($key)}) or next; 26 $self->$key($value); 27 } 28 29 if (my $prereq = delete($args{PREREQ_PM})) { 30 while (my($k,$v) = each %$prereq) { 31 $self->requires($k,$v); 32 } 33 } 34 35 # put the remaining args to makemaker_args 36 $self->makemaker_args(%args); 37} 38 39END { 40 if ($makefile) { 41 $makefile->write; 42 $makefile->Meta->write; 43 } 44} 45 461; 47