From: Steve Hay Date: Fri, 19 Dec 2008 17:38:22 +0000 (+0000) Subject: Subject: RE: [perl #61492] ExtUtils::MM_Win32 should not generate "mt" command when... X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=4adc95e616bac7eea015e9e47e439b063c1132d5;p=p5sagit%2Fp5-mst-13.2.git Subject: RE: [perl #61492] ExtUtils::MM_Win32 should not generate "mt" command when CRT is statically linked From: "Jan Dubois" Date: Fri, 19 Dec 2008 03:02:45 -0800 Message-ID: <00f901c961c9$5321e1e0$f965a5a0$@com> --- diff --git a/lib/ExtUtils/CBuilder.pm b/lib/ExtUtils/CBuilder.pm index 851fdaf..87ac82d 100644 --- a/lib/ExtUtils/CBuilder.pm +++ b/lib/ExtUtils/CBuilder.pm @@ -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 diff --git a/lib/ExtUtils/CBuilder/Platform/Windows.pm b/lib/ExtUtils/CBuilder/Platform/Windows.pm index 49c15e3..13ced8b 100644 --- a/lib/ExtUtils/CBuilder/Platform/Windows.pm +++ b/lib/ExtUtils/CBuilder/Platform/Windows.pm @@ -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" ]; } diff --git a/lib/ExtUtils/MM_Win32.pm b/lib/ExtUtils/MM_Win32.pm index b853849..a5c7f98 100644 --- a/lib/ExtUtils/MM_Win32.pm +++ b/lib/ExtUtils/MM_Win32.pm @@ -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, ' diff --git a/lib/ExtUtils/MakeMaker.pm b/lib/ExtUtils/MakeMaker.pm index 314c5d0..639b76a 100644 --- a/lib/ExtUtils/MakeMaker.pm +++ b/lib/ExtUtils/MakeMaker.pm @@ -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{_}{}; diff --git a/win32/Makefile b/win32/Makefile index 2c54ee9..1040999 100644 --- a/win32/Makefile +++ b/win32/Makefile @@ -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) diff --git a/win32/makefile.mk b/win32/makefile.mk index 7cdeee7..30f5459 100644 --- a/win32/makefile.mk +++ b/win32/makefile.mk @@ -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)