I was thinking it would get some args from Config
That was my first thought, too, but I couldn't find any instances of -out in either Config.pm or Config_heavy.pl.
I did find this, however, in ExtUtils::MM_Win32:
push(@m,
q{ $(LD) -out:$@ $(LDDLFLAGS) }.$ldfrom.q{ $(OTHERLDFLAGS) }
.q{$(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) -def:$(EXPORT_LIST)
+});
and wondered whether that might be where the botch up occurs. With MinGW, $(LD) will be g++ (so that part fits with what we're seeing from the op), but I'm not sure what's contained in the other symbols and haven't checked. In any case, that code comes from a block that should only be entered if 'cl' is the compiler.
There was a significant change from perl 5.10.0 to 5.10.1 on windows regarding $Config{cc}. With the former it was just plain old 'gcc' or 'cl' (or whatever), but with the latter it becomes 'X:/full/path/to/Y.exe' (where 'X' is the drive letter, and 'Y' is the name of the compiler.) This meant that, in EU::MM_Win32:
my $GCC = 1 if $Config{'cc'} =~ /^gcc/i;
had to be changed to:
my $GCC = $Config{'cc'} =~ /\bgcc/i ? 1 : 0;
I don't quite see how all this fits in with the op's problem (and probably never will without perl -V and the version of EU::MM), but it looks a bit supicious.
Cheers, Rob | [reply] [d/l] [select] |