The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
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

!
}