1require 5.003000; 2 3use strict; 4use ExtUtils::MakeMaker; 5 6my $PM = 'lib/Digest/SHA/PurePerl.pm'; 7my $SHASUM = 'shasum'; 8 9 # 'use warnings' if possible, but stay portable 10 11my($use_warnings, @EDITs); 12my $warn_1 = 'BEGIN { $^W = 1 }'; 13my $warn_0 = 'BEGIN { $^W = 0 }'; 14{ 15 eval "require warnings; import warnings"; 16 $use_warnings = $@ ? 0 : 1; 17 18 local(@ARGV) = ($PM, $SHASUM); 19 while (<>) { 20 if ( 21 (!$use_warnings && /^(use|no) warnings\b/) || 22 ( $use_warnings && /^\Q$warn_1\E # use warnings\b/) || 23 ( $use_warnings && /^\Q$warn_0\E # no warnings\b/)) { 24 push @EDITs, $ARGV; 25 close ARGV; 26 } 27 } 28} 29 30if (@EDITs) { 31 local($^I, @ARGV) = ('', @EDITs); 32 while (<>) { 33 if ($use_warnings) { 34 s/^\Q$warn_1\E # (.*)$/$1/; 35 s/^\Q$warn_0\E # (.*)$/$1/; 36 } 37 else { 38 s/^(use warnings\b.*)$/$warn_1 # $1/; 39 s/^(no warnings\b.*)$/$warn_0 # $1/; 40 } 41 print; 42 } 43} 44 45my %attr = ( 46 'NAME' => 'Digest::SHA::PurePerl', 47 'VERSION_FROM' => $PM, 48); 49 50my $MMversion = $ExtUtils::MakeMaker::VERSION || '0.00_00'; 51$attr{NO_META} = 1 if $MMversion ge '6.10_03'; 52 53WriteMakefile(%attr); 54