This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Upgrade to ExtUtils::MakeMaker 6.37_02
[perl5.git] / lib / ExtUtils / MM_Win95.pm
1 package ExtUtils::MM_Win95;
2
3 use strict;
4
5 use vars qw($VERSION @ISA);
6 $VERSION = '6.37_02';
7
8 require ExtUtils::MM_Win32;
9 @ISA = qw(ExtUtils::MM_Win32);
10
11 use ExtUtils::MakeMaker::Config;
12
13
14 =head1 NAME
15
16 ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
17
18 =head1 SYNOPSIS
19
20   You should not be using this module directly.
21
22 =head1 DESCRIPTION
23
24 This is a subclass of ExtUtils::MM_Win32 containing changes necessary
25 to get MakeMaker playing nice with command.com and other Win9Xisms.
26
27 =head2 Overridden methods
28
29 Most of these make up for limitations in the Win9x/nmake command shell.
30 Mostly its lack of &&.
31
32 =over 4
33
34
35 =item xs_c
36
37 The && problem.
38
39 =cut
40
41 sub xs_c {
42     my($self) = shift;
43     return '' unless $self->needs_linking();
44     '
45 .xs.c:
46         $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
47         '
48 }
49
50
51 =item xs_cpp
52
53 The && problem
54
55 =cut
56
57 sub xs_cpp {
58     my($self) = shift;
59     return '' unless $self->needs_linking();
60     '
61 .xs.cpp:
62         $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp
63         ';
64 }
65
66 =item xs_o 
67
68 The && problem.
69
70 =cut
71
72 sub xs_o {
73     my($self) = shift;
74     return '' unless $self->needs_linking();
75     '
76 .xs$(OBJ_EXT):
77         $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
78         $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c
79         ';
80 }
81
82
83 =item max_exec_len
84
85 Win98 chokes on things like Encode if we set the max length to nmake's max
86 of 2K.  So we go for a more conservative value of 1K.
87
88 =cut
89
90 sub max_exec_len {
91     my $self = shift;
92
93     return $self->{_MAX_EXEC_LEN} ||= 1024;
94 }
95
96
97 =item os_flavor
98
99 Win95 and Win98 and WinME are collectively Win9x and Win32
100
101 =cut
102
103 sub os_flavor {
104     my $self = shift;
105     return ($self->SUPER::os_flavor, 'Win9x');
106 }
107
108
109 =back
110
111
112 =head1 AUTHOR
113
114 Code originally inside MM_Win32.  Original author unknown.
115
116 Currently maintained by Michael G Schwern C<schwern@pobox.com>.
117
118 Send patches and ideas to C<makemaker@perl.org>.
119
120 See http://www.makemaker.org.
121
122 =cut
123
124
125 1;