package ExtUtils
::MM_Win95
;
use vars
qw($VERSION @ISA);
require ExtUtils::MM_Win32;
@ISA = qw(ExtUtils::MM_Win32);
my $DMAKE = $Config{'make'} =~ /^dmake/i;
my $NMAKE = $Config{'make'} =~ /^nmake/i;
ExtUtils::MM_Win95 - method to customize MakeMaker for Win9X
You should not be using this module directly.
This is a subclass of ExtUtils::MM_Win32 containing changes necessary
to get MakeMaker playing nice with command.com and other Win9Xisms.
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
$(ABSPERLRUN) Makefile.PL
Also, dmake has an odd way of making a command series silent.
# Win-9x has nasty problem in command.com that can't cope with
# &&. Also, Dmake has an odd way of making a commandseries silent:
return sprintf <<'EOT', $subdir;
return sprintf <<'EOT', $subdir;
$(NOECHO)$(MAKE) all $(PASTHRU)
return '' unless $self->needs_linking();
$(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
return '' unless $self->needs_linking();
$(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.cpp
return '' unless $self->needs_linking();
$(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.c
$(CCCMD) $(CCCDLFLAGS) -I$(PERL_INC) $(DEFINE) $*.c
=item clean_subdirs_target
sub clean_subdirs_target
{
# No subdirectories, no cleaning.
return <<'NOOP_FRAG' unless @{$self->{DIR}};
my $clean = "clean_subdirs :\n";
for my $dir (@
{$self->{DIR
}}) {
$clean .= sprintf <<'MAKE_FRAG', $dir;
$(TEST_F) $(FIRST_MAKEFILE)
=item realclean_subdirs_target
sub realclean_subdirs_target
{
return <<'NOOP_FRAG' unless @{$self->{DIR}};
my $rclean = "realclean_subdirs :\n";
foreach my $dir (@
{$self->{DIR
}}){
$rclean .= sprintf <<'RCLEAN', $dir;
-$(PERLRUN) -e "exit unless -f shift; system q{$(MAKE) realclean}" $(FIRST_MAKEFILE)
Win98 chokes on things like Encode if we set the max length to nmake's max
of 2K. So we go for a more conservative value of 1K.
return $self->{_MAX_EXEC_LEN
} ||= 1024;
Win95 and Win98 and WinME are collectively Win9x and Win32
return ($self->SUPER::os_flavor
, 'Win9x');
Code originally inside MM_Win32. Original author unknown.
Currently maintained by Michael G Schwern C<schwern@pobox.com>.
Send patches and ideas to C<makemaker@perl.org>.
See http://www.makemaker.org.