-
Notifications
You must be signed in to change notification settings - Fork 5
/
Makefile.PL
83 lines (73 loc) · 2.61 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
#!perl
use 5.006;
use strict;
my $ExtUtils_Depends_required = 0.302;
eval {
require ExtUtils::Depends;
};
if ( $@ or ExtUtils::Depends->VERSION < $ExtUtils_Depends_required ) {
print "ExtUtils::Depends $ExtUtils_Depends_required is required to configure this module, please install it manually or upgrade your CPAN/CPANPLUS shell\n";
exit(0);
}
my $pkg = ExtUtils::Depends->new('B::Utils');
$pkg->install('BUtils.h');
$pkg->add_xs("Utils.xs", "OP.xs");
$pkg->add_pm( 'lib/B/Utils.pm' => '$(INST_LIB)/B/Utils.pm',
'lib/B/Utils/OP.pm' => '$(INST_LIB)/B/Utils/OP.pm' );
$pkg->add_typemaps("typemap");
$pkg->save_config('build/IFiles.pm');
use ExtUtils::MakeMaker;
WriteMakefile1(
NAME => 'B::Utils',
VERSION_FROM => 'lib/B/Utils.pm',
PREREQ_PM => {
'Scalar::Util' => 0,
'Task::Weaken' => 0,
'Exporter' => 0,
},
BUILD_REQUIRES => {
'Test::More' => 0,
},
CONFIGURE_REQUIRES => {
'ExtUtils::Depends' => $ExtUtils_Depends_required,
},
ABSTRACT_FROM => 'lib/B/Utils.pm',
AUTHOR => 'Josh Jore <jjore@cpan.org>',
LICENSE => 'perl',
MIN_PERL_VERSION => 5.006,
META_MERGE => {
resources => {
repository => 'http://github.com/jbenjore/B-Utils/tree',
},
keywords => ['op tree','perl internals'],
},
test => { TESTS => 't/*.t t/*/*.t' },
$pkg->get_makefile_vars,
(($^O eq 'hpux') ? () :
(FUNCLIST => [
'boot_B__Utils', #necessary for work of B::Utils
qw/BUtils_cc_opclassname BUtils_make_sv_object BUtils_op_name_to_num/, #defined in BUtils.h
])),
);
sub WriteMakefile1 {
my %params=@_;
my $eumm_version=$ExtUtils::MakeMaker::VERSION;
$eumm_version=eval $eumm_version;
die "EXTRA_META is deprecated" if exists $params{EXTRA_META};
die "License not specified" if not exists $params{LICENSE};
if ($params{BUILD_REQUIRES}) { #and $eumm_version < 6.5503
#Should be modified in future when EUMM will
#correctly support BUILD_REQUIRES.
#EUMM 6.5502 has problems with BUILD_REQUIRES
$params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} };
delete $params{BUILD_REQUIRES};
}
delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52;
delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48;
delete $params{META_MERGE} if $eumm_version < 6.46;
delete $params{META_ADD} if $eumm_version < 6.46;
delete $params{LICENSE} if $eumm_version < 6.31;
delete $params{AUTHOR} if $] < 5.005;
delete $params{ABSTRACT_FROM} if $] < 5.005;
WriteMakefile(%params);
}