This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Specify NI_NUMERICSERV for getnameinfo.
[perl5.git] / cpan / Digest-SHA / Makefile.PL
CommitLineData
4eb6bdb8 1require 5.003000;
128cbdba 2
65484cb9 3use strict;
6bc89f92
SP
4use ExtUtils::MakeMaker;
5use Getopt::Std;
560a4009 6use Config qw(%Config);
6bc89f92 7
207902b1
CBW
8use vars qw($opt_t $opt_w $opt_x);
9
4eb6bdb8 10my $PM = 'lib/Digest/SHA.pm';
207902b1
CBW
11my $SHASUM = 'shasum';
12
13 # 'use warnings' if possible, but stay portable
4eb6bdb8 14
207902b1
CBW
15my($use_warnings, @EDITs);
16my $warn_1 = 'BEGIN { $^W = 1 }';
17my $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
34if (@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
49getopts('twx'); # -t is no longer used, but allow it anyway
6bc89f92 50
4eb6bdb8 51my @defines;
207902b1 52push(@defines, '-DNO_SHA_384_512') if $opt_x;
6bc89f92
SP
53my $define = join(' ', @defines);
54
2ff8a1ae 55 # Workaround for DEC compiler bug, adapted from Digest::MD5
560a4009
CB
56
57my @extra = ();
58if ($^O eq 'VMS') {
59 if (defined($Config{ccname})) {
60 if (grep(/VMS_VAX/, @INC) && ($Config{ccname} eq 'DEC')) {
207902b1 61 # VAX optimizer, even up to v6.4, gets stuck
560a4009
CB
62 push(@extra, OPTIMIZE => "/Optimize=(NODISJOINT)");
63 }
64 }
65}
66
a21a75c8
CBW
67 # Enhance performance on Intel when using gcc
68
69if ($Config{archname} =~ /^i[3456]86/ && $Config{ccname} eq 'gcc') {
70 push(@extra, OPTIMIZE => '-O1 -fomit-frame-pointer');
71}
72
207902b1
CBW
73push(@extra, CCFLAGS => '-W -Wall ' . $Config{ccflags}) if $opt_w;
74
75my %attr = (
6bc89f92 76 'NAME' => 'Digest::SHA',
4eb6bdb8 77 'VERSION_FROM' => $PM,
6bc89f92 78 'LIBS' => [''],
6bc89f92
SP
79 'DEFINE' => $define,
80 'INC' => '-I.',
207902b1 81 'EXE_FILES' => [ $SHASUM ],
7ce06b7d 82 'INSTALLDIRS' => ($] >= 5.010 and $] < 5.011) ? 'perl' : 'site',
560a4009 83 @extra,
6bc89f92 84);
4eb6bdb8 85
207902b1
CBW
86my $MMversion = $ExtUtils::MakeMaker::VERSION || '0.00_00';
87$attr{NO_META} = 1 if $MMversion ge '6.10_03';
4eb6bdb8 88
207902b1 89WriteMakefile(%attr);