[build] Windows-style DLL versioning.

* build/windows/ftver.rc: New VERSIONINFO resource.
* build/windows/vc2010/freetype.vcxproj: Further improvements.
diff --git a/ChangeLog b/ChangeLog
index fe62b19..4a04e8b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-09-21  Alexei Podtelezhnikov  <apodtele@gmail.com>
+
+	[build] Windows-style DLL versioning.
+
+	* build/windows/ftver.rc: New VERSIONINFO resource.
+	* build/windows/vc2010/freetype.vcxproj: Further improvements.
+
 2017-09-23  Ben Wagner  <bungeman@google.com>
 
 	[truetype] Really fix #52082.
diff --git a/builds/windows/ftver.rc b/builds/windows/ftver.rc
new file mode 100644
index 0000000..5dcd4a6
--- /dev/null
+++ b/builds/windows/ftver.rc
@@ -0,0 +1,43 @@
+#include<Windows.h>
+
+#define FT_VERSION      2,8,1,0
+#define FT_VERSION_STR  "2.8.1"
+
+VS_VERSION_INFO      VERSIONINFO
+FILEVERSION          FT_VERSION
+PRODUCTVERSION       FT_VERSION
+FILEFLAGSMASK        VS_FFI_FILEFLAGSMASK
+#ifdef _DEBUG
+FILEFLAGS            VS_FF_DEBUG
+#endif
+#ifdef _DLL
+FILETYPE             VFT_DLL
+#define FT_FILENAME  "freetype.dll"
+#else
+FILETYPE             VFT_STATIC_LIB
+#define FT_FILENAME  "freetype.lib"
+#endif
+BEGIN
+  BLOCK "StringFileInfo"
+  BEGIN
+    BLOCK "040904E4"
+    BEGIN
+      VALUE "CompanyName",      "The FreeType Project"
+      VALUE "FileDescription",  "Font Rendering Library"
+      VALUE "FileVersion",      FT_VERSION_STR
+      VALUE "ProductName",      "FreeType"
+      VALUE "ProductVersion",   FT_VERSION_STR
+      VALUE "LegalCopyright",   "© 2017 The FreeType Project www.freetype.org. All rights reserved."
+      VALUE "InternalName",     "freetype"
+      VALUE "OriginalFilename", FT_FILENAME
+    END
+  END
+
+  BLOCK "VarFileInfo"
+  BEGIN
+    /* The following line should only be modified for localized versions.  */
+    /* It consists of any number of WORD,WORD pairs, with each pair        */
+    /* describing a "language,codepage" combination supported by the file. */
+    VALUE "Translation", 0x409, 1252
+  END
+END
diff --git a/builds/windows/vc2010/freetype.vcxproj b/builds/windows/vc2010/freetype.vcxproj
index 0722718..93e755a 100644
--- a/builds/windows/vc2010/freetype.vcxproj
+++ b/builds/windows/vc2010/freetype.vcxproj
@@ -9,12 +9,12 @@
       <Configuration>Debug</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Debug Multithreaded|Win32">

-      <Configuration>Debug Multithreaded</Configuration>

+    <ProjectConfiguration Include="Debug Static|Win32">

+      <Configuration>Debug Static</Configuration>

       <Platform>Win32</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Debug Multithreaded|x64">

-      <Configuration>Debug Multithreaded</Configuration>

+    <ProjectConfiguration Include="Debug Static|x64">

+      <Configuration>Debug Static</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

     <ProjectConfiguration Include="Release|Win32">

@@ -25,12 +25,12 @@
       <Configuration>Release</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Release Multithreaded|Win32">

-      <Configuration>Release Multithreaded</Configuration>

+    <ProjectConfiguration Include="Release Static|Win32">

+      <Configuration>Release Static</Configuration>

       <Platform>Win32</Platform>

     </ProjectConfiguration>

-    <ProjectConfiguration Include="Release Multithreaded|x64">

-      <Configuration>Release Multithreaded</Configuration>

+    <ProjectConfiguration Include="Release Static|x64">

+      <Configuration>Release Static</Configuration>

       <Platform>x64</Platform>

     </ProjectConfiguration>

   </ItemGroup>

@@ -61,73 +61,67 @@
     End of: Switch the PlatformToolset based on the Visual Studio Version

 -->

   <PropertyGroup Label="Globals">

-    <ProjectGuid>{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}</ProjectGuid>

+     <ProjectGuid>{78B079BD-9FC7-4B9E-B4A6-96DA0F00248B}</ProjectGuid>

+     <RootNamespace>FreeType</RootNamespace>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'" Label="Configuration">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'" Label="Configuration">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">

     <ConfigurationType>DynamicLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'" Label="Configuration">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'" Label="Configuration">

+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'" Label="Configuration">

     <ConfigurationType>StaticLibrary</ConfigurationType>

     <UseOfMfc>false</UseOfMfc>

-    <CharacterSet>MultiByte</CharacterSet>

+    <CharacterSet>Unicode</CharacterSet>

   </PropertyGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />

   <ImportGroup Label="ExtensionSettings">

   </ImportGroup>

   <PropertyGroup>

-    <OutDir>.\..\..\..\objs\vc2010\$(Platform)\</OutDir>

-    <IntDir>.\..\..\..\objs\vc2010\$(Platform)\$(Configuration)\</IntDir>

+    <OutDir>..\..\..\objs\$(Platform)\</OutDir>

+    <IntDir>..\..\..\objs\$(Platform)\$(Configuration)\</IntDir>

     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>

     <CodeAnalysisRules />

     <CodeAnalysisRuleAssemblies />

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">freetype281d</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">freetype281d</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">freetype281MTd</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">freetype281MTd</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">freetype281</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">freetype281</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">freetype281MT</TargetName>

-    <TargetName Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">freetype281MT</TargetName>

+    <TargetName>freetype</TargetName>

   </PropertyGroup>

   <Import Project="$(SolutionDir)\freetype.user.props" Condition="exists('$(SolutionDir)\freetype.user.props')" Label="UserProperties" />

   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">

     <ClCompile>

       <Optimization>Disabled</Optimization>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -141,7 +135,7 @@
       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>

     </ClCompile>

     <ResourceCompile>

-      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>_DEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

@@ -155,7 +149,7 @@
     <ClCompile>

       <Optimization>Disabled</Optimization>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

       <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -169,7 +163,7 @@
       <InlineFunctionExpansion>Disabled</InlineFunctionExpansion>

     </ClCompile>

     <ResourceCompile>

-      <PreprocessorDefinitions>_DEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>_DEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

@@ -179,11 +173,11 @@
       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

     </Lib>

   </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|Win32'">

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|Win32'">

     <ClCompile>

       <Optimization>Disabled</Optimization>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -207,11 +201,11 @@
       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

     </Lib>

   </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Multithreaded|x64'">

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug Static|x64'">

     <ClCompile>

       <Optimization>Disabled</Optimization>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>_DEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;_CRT_SECURE_NO_DEPRECATE;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT_DEBUG_LEVEL_ERROR;FT_DEBUG_LEVEL_TRACE;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>

       <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>

       <DisableLanguageExtensions>true</DisableLanguageExtensions>

@@ -240,7 +234,7 @@
       <Optimization>MaxSpeed</Optimization>

       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

@@ -264,7 +258,7 @@
       <OmitFramePointers>true</OmitFramePointers>

     </ClCompile>

     <ResourceCompile>

-      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>NDEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

@@ -280,7 +274,7 @@
       <Optimization>MaxSpeed</Optimization>

       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

@@ -304,7 +298,7 @@
       <OmitFramePointers>true</OmitFramePointers>

     </ClCompile>

     <ResourceCompile>

-      <PreprocessorDefinitions>NDEBUG;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>NDEBUG;_DLL;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <Culture>0x0409</Culture>

     </ResourceCompile>

     <Lib>

@@ -315,12 +309,12 @@
       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

     </Lib>

   </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|Win32'">

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|Win32'">

     <ClCompile>

       <Optimization>MaxSpeed</Optimization>

       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

@@ -356,12 +350,12 @@
       <AdditionalDependencies>$(UserDependencies);%(AdditionalDependencies)</AdditionalDependencies>

     </Lib>

   </ItemDefinitionGroup>

-  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Multithreaded|x64'">

+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Static|x64'">

     <ClCompile>

       <Optimization>MaxSpeed</Optimization>

       <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>

       <AdditionalIncludeDirectories>$(UserOptionDirectory);..\..\..\include;$(UserIncludeDirectories);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>

-      <PreprocessorDefinitions>NDEBUG;WIN32;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

+      <PreprocessorDefinitions>WIN32;NDEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;FT2_BUILD_LIBRARY;$(UserDefines);%(PreprocessorDefinitions)</PreprocessorDefinitions>

       <StringPooling>true</StringPooling>

       <RuntimeLibrary>MultiThreaded</RuntimeLibrary>

       <FunctionLevelLinking>true</FunctionLevelLinking>

@@ -439,6 +433,7 @@
     <ClCompile Include="..\ftdebug.c">

       <DisableLanguageExtensions>false</DisableLanguageExtensions>

     </ClCompile>

+    <ResourceCompile Include="..\ftver.rc" />

   </ItemGroup>

   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

   <ImportGroup Label="ExtensionTargets">