Subject: | makemaker fail to build the right DIRFILESEP under win32 affected file MM_Win32.pm (fix proposes too :-D) |
the bad construction of DIRFILESEP path separator
(DIRFILESEP = ^\ instead of DIRFILESEP = \\
issues (example):
make: *** No rule to make target `C:\Perl\lib\ExtUtilsxsubpp', needed by
`source.c'. Stop.
)
by Makefile.PL
persist for example also in last "activestate Perl 5.10" distribution
and last updated version of ExtUtils-Makemaker (6.44) ,
and is related to:
..\Perl\lib\ExtUtils\MM_Win32.pm
Or/And (depend on install zone..):
..\Perl\site\lib\ExtUtils\MM_Win32.pm
I correct the code of this subroutine (in MM_Win32.pm):
sub init_DIRFILESEP {
my($self) = shift;
my $make = $self->make;
# The ^ makes sure its not interpreted as an escape in nmake
# $self->{DIRFILESEP} = $make eq 'nmake' ? '^\\' :
# above line fixed by Berardi Michele as:
$self->{DIRFILESEP} = $make eq 'nmake' ? '\\\\' :
$make eq 'dmake' ? '\\\\'
: '\\';
}
Hope this help.
Michele
---------------
Michele Berardi
System Developer
http://berardimichele.interfree.it