1 package ExtUtils::MM_Win95;
3 use vars qw($VERSION @ISA);
6 require ExtUtils::MM_Win32;
7 @ISA = qw(ExtUtils::MM_Win32);
10 my $DMAKE = $Config{'make'} =~ /^dmake/i;
11 my $NMAKE = $Config{'make'} =~ /^nmake/i;
16 ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
20 You should not be using this module directly.
24 This is a subclass of ExtUtils::MM_Win32 containing changes necessary
25 to get MakeMaker playing nice with command.com and other Win9Xisms.
27 =head2 Overriden methods
29 Most of these make up for limitations in the Win9x command shell.
30 Namely the lack of && and that a chdir is global, so you have to chdir
46 $(ABSPERLRUN) Makefile.PL
48 $(MAKE) test $(PASTHRU)
57 Also, dmake has an odd way of making a command series silent.
62 my($self, $subdir) = @_;
64 # Win-9x has nasty problem in command.com that can't cope with
65 # &&. Also, Dmake has an odd way of making a commandseries silent:
67 return sprintf <<'EOT', $subdir;
72 $(MAKE) all $(PASTHRU)
78 return sprintf <<'EOT', $subdir;
82 $(NOECHO)$(MAKE) all $(PASTHRU)
96 return '' unless $self->needs_linking();
99 $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
112 return '' unless $self->needs_linking();
115 $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp
127 return '' unless $self->needs_linking();
130 $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
131 $(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c
135 =item clean_subdirs_target
137 && and chdir problem.
141 sub clean_subdirs_target {
144 # No subdirectories, no cleaning.
145 return <<'NOOP_FRAG' unless @{$self->{DIR}};
151 my $clean = "clean_subdirs :\n";
153 for my $dir (@{$self->{DIR}}) {
154 $clean .= sprintf <<'MAKE_FRAG', $dir;
156 $(TEST_F) $(FIRST_MAKEFILE)
166 =item realclean_subdirs_target
168 && and chdir problem.
172 sub realclean_subdirs_target {
175 return <<'NOOP_FRAG' unless @{$self->{DIR}};
180 my $rclean = "realclean_subdirs :\n";
182 foreach my $dir (@{$self->{DIR}}){
183 $rclean .= sprintf <<'RCLEAN', $dir;
185 -$(PERLRUN) -e "exit unless -f shift; system q{$(MAKE) realclean}" $(FIRST_MAKEFILE)
197 Win98 chokes on things like Encode if we set the max length to nmake's max
198 of 2K. So we go for a more conservative value of 1K.
205 return $self->{_MAX_EXEC_LEN} ||= 1024;
211 Win95 and Win98 and WinME are collectively Win9x and Win32
217 return ($self->SUPER::os_flavor, 'Win9x');
226 Code originally inside MM_Win32. Original author unknown.
228 Currently maintained by Michael G Schwern C<schwern@pobox.com>.
230 Send patches and ideas to C<makemaker@perl.org>.
232 See http://www.makemaker.org.