This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Drop debugging, and handle HP-UX opt flags.
[perl5.git] / cpan / Digest-SHA / Makefile.PL
1 require 5.003000;
2
3 use strict;
4 use ExtUtils::MakeMaker;
5 use Getopt::Std;
6 use Config qw(%Config);
7
8 use vars qw($opt_t $opt_w $opt_x);
9
10 my $PM = 'lib/Digest/SHA.pm';
11 my $SHASUM = 'shasum';
12
13         # 'use warnings' if possible, but stay portable
14
15 my($use_warnings, @EDITs);
16 my $warn_1 = 'BEGIN { $^W = 1 }';
17 my $warn_0 = 'BEGIN { $^W = 0 }';
18 {
19         eval "require warnings; import warnings";
20         $use_warnings = $@ ? 0 : 1;
21
22         local(@ARGV) = ($PM, $SHASUM);
23         while (<>) {
24                 if (
25                 (!$use_warnings && /^(use|no) warnings\b/) ||
26                 ( $use_warnings && /^\Q$warn_1\E # use warnings\b/) ||
27                 ( $use_warnings && /^\Q$warn_0\E # no warnings\b/)) {
28                         push @EDITs, $ARGV;
29                         close ARGV;
30                 }
31         }
32 }
33
34 if (@EDITs) {
35         local($^I, @ARGV) = ('', @EDITs);
36         while (<>) {
37                 if ($use_warnings) {
38                         s/^\Q$warn_1\E # (.*)$/$1/;
39                         s/^\Q$warn_0\E # (.*)$/$1/;
40                 }
41                 else {
42                         s/^(use warnings\b.*)$/$warn_1 # $1/;
43                         s/^(no warnings\b.*)$/$warn_0 # $1/;
44                 }
45                 print;
46         }
47 }
48
49 getopts('twx'); # -t is no longer used, but allow it anyway
50
51 my @defines;
52 push(@defines, '-DNO_SHA_384_512')  if $opt_x;
53 my $define = join(' ', @defines);
54
55         # Workaround for DEC compiler bug, adapted from Digest::MD5
56
57 my @extra = ();
58 if ($^O eq 'VMS') {
59         if (defined($Config{ccname})) {
60                 if (grep(/VMS_VAX/, @INC) && ($Config{ccname} eq 'DEC')) {
61                         # VAX optimizer, even up to v6.4, gets stuck
62                         push(@extra, OPTIMIZE => "/Optimize=(NODISJOINT)");
63                 }
64         }
65 }
66
67         # Enhance performance on Intel when using gcc
68
69 if ($Config{archname} =~ /^i[3456]86/ && $Config{ccname} eq 'gcc') {
70         push(@extra, OPTIMIZE => '-O1 -fomit-frame-pointer');
71 }
72
73 push(@extra, CCFLAGS => '-W -Wall ' . $Config{ccflags}) if $opt_w;
74
75 my %attr = (
76         'NAME'          => 'Digest::SHA',
77         'VERSION_FROM'  => $PM,
78         'LIBS'          => [''],
79         'DEFINE'        => $define,
80         'INC'           => '-I.',
81         'EXE_FILES'     => [ $SHASUM ],
82         'INSTALLDIRS'   => ($] >= 5.010 and $] < 5.011) ? 'perl' : 'site',
83         @extra,
84 );
85
86 my $MMversion = $ExtUtils::MakeMaker::VERSION || '0.00_00';
87 $attr{NO_META} = 1 if $MMversion ge '6.10_03';
88
89 WriteMakefile(%attr);