2 package Module::Install::Win32;
5 use Module::Install::Base ();
7 use vars qw{$VERSION @ISA $ISCORE};
10 @ISA = 'Module::Install::Base';
14 # determine if the user needs nmake, and download it if needed
17 $self->load('can_run');
18 $self->load('get_file');
23 $Config::Config{make} and
24 $Config::Config{make} =~ /^nmake\b/i and
25 ! $self->can_run('nmake')
28 print "The required 'nmake' executable not found, fetching it...\n";
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),
36 run => 'Nmake15.exe /o > nul',
37 check_for => 'Nmake.exe',
41 die <<'END_MESSAGE' unless $rv;
43 -------------------------------------------------------------------------------
45 Since you are using Microsoft Windows, you will need the 'nmake' utility
46 before installation. It's available at:
48 http://download.microsoft.com/download/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
50 ftp://ftp.microsoft.com/Softlib/MSLFILES/Nmake15.exe
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.
57 You may then resume the installation process described in README.
59 -------------------------------------------------------------------------------