home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2004 December / PCpro_2004_12.ISO / files / webserver / tsw / TSW_3.4.0.exe / Apache2 / perl / MakeMaker.pm < prev    next >
Encoding:
Perl POD Document  |  2003-12-17  |  1.1 KB  |  46 lines

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