File Coverage

inc/Module/Install/Win32.pm
Criterion Covered Total %
statement 12 21 57.1
branch 0 4 0.0
condition 0 9 0.0
subroutine 4 5 80.0
pod 0 1 0.0
total 16 40 40.0


line stmt bran cond sub pod time code
1             #line 1
2             package Module::Install::Win32;
3 1     1   5  
  1         2  
  1         34  
4 1     1   6 use strict;
  1         1  
  1         23  
5             use Module::Install::Base;
6 1     1   4  
  1         2  
  1         86  
7             use vars qw{$VERSION @ISA $ISCORE};
8 1     1   2 BEGIN {
9 1         14 $VERSION = '0.75';
10 1         208 @ISA = qw{Module::Install::Base};
11             $ISCORE = 1;
12             }
13              
14             # determine if the user needs nmake, and download it if needed
15 0     0 0   sub check_nmake {
16 0           my $self = shift;
17 0           $self->load('can_run');
18             $self->load('get_file');
19 0            
20             require Config;
21 0 0 0       return unless (
      0        
      0        
22             $^O eq 'MSWin32' and
23             $Config::Config{make} and
24             $Config::Config{make} =~ /^nmake\b/i and
25             ! $self->can_run('nmake')
26             );
27 0            
28             print "The required 'nmake' executable not found, fetching it...\n";
29 0            
30 0           require File::Basename;
31             my $rv = $self->get_file(
32             url => 'http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe',
33             ftp_url => 'ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe',
34             local_dir => File::Basename::dirname($^X),
35             size => 51928,
36             run => 'Nmake15.exe /o > nul',
37             check_for => 'Nmake.exe',
38             remove => 1,
39             );
40 0 0          
41             die <<'END_MESSAGE' unless $rv;
42              
43             -------------------------------------------------------------------------------
44              
45             Since you are using Microsoft Windows, you will need the 'nmake' utility
46             before installation. It's available at:
47              
48             http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
49             or
50             ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe
51              
52             Please download the file manually, save it to a directory in %PATH% (e.g.
53             C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to
54             that directory, and run "Nmake15.exe" from there; that will create the
55             'nmake.exe' file needed by this module.
56              
57             You may then resume the installation process described in README.
58              
59             -------------------------------------------------------------------------------
60             END_MESSAGE
61              
62             }
63              
64             1;