Re-apply changes 4adc95e616bac7ee and 200cbd6aa595a074 (RT #61492)
Nicholas Clark [Sat, 21 Feb 2009 08:41:14 +0000 (08:41 +0000)]
(ExtUtils::MM_Win32 should not generate "mt" command when CRT is statically
linked)(We'd failed to send this one upstream. Bad us.)

lib/ExtUtils/MM_Win32.pm

index 9246ca7..c0078a4 100644 (file)
@@ -27,7 +27,7 @@ use ExtUtils::MakeMaker qw( neatvalue );
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.49_01';
+our $VERSION = '6.49_02';
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
 
@@ -338,13 +338,10 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).
        q{      $(LD) -out:$@ $(LDDLFLAGS) }.$ldfrom.q{ $(OTHERLDFLAGS) }
       .q{$(MYEXTLIB) $(PERL_ARCHIVE) $(LDLOADLIBS) -def:$(EXPORT_LIST)});
 
-      # 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 $@.manifest -outputresource:$@;2 && del $@.manifest});
-      }
+      # Embed the manifest file if it exists
+      push(@m, q{
+       if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2
+       if exist $@.manifest del $@.manifest});
     }
     push @m, '
        $(CHMOD) $(PERM_RWX) $@