1 | package ExtUtils::MM_Win95;
|
---|
2 |
|
---|
3 | use vars qw($VERSION @ISA);
|
---|
4 | $VERSION = '0.04';
|
---|
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 Overriden 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<[email protected]>.
|
---|
115 |
|
---|
116 | Send patches and ideas to C<[email protected]>.
|
---|
117 |
|
---|
118 | See http://www.makemaker.org.
|
---|
119 |
|
---|
120 | =cut
|
---|
121 |
|
---|
122 |
|
---|
123 | 1;
|
---|