1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
| | # This -*- perl -*- script makes the Makefile
#--- Distribution section ---
$NAME = 'Net';
$DISTNAME = "libnet";
$VERSION = "1.25";
BEGIN { require 5.002 }
use ExtUtils::MakeMaker;
use ExtUtils::Manifest qw(maniread);
#--- Installation check
sub chk_version
{
my($pkg,$wanted,$msg) = @_;
local($|) = 1;
print "Checking for $pkg...";
eval { my $p; ($p = $pkg . ".pm") =~ s#::#/#g; require $p; };
my $vstr = ${"${pkg}::VERSION"} ? "found v" . ${"${pkg}::VERSION"}
: "not found";
my $vnum = ${"${pkg}::VERSION"} || 0;
print $vnum >= $wanted ? "ok\n" : " " . $vstr . "\n";
$vnum >= $wanted;
}
sub MY::post_initialize
{
my ($self) = @_;
#--- Create Net::Config
my $config_pm = "Net/libnet.cfg";
my $libnet_cfg = "libnet.cfg";
# Use %INC and ExtUtils::MakeMaker to determine how this machine
# maps package names to path names
foreach (keys %INC) {
last if ($config_pm = $_) =~ s/^ExtUtils(.)MakeMaker.pm/Net${1}libnet.cfg/;
}
system(($^O eq 'VMS' ? 'mcr ': ()),$^X, 'Configure')
unless -f $libnet_cfg;
$self->{PM}->{$libnet_cfg} = $self->catfile('$(INST_LIBDIR)',$config_pm);
"";
}
#--- Check for Socket
chk_version(Socket => '1.30') or
warn "\n"
. "*** For Net::Cmd to work you require version 1.30, or later, of\n"
. " Socket.pm from CPAN/modules/by-module/Socket/Socket-x.x.tar.gz\n\n";
chk_version(IO::Socket => '1.05') or
warn "\n"
. "*** For Net::Cmd to work you require version 1.05, or later, of\n"
. " IO/Socket.pm from CPAN/modules/by-module/IO/IO-x.x.tar.gz\n\n";
if ($^O eq 'os390')
{
chk_version(Convert::EBCDIC => '0.06') or
warn "\n"
. "*** For Net::Cmd to work on $^O version 0.06, or later, of\n"
. " Convert::EBCDIC is required, which can be found at"
. " CPAN/modules/by-module/Convert/Convert-EBCDIC-x.x.tar.gz\n\n";
}
#--- Write the Makefile
my @ppd;
if ($] >= 5.00503) {
@ppd = (
AUTHOR => 'Graham Barr <gbarr@pobox.com>',
ABSTRACT => 'Collection of Network protocol modules',
);
}
WriteMakefile(
INSTALLDIRS => ($] >= 5.008 ? 'perl' : 'site'),
VERSION => $VERSION,
DISTNAME => $DISTNAME,
NAME => $NAME,
'realclean' => {FILES => $config_pm},
PREREQ_PM => {
Socket => 1.3,
IO::Socket => 1.05
},
dist => { DIST_DEFAULT => 'mydist', },
(eval { ExtUtils::MakeMaker->VERSION(6.21) } ? (LICENSE => 'perl') : ()),
( eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (
META_MERGE => {
resources => { ##
repository => 'http://github.com/steve-m-hay/perl-libnet',
},
}
)
: ()
),
@ppd,
);
sub MY::postamble {
return <<'POSTAMBLE';
mydist : distmeta tardist
POSTAMBLE
}
|