Jan Dubois wrote on 2009-05-06:
> On Tue, 05 May 2009, John Dlugosz wrote:
>> I'm having trouble installing CPAN modules on a Windows x64 machine
>> running ActiveState Perl. The compiler (Visual Studio 2005) is not
>> given the correct options to include the manifest file at link-time.
>> And the DLLs won't run without it.
> ExtUtils::MM_Win32 contains code that embeds the manifest files, but
> only for the 32-bit compiler:
>
> # VS2005 (aka VC 8) or higher, but not for 64-bit compiler from
> Platform SDK if ($Config{ivsize} == 4 && $Config{cc} eq 'cl' and
> $Config{ccversion} =~ /^(\d+)/ and $1 >= 14)
> {
> push(@m,
> q{
> mt -nologo -manifest [email protected] -outputresource:$@;2 && del
> [email protected]});
> }
> }
>
> This is improved in the latest ExtUtils::MakeMaker like this:
>
> # Embed the manifest file if it exists
> push(@m, q{
> if exist [email protected] mt -nologo -manifest [email protected] -
> outputresource:$@;2 if exist [email protected] del [email protected]});
> }
>
> We don't need to check compiler versions; if the linker produced
> a .manifest file,
> then we assume we also have the mt.exe utility available and will
embed
> it. The
> .manifest is then deleted to avoid installing it together with the
.dll.
>
> So maybe Module::Build needs something similar.
>
Isn't it ExtUtils::CBuilder that needs it?
If so, it already has it in bleadperl:
http://perl5.git.perl.org/perl.git/commit/4adc95e616bac7eea015e9e47e439b
063c1132d5
http://perl5.git.perl.org/perl.git/commit/200cbd6aa595a0743f2aa115148750
c075df3f97
However, the latest CPAN release of CBuilder (0.24_01) seems to have the
first of those changes but not the second :-(