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