Issue #28065: Update xz to 5.2.2 on Windows, and build it from source

This commit is contained in:
Zachary Ware 2016-09-11 21:18:07 -05:00
parent 11a86ffe5e
commit 16c18a354b
5 changed files with 227 additions and 7 deletions

View File

@ -447,6 +447,8 @@ Tools/Demos
Windows
-------
- Issue #28065: Update xz dependency to 5.2.2 and build it from source.
- Issue #25144: Ensures TargetDir is set before continuing with custom
install.

View File

@ -61,13 +61,11 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(lzmaDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(lzmaDir)src/liblzma/api;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_FILE_OFFSET_BITS=64;_CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE;LZMA_API_STATIC;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
<AdditionalDependencies Condition="'$(Platform)' == 'Win32'">$(lzmaDir)\bin_i486\liblzma.a;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies Condition="'$(Platform)' == 'x64'">$(lzmaDir)\bin_x86-64\liblzma.a;%(AdditionalDependencies)</AdditionalDependencies>
<ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
<AdditionalDependencies>$(OutDir)/liblzma$(PyDebugExt).lib</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
@ -81,8 +79,12 @@
<Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="liblzma.vcxproj">
<Project>{12728250-16eC-4dc6-94d7-e21dd88947f8}</Project>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>

View File

@ -59,7 +59,7 @@ set libraries=%libraries% sqlite-3.14.1.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tcl-core-8.6.6.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tk-8.6.6.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tix-8.4.3.6
set libraries=%libraries% xz-5.0.5
set libraries=%libraries% xz-5.2.2
for %%e in (%libraries%) do (
if exist %%e (

216
PCbuild/liblzma.vcxproj Normal file
View File

@ -0,0 +1,216 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|Win32">
<Configuration>PGInstrument</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGInstrument|x64">
<Configuration>PGInstrument</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|Win32">
<Configuration>PGUpdate</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="PGUpdate|x64">
<Configuration>PGUpdate</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Debug|x64">
<Configuration>Debug</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{12728250-16EC-4DC6-94D7-E21DD88947F8}</ProjectGuid>
<RootNamespace>liblzma</RootNamespace>
<SupportPGO>true</SupportPGO>
</PropertyGroup>
<Import Project="python.props" />
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
<Import Project="pyproject.props" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>WIN32;HAVE_CONFIG_H;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<WarningLevel>Level3</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<AdditionalIncludeDirectories>$(lzmaDir)windows;$(lzmaDir)src/liblzma/common;$(lzmaDir)src/common;$(lzmaDir)src/liblzma/api;$(lzmaDir)src/liblzma/check;$(lzmaDir)src/liblzma/delta;$(lzmaDir)src/liblzma/lz;$(lzmaDir)src/liblzma/lzma;$(lzmaDir)src/liblzma/rangecoder;$(lzmaDir)src/liblzma/simple</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="$(lzmaDir)src\common\tuklib_cpucores.c" />
<ClCompile Include="$(lzmaDir)src\common\tuklib_physmem.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\check.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\crc32_fast.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\crc32_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\crc64_fast.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\crc64_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\check\sha256.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\alone_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\alone_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\auto_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_buffer_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_buffer_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_header_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_header_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\block_util.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\common.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\easy_buffer_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\easy_decoder_memusage.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\easy_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\easy_encoder_memusage.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\easy_preset.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_buffer_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_buffer_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_common.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_flags_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\filter_flags_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\hardware_cputhreads.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\hardware_physmem.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\index.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\index_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\index_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\index_hash.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\outqueue.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_buffer_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_buffer_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_encoder_mt.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_flags_common.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_flags_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\stream_flags_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\vli_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\vli_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\common\vli_size.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\delta\delta_common.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\delta\delta_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\delta\delta_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\fastpos_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma2_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma2_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma_encoder_optimum_fast.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma_encoder_optimum_normal.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lzma\lzma_encoder_presets.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lz\lz_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lz\lz_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\lz\lz_encoder_mf.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\rangecoder\price_table.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\arm.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\armthumb.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\ia64.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\powerpc.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\simple_coder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\simple_decoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\simple_encoder.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\sparc.c" />
<ClCompile Include="$(lzmaDir)src\liblzma\simple\x86.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="$(lzmaDir)src\common\mythread.h" />
<ClInclude Include="$(lzmaDir)src\common\sysdefs.h" />
<ClInclude Include="$(lzmaDir)src\common\tuklib_common.h" />
<ClInclude Include="$(lzmaDir)src\common\tuklib_config.h" />
<ClInclude Include="$(lzmaDir)src\common\tuklib_cpucores.h" />
<ClInclude Include="$(lzmaDir)src\common\tuklib_integer.h" />
<ClInclude Include="$(lzmaDir)src\common\tuklib_physmem.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\base.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\bcj.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\block.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\check.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\container.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\delta.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\filter.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\hardware.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\index.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\index_hash.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\lzma12.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\stream_flags.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\version.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\api\lzma\vli.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\check\check.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\check\crc32_table_be.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\check\crc32_table_le.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\check\crc64_table_be.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\check\crc64_table_le.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\check\crc_macros.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\alone_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\block_buffer_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\block_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\block_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\common.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\easy_preset.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\filter_common.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\filter_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\filter_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\index.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\index_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\memcmplen.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\outqueue.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\stream_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\common\stream_flags_common.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\delta\delta_common.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\delta\delta_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\delta\delta_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\delta\delta_private.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\fastpos.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\lzma2_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\lzma2_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\lzma_common.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\lzma_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\lzma_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lzma\lzma_encoder_private.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lz\lz_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lz\lz_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lz\lz_encoder_hash.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\lz\lz_encoder_hash_table.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\rangecoder\price.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\rangecoder\range_common.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\rangecoder\range_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\rangecoder\range_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_coder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_decoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_encoder.h" />
<ClInclude Include="$(lzmaDir)src\liblzma\simple\simple_private.h" />
<ClInclude Include="$(lzmaDir)windows\config.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

View File

@ -45,7 +45,7 @@
<ExternalsDir>$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))</ExternalsDir>
<sqlite3Dir>$(ExternalsDir)sqlite-3.14.1.0\</sqlite3Dir>
<bz2Dir>$(ExternalsDir)bzip2-1.0.6\</bz2Dir>
<lzmaDir>$(ExternalsDir)xz-5.0.5\</lzmaDir>
<lzmaDir>$(ExternalsDir)xz-5.2.2\</lzmaDir>
<opensslDir>$(ExternalsDir)openssl-1.0.2h\</opensslDir>
<opensslIncludeDir>$(opensslDir)include32</opensslIncludeDir>
<opensslIncludeDir Condition="'$(ArchName)' == 'amd64'">$(opensslDir)include64</opensslIncludeDir>