I've submitted this via http://rt.cpan.org against bug 327:
http://rt.cpan.org/NoAuth/Bug.html?id=327
and here are the patch files I submitted there. Sorry if there's bad
formatting; it's my first patch submission.
Note that the patch to the MM_Unix file is strictly a cleanup patch, now
that the complex behavior has been migrated to the MM_Win32 module.
Let me know what happens to this, if you would.
--Jeremy
*** ExtUtils/MM_Win32.pm.backup Sat Aug 31 01:40:56 2002
--- ExtUtils/MM_Win32.pm Sat Aug 31 01:59:02 2002
***************
*** 79,84 ****
--- 79,117 ----
}
} # end of command.com workarounds
+ sub subdir_x {
+ my $self = shift;
+ my $subdir = shift;
+ if (Win32::IsWin95()) {
+ # Win-9x has nasty problem in command.com that can't cope with
+ # &&. Also, Dmake and Nmake disagree about how to make a
+ # commandseries silent:
+ if ($NMAKE) {
+ return <<EOT;
+
+ subdirs ::
+ \@cd $subdir
+ \@\$(MAKE) all \$(PASTHRU)
+ \@cd ..
+ EOT
+ }
+ elsif ($DMAKE) {
+ return <<EOT;
+
+ subdirs ::
+ @[
+ cd $subdir
+ \$(MAKE) all \$(PASTHRU)
+ cd ..
+ ]
+ EOT
+ }
+ }
+ # if not windows 95, or not nmake/dmake, fall back to base
+ # implementation, which uses NOECHO and "&&" operator
+ return $self->ExtUtils::MM_Unix::subdir_x($subdir, @_);
+ }
+
sub dlsyms {
my($self,%attribs) = @_;
*** ExtUtils/MM_Unix.pm.backup Sat Aug 31 01:31:06 2002
--- ExtUtils/MM_Unix.pm Sat Aug 31 01:55:42 2002
***************
*** 3315,3339 ****
sub subdir_x {
my($self, $subdir) = @_;
my(@m);
! if ($Is_Win32 && Win32::IsWin95()) {
! # XXX: dmake-specific, like rest of Win95 port
! return <<EOT;
! subdirs ::
! @[
! cd $subdir
! \$(MAKE) all \$(PASTHRU)
! cd ..
! ]
! EOT
! }
! else {
! return <<EOT;
subdirs ::
$self->{NOECHO}cd $subdir && \$(MAKE) all \$(PASTHRU)
EOT
- }
}
=item subdirs (o)
--- 3315,3326 ----
sub subdir_x {
my($self, $subdir) = @_;
my(@m);
! return <<EOT;
subdirs ::
$self->{NOECHO}cd $subdir && \$(MAKE) all \$(PASTHRU)
EOT
}
=item subdirs (o)