-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.PL
87 lines (77 loc) · 3.53 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
#!/usr/bin/env perl
use strict;
use warnings;
our $VERSION = 0.004_000;
use ExtUtils::MakeMaker;
BEGIN { use English; }
push( @ExtUtils::MakeMaker::Overridable, qw(pm_to_blib) )
if ( $OSNAME eq 'MSWin32' );
WriteMakefile(
NAME => 'PhysicsPerl',
ABSTRACT => 'Physics Perl, The Optimized Physics Library Suite',
AUTHOR => 'Will Braswell <[email protected]>',
VERSION_FROM => 'lib/PhysicsPerl.pm',
LICENSE => 'perl_5',
EXE_FILES => [ 'script/physicsperl', 'script/demo/n_body.pl' ],
MIN_PERL_VERSION => '5.10.0', # NEED ANSWER, CORRELATION #rp000: is RPerl truly incompatible with Perl v5.8 and earlier?
PREREQ_PM => {
'ExtUtils::MakeMaker' => '7.04', # for compatibility with Inline::C >= v0.75
'CPAN::Meta' => '2.150005', # RPerl system devs only, used for generating CPAN metadata from this file during dist build
'PPI' => '1.242', # avoid endless loop from exponents of 2+ zeroes; https://github.com/adamkennedy/PPI/pull/230
'Test::Exception' => '0.32',
'Test::CPAN::Changes' => '0.400002',
'Test::Number::Delta' => '1.06', # for compatibility with Perls compiled using -Duselongdouble
'RPerl' => '5.002_000',
'Time::HiRes' => '1.9726',
'SDL' => '2.546'
},
META_MERGE => {
'meta-spec' => {
version => 2,
url => 'https://metacpan.org/pod/CPAN::Meta::Spec'
},
no_index => { namespace => ['PhysicsPerl::Test'] }, # DEV NOTE: disable indexing of all test package namespaces
release_status => 'stable',
keywords => [qw(physicsperl physics rperl perl5 optimizing compiler optimize compile)],
description => 'PhysicsPerl is the high-performance physics suite for the Perl 5 programming language, optimized using the RPerl compiler.',
resources => {
license => ['http://dev.perl.org/licenses/'],
homepage => 'http://www.rperl.org',
bugtracker => { web => 'http://rt.cpan.org/Public/Dist/Display.html?Name=PhysicsPerl' },
repository => {
type => 'git',
url => 'git://github.com/wbraswell/physicsperl.git',
web => 'https://github.com/wbraswell/physicsperl'
}
}
},
# NEED UPDATE, CORRELATION #pp006: list of CPAN files & directories to delete/exclude in Makefile.PL, .gitignore, and MANIFEST.SKIP
clean => { FILES => 'pod2htmd.tmp Makefile.old MANIFEST.bak' }
);
package MY;
BEGIN { use English; }
sub pm_to_blib {
my $self = shift;
my $blib = $self->SUPER::pm_to_blib(@_);
# un-read-only blib/lib for tests to pass, files are modified at runtime there
if ( $OSNAME eq 'MSWin32' ) {
my ( $lastline, $start ) = qq{\t\$(NOECHO) \$(TOUCH) pm_to_blib\n};
( $start = index( $blib, $lastline ) ) == -1
&& die "Can't find replacement string for pm_to_blib target";
substr( $blib, $start, 0, "\t" . 'attrib -R /S blib/lib/*' . "\n" );
}
return $blib;
}
# disable PERL_DL_NONLAZY=1 to avoid C++ compile errors for GMP library (and possibly others)
sub test_via_harness {
my $self = shift;
my $command = $self->MM::test_via_harness(@_);
$command =~ s/\bPERL_DL_NONLAZY=1\s+//gxms;
return $command;
}
sub test_via_script {
my $self = shift;
my $command = $self->MM::test_via_script(@_);
$command =~ s/\bPERL_DL_NONLAZY=1\s+//gxms;
return $command;
}