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