Commit | Line | Data |
---|---|---|
f6d6199c | 1 | package ExtUtils::MM_Win95; |
2 | ||
1e65eb70 | 3 | use strict; |
4 | ||
8b19c1f8 | 5 | our $VERSION = '6.55_03'; |
f6d6199c | 6 | |
7 | require ExtUtils::MM_Win32; | |
a592ba15 | 8 | our @ISA = qw(ExtUtils::MM_Win32); |
479d2113 | 9 | |
7292dc67 | 10 | use ExtUtils::MakeMaker::Config; |
479d2113 | 11 | |
f6d6199c | 12 | |
f582e489 | 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 | ||
c2878c71 | 26 | =head2 Overridden methods |
479d2113 | 27 | |
7292dc67 | 28 | Most of these make up for limitations in the Win9x/nmake command shell. |
29 | Mostly its lack of &&. | |
479d2113 | 30 | |
31 | =over 4 | |
32 | ||
479d2113 | 33 | |
34 | =item xs_c | |
35 | ||
36 | The && problem. | |
37 | ||
38 | =cut | |
39 | ||
f6d6199c | 40 | sub xs_c { |
41 | my($self) = shift; | |
42 | return '' unless $self->needs_linking(); | |
43 | ' | |
44 | .xs.c: | |
7292dc67 | 45 | $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c |
f6d6199c | 46 | ' |
47 | } | |
48 | ||
479d2113 | 49 | |
50 | =item xs_cpp | |
51 | ||
52 | The && problem | |
53 | ||
54 | =cut | |
55 | ||
f6d6199c | 56 | sub xs_cpp { |
57 | my($self) = shift; | |
58 | return '' unless $self->needs_linking(); | |
59 | ' | |
60 | .xs.cpp: | |
7292dc67 | 61 | $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp |
f6d6199c | 62 | '; |
63 | } | |
64 | ||
479d2113 | 65 | =item xs_o |
66 | ||
67 | The && problem. | |
68 | ||
69 | =cut | |
70 | ||
f6d6199c | 71 | sub xs_o { |
72 | my($self) = shift; | |
73 | return '' unless $self->needs_linking(); | |
74 | ' | |
75 | .xs$(OBJ_EXT): | |
7292dc67 | 76 | $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c |
f6d6199c | 77 | $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c |
78 | '; | |
79 | } | |
4da32025 | 80 | |
479d2113 | 81 | |
03c94fc2 | 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 | ||
dedf98bc | 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 | ||
479d2113 | 108 | =back |
109 | ||
110 | ||
111 | =head1 AUTHOR | |
112 | ||
a7d1454b | 113 | Code originally inside MM_Win32. Original author unknown. |
479d2113 | 114 | |
a7d1454b | 115 | Currently maintained by Michael G Schwern C<schwern@pobox.com>. |
479d2113 | 116 | |
a7d1454b | 117 | Send patches and ideas to C<makemaker@perl.org>. |
479d2113 | 118 | |
119 | See http://www.makemaker.org. | |
120 | ||
121 | =cut | |
122 | ||
123 | ||
4da32025 | 124 | 1; |