ref: 79b28d37817d1a9144282dadc4708cee7db58111
parent: 793c012635f8406c8370266442d3443ab6287067
author: Alexei Podtelezhnikov <apodtele@gmail.com>
date: Thu Oct 28 18:51:15 EDT 2021
[builds/windows] Revise MSVC linking optimizations. * builds/windows/vc2010/freetype.vcxproj: Optimize DLL linking only. * builds/windows/visualc/freetype.dsp: Ditto. * builds/windows/visualc/freetype.vcproj: Ditto.
--- a/builds/windows/vc2010/freetype.vcxproj
+++ b/builds/windows/vc2010/freetype.vcxproj
@@ -172,12 +172,10 @@
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Lib>
<TargetMachine>MachineARM64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
<PreBuildEvent>
<Command>call $(SolutionDir)script.bat</Command>
</PreBuildEvent>
@@ -204,12 +202,10 @@
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Lib>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
<PreBuildEvent>
<Command>call $(SolutionDir)script.bat</Command>
</PreBuildEvent>
@@ -236,12 +232,10 @@
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Lib>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
<PreBuildEvent>
<Command>call $(SolutionDir)script.bat</Command>
</PreBuildEvent>
@@ -268,12 +262,10 @@
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Lib>
<TargetMachine>MachineARM64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
<PreBuildEvent>
<Command>call $(SolutionDir)script.bat</Command>
</PreBuildEvent>
@@ -300,12 +292,10 @@
</ResourceCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- <Lib>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
<PreBuildEvent>
<Command>call $(SolutionDir)script.bat</Command>
</PreBuildEvent>
@@ -333,13 +323,10 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- </Link>
- <Lib>
- <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
@@ -364,13 +351,10 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- </Link>
- <Lib>
- <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
<TargetMachine>MachineARM64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
@@ -394,13 +378,10 @@
<Link>
<EnableCOMDATFolding>true</EnableCOMDATFolding>
<OptimizeReferences>true</OptimizeReferences>
- </Link>
- <Lib>
- <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'">
<ClCompile>
@@ -423,15 +404,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <Lib>
- <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
<TargetMachine>MachineX86</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|ARM64'">
<ClCompile>
@@ -454,15 +430,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <Lib>
- <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
<TargetMachine>MachineARM64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'">
<ClCompile>
@@ -484,15 +455,10 @@
<Culture>0x0409</Culture>
</ResourceCompile>
<Link>
- <EnableCOMDATFolding>true</EnableCOMDATFolding>
- <OptimizeReferences>true</OptimizeReferences>
- </Link>
- <Lib>
- <LinkTimeCodeGeneration>true</LinkTimeCodeGeneration>
<TargetMachine>MachineX64</TargetMachine>
<AdditionalLibraryDirectories>$(UserLibraryDirectories);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>
- </Lib>
+ </Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\..\src\autofit\autofit.c" />
--- a/builds/windows/visualc/freetype.dsp
+++ b/builds/windows/visualc/freetype.dsp
@@ -58,7 +58,7 @@
# ADD BSC32 /nologo
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
-# ADD LINK32 /nologo /dll /machine:I386 /out:"$(OutDir)\freetype.dll"
+# ADD LINK32 /nologo /dll /machine:I386 /opt:REF,ICF /out:"$(OutDir)\freetype.dll"
!ELSEIF "$(CFG)" == "freetype - Win32 Debug"
--- a/builds/windows/visualc/freetype.vcproj
+++ b/builds/windows/visualc/freetype.vcproj
@@ -66,6 +66,8 @@
/>
<Tool
Name="VCLinkerTool"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
/>
<Tool
Name="VCALinkTool"