commit
7569836b3c
1 changed files with 8 additions and 5 deletions
13
Build.PL
13
Build.PL
|
@ -27,6 +27,7 @@ my %recommends = qw(
|
||||||
XML::SAX::ExpatXS 0
|
XML::SAX::ExpatXS 0
|
||||||
);
|
);
|
||||||
|
|
||||||
|
my $sudo = grep { $_ eq '--sudo' } @ARGV;
|
||||||
my $gui = grep { $_ eq '--gui' } @ARGV;
|
my $gui = grep { $_ eq '--gui' } @ARGV;
|
||||||
my $xs_only = grep { $_ eq '--xs' } @ARGV;
|
my $xs_only = grep { $_ eq '--xs' } @ARGV;
|
||||||
if ($gui) {
|
if ($gui) {
|
||||||
|
@ -89,19 +90,21 @@ If it is installed in a non-standard location you can do:
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
if !$cpanm;
|
if !$cpanm;
|
||||||
|
my @cpanm_args = ();
|
||||||
|
push @cpanm_args, "--sudo" if $sudo;
|
||||||
|
|
||||||
# make sure our cpanm is updated (old ones don't support the ~ syntax)
|
# make sure our cpanm is updated (old ones don't support the ~ syntax)
|
||||||
system $cpanm, 'App::cpanminus';
|
system $cpanm, @cpanm_args, 'App::cpanminus';
|
||||||
|
|
||||||
# install the Windows-compatible Math::Libm
|
# install the Windows-compatible Math::Libm
|
||||||
if ($^O eq 'MSWin32' && !eval "use Math::Libm; 1") {
|
if ($^O eq 'MSWin32' && !eval "use Math::Libm; 1") {
|
||||||
system $cpanm, 'https://github.com/alexrj/Math-Libm/tarball/master';
|
system $cpanm, @cpanm_args, 'https://github.com/alexrj/Math-Libm/tarball/master';
|
||||||
}
|
}
|
||||||
|
|
||||||
my %modules = (%prereqs, %recommends);
|
my %modules = (%prereqs, %recommends);
|
||||||
foreach my $module (sort keys %modules) {
|
foreach my $module (sort keys %modules) {
|
||||||
my $version = $modules{$module};
|
my $version = $modules{$module};
|
||||||
my @cmd = ($cpanm, "$module~$version");
|
my @cmd = ($cpanm, @cpanm_args, "$module~$version");
|
||||||
if ($module eq 'XML::SAX::ExpatXS' && $^O eq 'MSWin32') {
|
if ($module eq 'XML::SAX::ExpatXS' && $^O eq 'MSWin32') {
|
||||||
my $mingw = 'C:\dev\CitrusPerl\mingw64';
|
my $mingw = 'C:\dev\CitrusPerl\mingw64';
|
||||||
$mingw = 'C:\dev\CitrusPerl\mingw32' if !-d $mingw;
|
$mingw = 'C:\dev\CitrusPerl\mingw32' if !-d $mingw;
|
||||||
|
@ -131,7 +134,7 @@ EOF
|
||||||
system './xs/Build', 'distclean';
|
system './xs/Build', 'distclean';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
my $res = system $cpanm, '--reinstall', './xs';
|
my $res = system $cpanm, @cpanm_args, '--reinstall', './xs';
|
||||||
if ($res != 0) {
|
if ($res != 0) {
|
||||||
die "The XS/C++ code failed to compile, aborting\n";
|
die "The XS/C++ code failed to compile, aborting\n";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue