File Coverage

lib/ExtUtils/MM_Win95.pm
Criterion Covered Total %
statement 6 19 31.6
branch 0 6 0.0
condition 0 2 0.0
subroutine 2 7 28.6
total 8 34 23.5


line stmt bran cond sub time code
1           package ExtUtils::MM_Win95;
2            
3 1     1 1357 use strict;
  1       3  
  1       86  
4            
5           our $VERSION = '6.74';
6            
7           require ExtUtils::MM_Win32;
8           our @ISA = qw(ExtUtils::MM_Win32);
9            
10 1     1 7 use ExtUtils::MakeMaker::Config;
  1       2  
  1       9  
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 0     0   my($self) = shift;
42 0 0       return '' unless $self->needs_linking();
43 0         '
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 0     0   my($self) = shift;
58 0 0       return '' unless $self->needs_linking();
59 0         '
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 0     0   my($self) = shift;
73 0 0       return '' unless $self->needs_linking();
74 0         '
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 0     0   my $self = shift;
91            
92 0   0     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 0     0   my $self = shift;
104 0         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.
116            
117           Send patches and ideas to C.
118            
119           See https://metacpan.org/release/ExtUtils-MakeMaker.
120            
121           =cut
122            
123            
124           1;