[Python-checkins] cpython: Issue #28065: Update xz to 5.2.2 on Windows, and build it from source

zach.ware python-checkins at python.org
Sun Sep 11 22:18:20 EDT 2016


https://hg.python.org/cpython/rev/f06e7501e530
changeset:   103678:f06e7501e530
user:        Zachary Ware <zachary.ware at gmail.com>
date:        Sun Sep 11 21:18:07 2016 -0500
summary:
  Issue #28065: Update xz to 5.2.2 on Windows, and build it from source

files:
  Misc/NEWS                 |    2 +
  PCbuild/_lzma.vcxproj     |   12 +-
  PCbuild/get_externals.bat |    2 +-
  PCbuild/liblzma.vcxproj   |  216 ++++++++++++++++++++++++++
  PCbuild/python.props      |    2 +-
  5 files changed, 227 insertions(+), 7 deletions(-)


diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -447,6 +447,8 @@
 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.
 
diff --git a/PCbuild/_lzma.vcxproj b/PCbuild/_lzma.vcxproj
--- a/PCbuild/_lzma.vcxproj
+++ b/PCbuild/_lzma.vcxproj
@@ -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>
\ No newline at end of file
+</Project>
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -59,7 +59,7 @@
 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 (
diff --git a/PCbuild/liblzma.vcxproj b/PCbuild/liblzma.vcxproj
new file mode 100644
--- /dev/null
+++ b/PCbuild/liblzma.vcxproj
@@ -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>
diff --git a/PCbuild/python.props b/PCbuild/python.props
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -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>

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list