Hello,
1 - setting SHELL to cmd.exe /x /c breaks dmake, not setting it works
2 - correctly init DIRFILESEP
3 - dmake eats '{' inside double quotes and leaves alnoe { outside double
quotes; however it transforms {{ into { either inside and outside double
quotes
After the patch MM tests ok (except for known failures in split_command.t).
Regards
Mattia
? ExtUtils-MakeMaker.ppd
? Makefile
? blib
? pm_to_blib
Index: lib/ExtUtils/MM_Unix.pm
===================================================================
RCS file: /home/schwern/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm,v
retrieving revision 1.138
diff -u -2 -r1.138 MM_Unix.pm
--- lib/ExtUtils/MM_Unix.pm 22 Dec 2002 05:06:44 -0000 1.138
+++ lib/ExtUtils/MM_Unix.pm 22 Dec 2002 14:34:22 -0000
@@ -3855,4 +3855,5 @@
UMASK_NULL DEV_NULL/ )
{
+ next unless defined $self->{$_};
push @m, "$_ = $self->{$_}\n";
}
Index: lib/ExtUtils/MM_Win32.pm
===================================================================
RCS file: /home/schwern/cvs/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm,v
retrieving revision 1.55
diff -u -2 -r1.55 MM_Win32.pm
--- lib/ExtUtils/MM_Win32.pm 22 Dec 2002 03:44:48 -0000 1.55
+++ lib/ExtUtils/MM_Win32.pm 22 Dec 2002 14:34:24 -0000
@@ -148,5 +148,7 @@
# gotta be careful this isn't interpreted as an escape.
- $self->{DIRFILESEP} = '^\\';
+ $self->{DIRFILESEP} = $NMAKE ? '^\\' :
+ $DMAKE ? '\\\\' :
+ '\\';
}
@@ -198,4 +200,6 @@
}
+ delete $self->{SHELL} if $DMAKE;
+
return 1;
}
@@ -458,4 +462,11 @@
# Win98's command.com
$text =~ s{"}{\\"}g;
+
+ # dmake eats '{' inside double quotes and leaves alnoe { outside double
+ # quotes; however it transforms {{ into { either inside and outside double
+ # quotes
+ if ( $DMAKE ) {
+ $text =~ s/{/{{/g;
+ }
return qq{"$text"};