83 lines
3.0 KiB
Perl
83 lines
3.0 KiB
Perl
#!/usr/bin/perl
|
|
#
|
|
# Perl Makefile for Test-Mockclass
|
|
# $Id: Makefile.PL,v 1.1.1.1 2005/02/16 19:46:23 phaedrus Exp $
|
|
#
|
|
# Invocation:
|
|
# $ perl Makefile.PL # interactive behaviour
|
|
# $ perl Makefile.PL --defaultdeps # accept default value on prompts
|
|
# $ perl Makefile.PL --checkdeps # check only, no Makefile produced
|
|
# $ perl Makefile.PL --skipdeps # ignores all dependencies
|
|
# $ perl Makefile.PL --testonly # don't write installation targets
|
|
#
|
|
# Then, to build:
|
|
# $ make [all|test|install] # install dependencies first
|
|
# $ make checkdeps # same as the --checkdeps above
|
|
# $ make installdeps # install dependencies only
|
|
#
|
|
|
|
# ExtUtils::AutoInstall Bootstrap Code, version 7.
|
|
BEGIN{my$p='ExtUtils::AutoInstall';my$v=0.45;$p->VERSION||0>=$v
|
|
or+eval"use $p $v;1"or+do{my$e=$ENV{PERL_EXTUTILS_AUTOINSTALL};
|
|
(!defined($e)||$e!~m/--(?:default|skip|testonly)/and-t STDIN or
|
|
eval"use ExtUtils::MakeMaker;WriteMakefile(PREREQ_PM=>{'$p',$v}
|
|
);1"and exit)and print"==> $p $v required. Install it from CP".
|
|
"AN? [Y/n] "and<STDIN>!~/^n/i and print"*** Installing $p\n"and
|
|
do{if (eval '$>' and lc(`sudo -V`) =~ /version/){system('sudo',
|
|
$^X,"-MCPANPLUS","-e","CPANPLUS::install $p");eval"use $p $v;1"
|
|
||system('sudo', $^X, "-MCPAN", "-e", "CPAN::install $p")}eval{
|
|
require CPANPLUS;CPANPLUS::install$p};eval"use $p $v;1"or eval{
|
|
require CPAN;CPAN::install$p};eval"use $p $v;1"||die"*** Please
|
|
manually install $p $v from cpan.org first...\n"}}}
|
|
|
|
use File::Find;
|
|
|
|
# the above handlers must be declared before the 'use' statement
|
|
use ExtUtils::AutoInstall (
|
|
|
|
# required AutoInstall version
|
|
-version => '0.40',
|
|
|
|
# core modules; may also be 'all'
|
|
-core => {
|
|
Hook::WrapSub => 0.03,
|
|
Scalar::Util => 1.14,
|
|
Test::SimpleUnit => 1.21,
|
|
Tie::Watch => 1.1,
|
|
},
|
|
);
|
|
|
|
# Build a custom list of modules to install. This is because the parser module
|
|
# generation happens because it's a target, so it doesn't exist before the
|
|
# PM list is generated
|
|
my %pm = ();
|
|
|
|
|
|
File::Find::find(
|
|
sub {
|
|
if (/\.pm$/s) {
|
|
my $name = "$File::Find::dir/$_";
|
|
print "Adding: $_ => $name\n";
|
|
($pm{$name} = $name) =~ s{lib/}{\$(INST_LIBDIR)/}
|
|
}
|
|
}, "lib" );
|
|
|
|
WriteMakefile(
|
|
NAME => 'MockClass',
|
|
DISTNAME => 'Test-MockClass',
|
|
VERSION_FROM => 'lib/Test/MockClass.pm',
|
|
AUTHOR => 'Jeremiah Jordan <jjordan@perlreason.com>',
|
|
ABSTRACT => 'A class to create mock classes and object for testing purposes',
|
|
PM => \%pm,
|
|
dist => {
|
|
TARFLAGS => 'cvf',
|
|
CI => "cvs commit",
|
|
RCS_LABEL => 'cvs tag r$(VERSION_SYM)',
|
|
SUFFIX => ".gz",
|
|
DIST_CP => 'ln',
|
|
DIST_DEFAULT => 'all tardist',
|
|
COMPRESS => "gzip",
|
|
},
|
|
clean => { FILES => "*.tar.bz2 *.tar.gz" },
|
|
);
|