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