File Coverage

inc/Module/Install/Win32.pm
Criterion Covered Total %
statement 12 22 54.5
branch 0 4 0.0
condition 0 9 0.0
subroutine 4 5 80.0
pod 0 1 0.0
total 16 41 39.0


line stmt bran cond sub pod time code
1             #line 1
2             package Module::Install::Win32;
3 1     1   5  
  1         2  
  1         29  
4 1     1   5 use strict;
  1         1  
  1         21  
5             use Module::Install::Base;
6 1     1   4  
  1         2  
  1         68  
7             use vars qw{$VERSION $ISCORE @ISA};
8 1     1   3 BEGIN {
9 1         1 $VERSION = '0.65';
10 1         238 $ISCORE = 1;
11             @ISA = qw{Module::Install::Base};
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 0           if (!$rv) {
42             die <<'END_MESSAGE';
43              
44             -------------------------------------------------------------------------------
45              
46             Since you are using Microsoft Windows, you will need the 'nmake' utility
47             before installation. It's available at:
48              
49             http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
50             or
51             ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe
52              
53             Please download the file manually, save it to a directory in %PATH% (e.g.
54             C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to
55             that directory, and run "Nmake15.exe" from there; that will create the
56             'nmake.exe' file needed by this module.
57              
58             You may then resume the installation process described in README.
59              
60             -------------------------------------------------------------------------------
61             END_MESSAGE
62             }
63             }
64              
65             1;