Subject: RE: [perl #61492] ExtUtils::MM_Win32 should not generate "mt" command when...
Steve Hay [Fri, 19 Dec 2008 17:38:22 +0000 (17:38 +0000)]
From: "Jan Dubois" <jand@activestate.com>
Date: Fri, 19 Dec 2008 03:02:45 -0800
Message-ID: <00f901c961c9$5321e1e0$f965a5a0$@com>

lib/ExtUtils/CBuilder.pm
lib/ExtUtils/CBuilder/Platform/Windows.pm
lib/ExtUtils/MM_Win32.pm
lib/ExtUtils/MakeMaker.pm
win32/Makefile
win32/makefile.mk

index 851fdaf..87ac82d 100644 (file)
@@ -5,7 +5,7 @@ use File::Path ();
 use File::Basename ();
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.24';
+$VERSION = '0.24_01';
 $VERSION = eval $VERSION;
 
 # Okay, this is the brute-force method of finding out what kind of
index 49c15e3..13ced8b 100644 (file)
@@ -347,7 +347,7 @@ sub format_linker_cmd {
   # Embed the manifest file for VC 2005 (aka VC 8) or higher, but not for the 64-bit Platform SDK compiler
   if ($cf->{ivsize} == 4 && $cf->{cc} eq 'cl' and $cf->{ccversion} =~ /^(\d+)/ and $1 >= 14) {
     push @cmds, [
-      'mt', '-nologo', $spec{manifest}, '-outputresource:' . "$output;2"
+      'if', 'exist', $spec{manifest}, 'mt', '-nologo', $spec{manifest}, '-outputresource:' . "$output;2"
     ];
   }
 
index b853849..a5c7f98 100644 (file)
@@ -343,7 +343,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $(BOOTSTRAP) $(INST_ARCHAUTODIR)$(DFSEP).
     {
         push(@m,
           q{
-       mt -nologo -manifest $@.manifest -outputresource:$@;2 && del $@.manifest});
+       if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && if exist $@.manifest del $@.manifest});
       }
     }
     push @m, '
index 314c5d0..639b76a 100644 (file)
@@ -18,7 +18,7 @@ our @Overridable;
 my @Prepend_parent;
 my %Recognized_Att_Keys;
 
-our $VERSION = '6.48';
+our $VERSION = '6.48_01';
 
 # Emulate something resembling CVS $Revision$
 (our $Revision = $VERSION) =~ s{_}{};
index 2c54ee9..1040999 100644 (file)
@@ -388,10 +388,10 @@ DELAYLOAD = -DELAYLOAD:ws2_32.dll delayimp.lib
 # installed too.
 !IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
     "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE"
-EMBED_EXE_MANI = mt -nologo -manifest $@.manifest -outputresource:$@;1 && \
-                 del $@.manifest
-EMBED_DLL_MANI = mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
-                 del $@.manifest
+EMBED_EXE_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 && \
+                 if exist $@.manifest del $@.manifest
+EMBED_DLL_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
+                 if exist $@.manifest del $@.manifest
 !ENDIF
 
 ARCHDIR                = ..\lib\$(ARCHNAME)
index 7cdeee7..30f5459 100644 (file)
@@ -387,10 +387,10 @@ DELAYLOAD *= -DELAYLOAD:ws2_32.dll delayimp.lib
 # installed too.
 .IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
     "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE"
-EMBED_EXE_MANI = mt -nologo -manifest $@.manifest -outputresource:$@;1 && \
-                 del $@.manifest
-EMBED_DLL_MANI = mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
-                 del $@.manifest
+EMBED_EXE_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 && \
+                 if exist $@.manifest del $@.manifest
+EMBED_DLL_MANI = if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
+                 if exist $@.manifest del $@.manifest
 .ENDIF
 
 ARCHDIR                = ..\lib\$(ARCHNAME)