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
|
use ExtUtils::MakeMaker;
use Config;
my $arch = "$Config{'archname'}-$Config{'osvers'}";
my $got = "";
if (-e 'arch.txt') {
open my $in, "<", "arch.txt" or die "Can't read 'arch.txt': $!";
$got = <$in>;
close $in;
}
if ($got ne $arch) {
if (-e "Errno.pm") {
print "Removing old 'Errno.pm'\n";
unlink "Errno.pm"
or die "Failed to remove out of date 'Errno.pm': $!";
}
open my $out, ">", "arch.txt" or die "Can't write 'arch.txt': $!";
print $out $arch;
close $out;
}
WriteMakefile(
NAME => 'Errno',
VERSION_FROM => 'Errno_pm.PL',
PL_FILES => {'Errno_pm.PL'=>'Errno.pm'},
PM => {'Errno.pm' => '$(INST_LIBDIR)/Errno.pm'},
'clean' => {FILES => 'Errno.pm arch.txt'},
'dist' => {
COMPRESS => 'gzip -9f',
SUFFIX => '.gz',
DIST_DEFAULT => 'd/Errno.pm tardist',
},
);
sub MY::postamble {
my $TARG = MM->catfile('d','Errno.pm');
qq!$TARG : Makefile
echo '#This is a dummy file so CPAN will find a VERSION' > $TARG
echo 'package Errno;' >> $TARG
echo '\$\$VERSION = "\$(VERSION)";' >>$TARG
echo '#This is to make sure require will return an error' >>$TARG
echo '0;' >>$TARG
!
}
|