windows: better approach to manifest

Works for VS 2008 and 2012, at least.
This commit is contained in:
Matthew Flatt 2014-08-12 10:52:12 -06:00
parent 3b962a235d
commit a266d623aa
10 changed files with 51 additions and 30 deletions

View File

@ -495,14 +495,6 @@ static void do_scheme_rep(Scheme_Env *env, FinishArgs *fa)
}
}
/*========================================================================*/
/* win32 manifest */
/*========================================================================*/
#if _MSC_VER >= 1400
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
/*========================================================================*/
/* junk for testing */
/*========================================================================*/

View File

@ -341,7 +341,7 @@
'("libracket3mxxxxxxx.dll")
'("delayimp.lib")
exe "" #t))
(system- "mt.exe -manifest ../../../Racket.exe.manifest -outputresource:../../../Racket.exe;1")
(system- "mt.exe -manifest ../racket/racket.manifest -outputresource:../../../Racket.exe;1")
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -373,7 +373,7 @@
'("advapi32.lib"
"delayimp.lib")
"../../../lib/GRacket.exe" " /subsystem:windows" #t))
(system- "mt.exe -manifest ../../../lib/GRacket.exe.manifest -outputresource:../../../lib/GRacket.exe;1")
(system- "mt.exe -manifest ../gracket/gracket.manifest -outputresource:../../../lib/GRacket.exe;1")
(system- (format "~a /MT /O2 /DMZ_PRECISE_GC /I../../racket/include /I.. /c ../../racket/dynsrc/mzdyn.c /Fomzdyn3m.obj"
cl.exe))

View File

@ -0,0 +1 @@
mt.exe -manifest ../gracket/gracket.manifest -outputresource:../../../lib/GRacketCGC.exe;1

View File

@ -45,5 +45,3 @@ BEGIN
VALUE "Translation", 0x409, 1200
END
END
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "gracket.manifest"

View File

@ -63,6 +63,10 @@
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="BDebug|Win32"
@ -105,6 +109,10 @@
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
<Tool
Name="VCALinkTool"
/>
@ -123,9 +131,6 @@
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="BRelease|x64"
@ -180,6 +185,10 @@
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="BDebug|x64"
@ -223,6 +232,10 @@
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="SRelease|Win32"
@ -270,6 +283,10 @@
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="SDebug|Win32"
@ -312,6 +329,10 @@
RandomizedBaseAddress="1"
DataExecutionPrevention="0"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
<Tool
Name="VCALinkTool"
/>
@ -330,9 +351,6 @@
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="SRelease|x64"
@ -387,6 +405,10 @@
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
Name="SDebug|x64"
@ -430,6 +452,10 @@
DataExecutionPrevention="0"
TargetMachine="17"
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="addman.bat&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>
<References>

View File

@ -86,6 +86,11 @@
<DataExecutionPrevention>
</DataExecutionPrevention>
</Link>
<PostBuildEvent>
<Command>
addman.bat
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='BRelease|Win32'">
<ClCompile>

View File

@ -0,0 +1 @@
mt.exe -manifest ../racket/racket.manifest -outputresource:../../../RacketCGC.exe;1

View File

@ -45,5 +45,3 @@ BEGIN
VALUE "Translation", 0x409, 1200
END
END
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "racket.manifest"

View File

@ -60,7 +60,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdynd.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -131,7 +131,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdynd.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -181,7 +181,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -233,7 +233,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -279,7 +279,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -350,7 +350,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -400,7 +400,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
<Configuration
@ -451,7 +451,7 @@
/>
<Tool
Name="VCPostBuildEventTool"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;&#x0D;&#x0A;"
CommandLine="&#x0D;&#x0A;if exist &quot;$(TargetPath)&quot; goto :MzOK&#x0D;&#x0A;echo Error: did not find $(TargetPath)&#x0D;&#x0A;exit 1&#x0D;&#x0A;:MzOK&#x0D;&#x0A;&quot;$(TargetPath)&quot; -cu ..\..\racket\mkincludes.rkt &quot;$(TargetDir)/include/&quot; ..\..\racket ..&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;cd ..\..\racket\dynsrc&#x0D;&#x0A;call mkmzdyn.bat $(ConfigurationName)&#x0D;&#x0A;cd ..\..\worksp\racket&#x0D;&#x0A;addman.bat&#x0D;&#x0A;&#x0D;&#x0A;"
/>
</Configuration>
</Configurations>

View File

@ -95,9 +95,9 @@ exit 1
"$(TargetPath)" -cu ..\..\racket\mkincludes.rkt "$(TargetDir)/include/" ..\..\racket ..
if errorlevel 1 exit 1
cd ..\..\racket\dynsrc
mkmzdyn.bat $(Configuration)
call mkmzdyn.bat $(Configuration)
cd ..\..\worksp\racket
addman.bat
</Command>
</PostBuildEvent>
</ItemDefinitionGroup>