use Config;
=head1 NAME
ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
=head1 SYNOPSIS
You should not be using this module directly.
=head1 DESCRIPTION
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
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.
=over 4
=item dist_test
&& and chdir problem.
=cut
sub dist_test {
my($self) = shift;
return q{
cd ..
};
}
=item subdir_x
&& and chdir problem.
Also, dmake has an odd way of making a command series silent.
=cut
sub subdir_x {
# 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
cd ..
]
}
else {
return sprintf <<'EOT', $subdir;
subdirs ::
}
}
=item xs_c
The && problem.
=cut
sub xs_c {
my($self) = shift;
'
.xs.c:
'
}
=item xs_cpp
The && problem
=cut
sub xs_cpp {
my($self) = shift;
'
';
}
=item xs_o
The && problem.
=cut
sub xs_o {
my($self) = shift;
# Having to choose between .xs -> .c -> .o and .xs -> .o confuses dmake.
return '' if $DMAKE;
'
';
}
=item clean_subdirs_target
&& and chdir problem.
=cut
sub clean_subdirs_target {
my($self) = shift;
# No subdirectories, no cleaning.
my $clean = "clean_subdirs :\n";
cd %s
$(TEST_F) $(FIRST_MAKEFILE)
cd ..
}
return $clean;
}
=item realclean_subdirs_target
&& and chdir problem.
=cut
sub realclean_subdirs_target {
my $self = shift;
my $rclean = "realclean_subdirs :\n";
-cd %s
-cd ..
}
return $rclean;
}
=item os_flavor
Win95 and Win98 and WinME are collectively Win9x and Win32
=cut
sub os_flavor {
my $self = shift;
}
=back
=head1 AUTHOR
Code originally inside MM_Win32. Original author unknown.
Currently maintained by Michael G Schwern <schwern@pobox.com>.
Send patches and ideas to <F<makemaker@perl.org>>.
=cut
1;