-
Notifications
You must be signed in to change notification settings - Fork 178
/
Makefile.PL
executable file
·144 lines (102 loc) · 3.62 KB
/
Makefile.PL
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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
## --Makefile.PL for Bioperl core module distribution--##
## ----------------------------------------------------##
#
# Basically this is a standard Makefile with a hash of
# needed packages which are tested at the start
#
# If you want help with this Makefile get in touch with
# the developers by sending a message to bioperl-l@bioperl.org.
#
%packages = (
'HTTP::Request::Common' => '0.0/Part of the LWP package/remote http Blast jobs/Bio::Tools::Blast',
'LWP::UserAgent' => '0.0/Part of the LWP package/remote http Blast jobs/Bio::Tools::Blast',
'Ace' => '0.0/Aceperl/access of ACeDB database/Bio::DB::Ace',
'IO::Scalar' => '0.0/IO handle to read or write to a string/remote http Blast jobs/Bio::Tools::Blast::Run::Webblast',
);
sub check_package {
my ($name,$str) = @_;
my($ver,$desc,$expl,@modules);
($ver,$desc,$expl,$module) = split( /\// , $str);
if( !eval "require $name") {
print "External Module $name, $desc,\n is not installed on this computer.\n The $module in Bioperl needs it for $expl\n\n";
return 1;
}
return 0;
}
#
# Generate sub testing package system
#
#
# make mini test targets for playing around with
# in testing...
opendir(DIR,"t") || warn "No test directory. Weird!";
@files = readdir(DIR);
shift @files;
shift @files;
foreach my $file (@files) {
$file =~ /(\w+)\.t/ || next;
$file = $1;
$line = "test_$file :: pure_all\n\tPERL_DL_NONLAZY=1 \$(FULLPERL) -I\$(INST_ARCHLIB) -I\$(INST_LIB) -I\$(PERL_ARCHLIB) -I\$(PERL_LIB) -e \'use Test::Harness qw(&runtests \$\$verbose); \$\$verbose=\$(TEST_VERBOSE); runtests \@ARGV;\' t/$file.t\n";
push(@tline,$line);
push(@targets,$file);
$tset .= "$file \\\n";
}
$tline = join('',@tline);
$tline = "show_tests :\n\t\@echo \'type make test_<subtest> to run\'\n\t\@echo '$tset'\n$tline\n";
print STDERR "Generated sub tests. go make show_tests to see available subtests\n";
sub MY::postamble {
$tline;
}
#
# Talk to Ewan (<birney@sanger.ac.uk>) for more info.
#
# Let the code begin...
require 5.004;
use ExtUtils::MakeMaker;
$do_autoload_finesse = 0;
$NAME = 'Bio';
$DISTNAME = "bioperl";
$VERSION = "0.06.2";
if( $do_autoload_finesse == 1 ) {
fatal("Autoload finessing does not work at the moment!");
}
@BACKUP_FILES = qw(./Seq.pm.bak);
#
# This does an inplace edit on Seq.pm
#
if( $do_autoload_finesse ) {
print "Bioperl module installation\nPreparing modules for AUTOLOADing...";
`perl -p -i.bak -e 's/#__END__/__END__/' Seq.pm`;
print "done.\n\n";
}
$error = 0;
foreach $name ( keys %packages ) {
if( &check_package($name,$packages{$name}) == 1 ) {
$error = 1;
}
}
if( $error == 1 ) {
print <<QQ_ERROR_QQ;
Warning:
There are some external packages, listed above, which bioperl
uses. This only effects the functionality which is listed above:
the rest of bioperl will work fine.
The installation of these external packages is very simple. You
can read more about the external packages at
http://bioperl.org/Core/external.shtml
The ftp site
ftp://bioperl.org/pub/external/
has all the external packages for easy retrieval, or you can use CPAN
Enjoy the rest of bioperl, which you can use after going 'make install'
QQ_ERROR_QQ
}
WriteMakefile(
NAME => $NAME,
DISTNAME => $DISTNAME,
VERSION => $VERSION,
'dist' => { COMPRESS => 'gzip -9f',
SUFFIX => '.gz',
DIST_DEFAULT => 'all tardist',
},
'realclean' => { FILES => join(' ',@BACKUP_FILES) }
);