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