1#line 1 2package Module::Install::Win32; 3 4use strict; 5use Module::Install::Base; 6 7use vars qw{$VERSION $ISCORE @ISA}; 8BEGIN { 9 $VERSION = '0.63'; 10 $ISCORE = 1; 11 @ISA = qw{Module::Install::Base}; 12} 13 14# determine if the user needs nmake, and download it if needed 15sub check_nmake { 16 my $self = shift; 17 $self->load('can_run'); 18 $self->load('get_file'); 19 20 require Config; 21 return unless ( 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 28 print "The required 'nmake' executable not found, fetching it...\n"; 29 30 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 41 if (!$rv) { 42 die <<'END_MESSAGE'; 43 44------------------------------------------------------------------------------- 45 46Since you are using Microsoft Windows, you will need the 'nmake' utility 47before 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 53Please download the file manually, save it to a directory in %PATH% (e.g. 54C:\WINDOWS\COMMAND\), then launch the MS-DOS command line shell, "cd" to 55that directory, and run "Nmake15.exe" from there; that will create the 56'nmake.exe' file needed by this module. 57 58You may then resume the installation process described in README. 59 60------------------------------------------------------------------------------- 61END_MESSAGE 62 } 63} 64 651; 66