package ExtUtils::MM_Win95;
+use strict;
+
use vars qw($VERSION @ISA);
-$VERSION = 0.03_01;
+$VERSION = '0.06';
require ExtUtils::MM_Win32;
@ISA = qw(ExtUtils::MM_Win32);
-use Config;
-my $DMAKE = $Config{'make'} =~ /^dmake/i;
-my $NMAKE = $Config{'make'} =~ /^nmake/i;
+use ExtUtils::MakeMaker::Config;
=head1 NAME
This is a subclass of ExtUtils::MM_Win32 containing changes necessary
to get MakeMaker playing nice with command.com and other Win9Xisms.
-=head2 Overriden methods
+=head2 Overridden methods
-Most of these make up for limitations in the Win9x command shell.
-Namely the lack of && and that a chdir is global, so you have to chdir
-back at the end.
+Most of these make up for limitations in the Win9x/nmake command shell.
+Mostly its lack of &&.
=over 4
-=item dist_test
-
-&& and chdir problem.
-
-=cut
-
-sub dist_test {
- my($self) = shift;
- return q{
-disttest : distdir
- cd $(DISTVNAME)
- $(ABSPERLRUN) Makefile.PL
- $(MAKE) $(PASTHRU)
- $(MAKE) test $(PASTHRU)
- cd ..
-};
-}
-
-=item subdir_x
-
-&& and chdir problem.
-
-Also, dmake has an odd way of making a command series silent.
-
-=cut
-
-sub subdir_x {
- my($self, $subdir) = @_;
-
- # Win-9x has nasty problem in command.com that can't cope with
- # &&. Also, Dmake has an odd way of making a commandseries silent:
- if ($DMAKE) {
- return sprintf <<'EOT', $subdir;
-
-subdirs ::
-@[
- cd %s
- $(MAKE) all $(PASTHRU)
- cd ..
-]
-EOT
- }
- else {
- return sprintf <<'EOT', $subdir;
-
-subdirs ::
- $(NOECHO)cd %s
- $(NOECHO)$(MAKE) all $(PASTHRU)
- $(NOECHO)cd ..
-EOT
- }
-}
=item xs_c
return '' unless $self->needs_linking();
'
.xs.c:
- $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
+ $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
'
}
return '' unless $self->needs_linking();
'
.xs.cpp:
- $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp
+ $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp
';
}
return '' unless $self->needs_linking();
'
.xs$(OBJ_EXT):
- $(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
+ $(XSUBPPRUN) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
$(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c
';
}
-=item clean_subdirs_target
-
-&& and chdir problem.
-
-=cut
-
-sub clean_subdirs_target {
- my($self) = shift;
-
- # No subdirectories, no cleaning.
- return <<'NOOP_FRAG' unless @{$self->{DIR}};
-clean_subdirs :
- $(NOECHO)$(NOOP)
-NOOP_FRAG
-
-
- my $clean = "clean_subdirs :\n";
-
- for my $dir (@{$self->{DIR}}) {
- $clean .= sprintf <<'MAKE_FRAG', $dir;
- cd %s
- $(TEST_F) $(FIRST_MAKEFILE)
- $(MAKE) clean
- cd ..
-MAKE_FRAG
- }
-
- return $clean;
-}
-
-
-=item realclean_subdirs_target
-
-&& and chdir problem.
-
-=cut
-
-sub realclean_subdirs_target {
- my $self = shift;
-
- return <<'NOOP_FRAG' unless @{$self->{DIR}};
-realclean_subdirs :
- $(NOECHO)$(NOOP)
-NOOP_FRAG
-
- my $rclean = "realclean_subdirs :\n";
-
- foreach my $dir (@{$self->{DIR}}){
- $rclean .= sprintf <<'RCLEAN', $dir;
- -cd %s
- -$(PERLRUN) -e "exit unless -f shift; system q{$(MAKE) realclean}" $(FIRST_MAKEFILE)
- -cd ..
-RCLEAN
-
- }
-
- return $rclean;
-}
-
=item max_exec_len