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