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