https://github.com/python/cpython/commit/e6f8e0a035f4cbeffb331d90c295ab5894852c39 commit: e6f8e0a035f4cbeffb331d90c295ab5894852c39 branch: main author: Adam Turner <9087854+aa-tur...@users.noreply.github.com> committer: AA-Turner <9087854+aa-tur...@users.noreply.github.com> date: 2025-05-06T00:58:47+01:00 summary:
GH-132983: Build ``_zstd`` on Windows (#133366) files: A Modules/_zstd/clinic/zstddict.c.h A Modules/_zstd/zstddict.c A PCbuild/_zstd.vcxproj A PCbuild/_zstd.vcxproj.filters D Modules/_zstd/clinic/zdict.c.h D Modules/_zstd/zdict.c M Misc/externals.spdx.json M Modules/Setup M Modules/Setup.stdlib.in M PCbuild/get_externals.bat M PCbuild/pcbuild.proj M PCbuild/pcbuild.sln M PCbuild/python.props M PCbuild/readme.txt M PCbuild/regen.targets M Tools/msi/freethreaded/freethreaded_files.wxs M Tools/msi/lib/lib_files.wxs M configure M configure.ac diff --git a/Misc/externals.spdx.json b/Misc/externals.spdx.json index 13be10ca039286..69f3beec82ed34 100644 --- a/Misc/externals.spdx.json +++ b/Misc/externals.spdx.json @@ -190,6 +190,27 @@ "name": "zlib-ng", "primaryPackagePurpose": "SOURCE", "versionInfo": "2.2.4" + }, + { + "SPDXID": "SPDXRef-PACKAGE-zstd", + "checksums": [ + { + "algorithm": "SHA256", + "checksumValue": "f24b52470d12f466e9fa4fcc94e6c530625ada51d7b36de7fdc6ed7e6f499c8e" + } + ], + "downloadLocation": "https://github.com/python/cpython-source-deps/archive/refs/tags/zstd-1.5.7.tar.gz", + "externalRefs": [ + { + "referenceCategory": "SECURITY", + "referenceLocator": "cpe:2.3:a:facebook:zstandard:1.5.7:*:*:*:*:*:*:*", + "referenceType": "cpe23Type" + } + ], + "licenseConcluded": "NOASSERTION", + "name": "zstd", + "primaryPackagePurpose": "SOURCE", + "versionInfo": "1.5.7" } ], "spdxVersion": "SPDX-2.3" diff --git a/Modules/Setup b/Modules/Setup index 81f364abd479cb..a066982df1ae86 100644 --- a/Modules/Setup +++ b/Modules/Setup @@ -200,8 +200,8 @@ PYTHONPATH=$(COREPYTHONPATH) #_dbm _dbmmodule.c -lgdbm_compat -DUSE_GDBM_COMPAT #_gdbm _gdbmmodule.c -lgdbm #_lzma _lzmamodule.c -llzma -#_zstd _zstd/_zstdmodule.c -lzstd -I$(srcdir)/Modules/_zstd #_uuid _uuidmodule.c -luuid +#_zstd _zstd/_zstdmodule.c -lzstd -I$(srcdir)/Modules/_zstd #zlib zlibmodule.c -lz # The readline module also supports libeditline (-leditline). diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in index 8b676ca69b081b..3a38a60a152e8c 100644 --- a/Modules/Setup.stdlib.in +++ b/Modules/Setup.stdlib.in @@ -69,7 +69,7 @@ @MODULE_BINASCII_TRUE@binascii binascii.c @MODULE__BZ2_TRUE@_bz2 _bz2module.c @MODULE__LZMA_TRUE@_lzma _lzmamodule.c -@MODULE__ZSTD_TRUE@_zstd _zstd/_zstdmodule.c _zstd/zdict.c _zstd/compressor.c _zstd/decompressor.c +@MODULE__ZSTD_TRUE@_zstd _zstd/_zstdmodule.c _zstd/zstddict.c _zstd/compressor.c _zstd/decompressor.c @MODULE_ZLIB_TRUE@zlib zlibmodule.c # dbm/gdbm diff --git a/Modules/_zstd/clinic/zdict.c.h b/Modules/_zstd/clinic/zstddict.c.h similarity index 100% rename from Modules/_zstd/clinic/zdict.c.h rename to Modules/_zstd/clinic/zstddict.c.h diff --git a/Modules/_zstd/zdict.c b/Modules/_zstd/zstddict.c similarity index 99% rename from Modules/_zstd/zdict.c rename to Modules/_zstd/zstddict.c index 28ab964a6caa87..a19224c4a6403b 100644 --- a/Modules/_zstd/zdict.c +++ b/Modules/_zstd/zstddict.c @@ -136,7 +136,7 @@ _zstd_ZstdDict___init___impl(ZstdDict *self, PyObject *dict_content, } #define clinic_state() (get_zstd_state(type)) -#include "clinic/zdict.c.h" +#include "clinic/zstddict.c.h" #undef clinic_state PyDoc_STRVAR(ZstdDict_dictid_doc, diff --git a/PCbuild/_zstd.vcxproj b/PCbuild/_zstd.vcxproj new file mode 100644 index 00000000000000..b53f93a6af8d11 --- /dev/null +++ b/PCbuild/_zstd.vcxproj @@ -0,0 +1,176 @@ +<?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|ARM"> + <Configuration>Debug</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|ARM64"> + <Configuration>Debug</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|Win32"> + <Configuration>Debug</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Debug|x64"> + <Configuration>Debug</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="PGInstrument|ARM"> + <Configuration>PGInstrument</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="PGInstrument|ARM64"> + <Configuration>PGInstrument</Configuration> + <Platform>ARM64</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|ARM"> + <Configuration>PGUpdate</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="PGUpdate|ARM64"> + <Configuration>PGUpdate</Configuration> + <Platform>ARM64</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="Release|ARM"> + <Configuration>Release</Configuration> + <Platform>ARM</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|ARM64"> + <Configuration>Release</Configuration> + <Platform>ARM64</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{07029b86-f3e9-443e-86fb-78aa6d47fed1}</ProjectGuid> + <RootNamespace>_zstd</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="python.props" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <CharacterSet>NotSet</CharacterSet> + </PropertyGroup> + <PropertyGroup Label="Configuration" /> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <PropertyGroup> + <TargetExt>$(PyStdlibPydExt)</TargetExt> + </PropertyGroup> + <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;ZSTD_MULTITHREAD=1;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <AdditionalIncludeDirectories>$(zstdDir)lib\;$(zstdDir)lib\common;$(zstdDir)lib\compress;$(zstdDir)lib\decompress;$(zstdDir)lib\dictBuilder;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ClCompile> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\Modules\_zstd\_zstdmodule.c" /> + <ClCompile Include="..\Modules\_zstd\compressor.c" /> + <ClCompile Include="..\Modules\_zstd\decompressor.c" /> + <ClCompile Include="..\Modules\_zstd\zstddict.c" /> + <ClCompile Include="$(zstdDir)lib\common\debug.c" /> + <ClCompile Include="$(zstdDir)lib\common\entropy_common.c" /> + <ClCompile Include="$(zstdDir)lib\common\error_private.c" /> + <ClCompile Include="$(zstdDir)lib\common\fse_decompress.c" /> + <ClCompile Include="$(zstdDir)lib\common\pool.c" /> + <ClCompile Include="$(zstdDir)lib\common\threading.c" /> + <ClCompile Include="$(zstdDir)lib\common\xxhash.c" /> + <ClCompile Include="$(zstdDir)lib\common\zstd_common.c" /> + <ClCompile Include="$(zstdDir)lib\compress\fse_compress.c" /> + <ClCompile Include="$(zstdDir)lib\compress\hist.c" /> + <ClCompile Include="$(zstdDir)lib\compress\huf_compress.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress_literals.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress_sequences.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress_superblock.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_double_fast.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_fast.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_lazy.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_ldm.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_opt.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstd_preSplit.c" /> + <ClCompile Include="$(zstdDir)lib\compress\zstdmt_compress.c" /> + <ClCompile Include="$(zstdDir)lib\decompress\huf_decompress.c" /> + <ClCompile Include="$(zstdDir)lib\decompress\zstd_ddict.c" /> + <ClCompile Include="$(zstdDir)lib\decompress\zstd_decompress.c" /> + <ClCompile Include="$(zstdDir)lib\decompress\zstd_decompress_block.c" /> + <ClCompile Include="$(zstdDir)lib\dictBuilder\cover.c" /> + <ClCompile Include="$(zstdDir)lib\dictBuilder\divsufsort.c" /> + <ClCompile Include="$(zstdDir)lib\dictBuilder\fastcover.c" /> + <ClCompile Include="$(zstdDir)lib\dictBuilder\zdict.c" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\Modules\_zstd\_zstdmodule.h" /> + <ClInclude Include="..\Modules\_zstd\buffer.h" /> + <ClInclude Include="$(zstdDir)lib\common\bitstream.h" /> + <ClInclude Include="$(zstdDir)lib\common\error_private.h" /> + <ClInclude Include="$(zstdDir)lib\common\fse.h" /> + <ClInclude Include="$(zstdDir)lib\common\huf.h" /> + <ClInclude Include="$(zstdDir)lib\common\mem.h" /> + <ClInclude Include="$(zstdDir)lib\common\pool.h" /> + <ClInclude Include="$(zstdDir)lib\common\threading.h" /> + <ClInclude Include="$(zstdDir)lib\common\xxhash.h" /> + <ClInclude Include="$(zstdDir)lib\common\zstd_internal.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress_literals.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress_sequences.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress_superblock.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_cwksp.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_double_fast.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_fast.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_lazy.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_ldm.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstd_opt.h" /> + <ClInclude Include="$(zstdDir)lib\compress\zstdmt_compress.h" /> + <ClInclude Include="$(zstdDir)lib\decompress\zstd_ddict.h" /> + <ClInclude Include="$(zstdDir)lib\zstd.h" /> + <ClInclude Include="$(zstdDir)lib\zstd_errors.h" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\PC\python_nt.rc" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="pythoncore.vcxproj"> + <Project>{cf7ac3d1-e2df-41d2-bea6-1e2556cdea26}</Project> + <ReferenceOutputAssembly>false</ReferenceOutputAssembly> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> diff --git a/PCbuild/_zstd.vcxproj.filters b/PCbuild/_zstd.vcxproj.filters new file mode 100644 index 00000000000000..d4d36063c85d09 --- /dev/null +++ b/PCbuild/_zstd.vcxproj.filters @@ -0,0 +1,206 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + </Filter> + <Filter Include="Header Files\zstd"> + <UniqueIdentifier>{971714e1-ff37-4240-87bf-a36f6afe764f}</UniqueIdentifier> + </Filter> + <Filter Include="Source Files\zstd"> + <UniqueIdentifier>{deb43fb6-fa77-4c93-a333-85785fe5f68d}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\Modules\_zstd\_zstdmodule.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\Modules\_zstd\compressor.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\Modules\_zstd\decompressor.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\Modules\_zstd\zstddict.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\debug.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\entropy_common.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\error_private.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\fse_decompress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\pool.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\threading.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\xxhash.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\common\zstd_common.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\fse_compress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\hist.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\huf_compress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress_literals.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress_sequences.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_compress_superblock.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_double_fast.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_fast.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_lazy.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_ldm.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_opt.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstd_preSplit.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\compress\zstdmt_compress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\decompress\huf_decompress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\decompress\zstd_ddict.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\decompress\zstd_decompress.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\decompress\zstd_decompress_block.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\dictBuilder\cover.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\dictBuilder\divsufsort.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\dictBuilder\fastcover.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + <ClCompile Include="$(zstdDir)lib\dictBuilder\zdict.c"> + <Filter>Source Files\zstd</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\Modules\_zstd\_zstdmodule.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\Modules\_zstd\buffer.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\zstd.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\zstd_errors.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\bitstream.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\error_private.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\fse.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\huf.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\mem.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\pool.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\threading.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\xxhash.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\common\zstd_internal.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress_literals.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress_sequences.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_compress_superblock.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_cwksp.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_double_fast.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_fast.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_lazy.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_ldm.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstd_opt.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\compress\zstdmt_compress.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + <ClInclude Include="$(zstdDir)lib\decompress\zstd_ddict.h"> + <Filter>Header Files\zstd</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="..\PC\python_nt.rc"> + <Filter>Resource Files</Filter> + </ResourceCompile> + </ItemGroup> +</Project> diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat index 49ace616793d8e..e29054f5734d49 100644 --- a/PCbuild/get_externals.bat +++ b/PCbuild/get_externals.bat @@ -61,6 +61,7 @@ if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tcl-core-8.6.15. if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% tk-8.6.15.0 set libraries=%libraries% xz-5.2.5 set libraries=%libraries% zlib-ng-2.2.4 +set libraries=%libraries% zstd-1.5.7 for %%e in (%libraries%) do ( if exist "%EXTERNALS_DIR%\%%e" ( diff --git a/PCbuild/pcbuild.proj b/PCbuild/pcbuild.proj index da603eed1b332f..7a5327bf016cea 100644 --- a/PCbuild/pcbuild.proj +++ b/PCbuild/pcbuild.proj @@ -69,7 +69,7 @@ <ExtensionModules Include="_asyncio;_decimal;_elementtree;_multiprocessing;_overlapped;pyexpat;_queue;_remote_debugging;select;unicodedata;winsound;_uuid;_wmi;_zoneinfo" /> <ExtensionModules Include="_ctypes" Condition="$(IncludeCTypes)" /> <!-- Extension modules that require external sources --> - <ExternalModules Include="_bz2;_lzma;_sqlite3" /> + <ExternalModules Include="_bz2;_lzma;_sqlite3;_zstd" /> <!-- venv launchers --> <Projects Include="venvlauncher.vcxproj;venvwlauncher.vcxproj" /> <!-- _ssl will build _socket as well, which may cause conflicts in parallel builds --> diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln index 45e46095c9942e..7296ea75301157 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -11,6 +11,7 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "python", "python.vcxproj", "{B11D750F-CD1F-4A96-85CE-E69A5C5259F9}" ProjectSection(ProjectDependencies) = postProject {01FDF29A-40A1-46DF-84F5-85EBBD2A2410} = {01FDF29A-40A1-46DF-84F5-85EBBD2A2410} + {07029B86-F3E9-443E-86FB-78AA6D47FED1} = {07029B86-F3E9-443E-86FB-78AA6D47FED1} {0E9791DB-593A-465F-98BC-681011311617} = {0E9791DB-593A-465F-98BC-681011311617} {0E9791DB-593A-465F-98BC-681011311618} = {0E9791DB-593A-465F-98BC-681011311618} {12728250-16EC-4DC6-94D7-E21DD88947F8} = {12728250-16EC-4DC6-94D7-E21DD88947F8} @@ -165,6 +166,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib-ng", "zlib-ng.vcxproj" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_remote_debugging", "_remote_debugging.vcxproj", "{4D7C112F-3083-4D9E-9754-9341C14D9B39}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_zstd", "_zstd.vcxproj", "{07029B86-F3E9-443E-86FB-78AA6D47FED1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -1750,6 +1753,38 @@ Global {4D7C112F-3083-4D9E-9754-9341C14D9B39}.Release|Win32.Build.0 = Release|Win32 {4D7C112F-3083-4D9E-9754-9341C14D9B39}.Release|x64.ActiveCfg = Release|x64 {4D7C112F-3083-4D9E-9754-9341C14D9B39}.Release|x64.Build.0 = Release|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|ARM.ActiveCfg = Debug|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|ARM.Build.0 = Debug|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|ARM64.Build.0 = Debug|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|Win32.ActiveCfg = Debug|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|Win32.Build.0 = Debug|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|x64.ActiveCfg = Debug|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Debug|x64.Build.0 = Debug|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|ARM.ActiveCfg = PGInstrument|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|ARM.Build.0 = PGInstrument|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|ARM64.ActiveCfg = PGInstrument|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|ARM64.Build.0 = PGInstrument|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|Win32.Build.0 = PGInstrument|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|x64.ActiveCfg = PGInstrument|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGInstrument|x64.Build.0 = PGInstrument|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|ARM.ActiveCfg = PGUpdate|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|ARM.Build.0 = PGUpdate|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|ARM64.ActiveCfg = PGUpdate|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|ARM64.Build.0 = PGUpdate|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|Win32.Build.0 = PGUpdate|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|x64.ActiveCfg = PGUpdate|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.PGUpdate|x64.Build.0 = PGUpdate|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|ARM.ActiveCfg = Release|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|ARM.Build.0 = Release|ARM + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|ARM64.ActiveCfg = Release|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|ARM64.Build.0 = Release|ARM64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|Win32.ActiveCfg = Release|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|Win32.Build.0 = Release|Win32 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|x64.ActiveCfg = Release|x64 + {07029B86-F3E9-443E-86FB-78AA6D47FED1}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PCbuild/python.props b/PCbuild/python.props index 7cb9ad8e65b56e..ddc7696d2762fe 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -87,6 +87,7 @@ <nasmDir Condition="$(nasmDir) == ''">$(ExternalsDir)\nasm-2.11.06\</nasmDir> <zlibDir Condition="$(zlibDir) == ''">$(ExternalsDir)\zlib-1.3.1\</zlibDir> <zlibNgDir Condition="$(zlibNgDir) == ''">$(ExternalsDir)\zlib-ng-2.2.4\</zlibNgDir> + <zstdDir Condition="$(zstdDir) == ''">$(ExternalsDir)\zstd-1.5.7\</zstdDir> </PropertyGroup> <PropertyGroup> diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 3bf215d907c52c..01e19aabdecdc7 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -262,6 +262,10 @@ zlib-ng Sources for zlib-ng are imported unmodified into our source repository at https://github.com/python/cpython-source-deps. +_zstd + Python wrapper for version 1.5.7 of the Zstandard compression library + Homepage: + https://facebook.github.io/zstd/ Getting External Sources diff --git a/PCbuild/regen.targets b/PCbuild/regen.targets index e7822a126c6304..3ad17737807235 100644 --- a/PCbuild/regen.targets +++ b/PCbuild/regen.targets @@ -157,7 +157,8 @@ <_LicenseSources Include="$(PySourcePath)LICENSE; $(PySourcePath)PC\crtlicense.txt; $(bz2Dir)LICENSE; - $(libffiDir)LICENSE;" /> + $(libffiDir)LICENSE; + $(zstdDir)\LICENSE;" /> <_LicenseSources Include="$(opensslOutDir)LICENSE.txt" Condition="Exists('$(opensslOutDir)LICENSE.txt')" /> <_LicenseSources Include="$(opensslOutDir)LICENSE" Condition="!Exists('$(opensslOutDir)LICENSE.txt')" /> <_LicenseSources Include="$(tcltkDir)tcllicense.terms; diff --git a/Tools/msi/freethreaded/freethreaded_files.wxs b/Tools/msi/freethreaded/freethreaded_files.wxs index b3ce28e7aedc84..86d9a8b83f6535 100644 --- a/Tools/msi/freethreaded/freethreaded_files.wxs +++ b/Tools/msi/freethreaded/freethreaded_files.wxs @@ -103,7 +103,7 @@ </ComponentGroup> </Fragment> - <?define exts=pyexpat;select;unicodedata;winsound;_bz2;_elementtree;_socket;_ssl;_ctypes;_hashlib;_multiprocessing;_lzma;_decimal;_overlapped;_sqlite3;_asyncio;_queue;_uuid;_wmi;_zoneinfo;_testcapi;_ctypes_test;_testbuffer;_testimportmultiple;_testmultiphase;_testsinglephase;_testconsole;_testinternalcapi;_testclinic;_testclinic_limited;_tkinter ?> + <?define exts=pyexpat;select;unicodedata;winsound;_bz2;_elementtree;_socket;_ssl;_ctypes;_hashlib;_multiprocessing;_lzma;_decimal;_overlapped;_sqlite3;_asyncio;_queue;_uuid;_wmi;_zoneinfo;_zstd;_testcapi;_ctypes_test;_testbuffer;_testimportmultiple;_testmultiphase;_testsinglephase;_testconsole;_testinternalcapi;_testclinic;_testclinic_limited;_tkinter ?> <Fragment> <DirectoryRef Id="Lib_venv_scripts_nt__freethreaded" /> diff --git a/Tools/msi/lib/lib_files.wxs b/Tools/msi/lib/lib_files.wxs index b8e16b5fe238a0..8439518bcbd804 100644 --- a/Tools/msi/lib/lib_files.wxs +++ b/Tools/msi/lib/lib_files.wxs @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> - <?define exts=pyexpat;select;unicodedata;winsound;_bz2;_elementtree;_socket;_ssl;_ctypes;_hashlib;_multiprocessing;_lzma;_decimal;_overlapped;_sqlite3;_asyncio;_queue;_uuid;_wmi;_zoneinfo ?> + <?define exts=pyexpat;select;unicodedata;winsound;_bz2;_elementtree;_socket;_ssl;_ctypes;_hashlib;_multiprocessing;_lzma;_decimal;_overlapped;_sqlite3;_asyncio;_queue;_uuid;_wmi;_zoneinfo;_zstd ?> <Fragment> <DirectoryRef Id="Lib_venv_scripts_nt" /> diff --git a/configure b/configure index a1069509406a34..383b8b53b57d92 100755 --- a/configure +++ b/configure @@ -29769,9 +29769,9 @@ SRCDIRS="\ Modules/_testinternalcapi \ Modules/_testlimitedcapi \ Modules/_xxtestfuzz \ + Modules/_zstd \ Modules/cjkcodecs \ Modules/expat \ - Modules/_zstd \ Objects \ Objects/mimalloc \ Objects/mimalloc/prim \ diff --git a/configure.ac b/configure.ac index 4efd0328691d19..2c77f3ae9fee58 100644 --- a/configure.ac +++ b/configure.ac @@ -7119,9 +7119,9 @@ SRCDIRS="\ Modules/_testinternalcapi \ Modules/_testlimitedcapi \ Modules/_xxtestfuzz \ + Modules/_zstd \ Modules/cjkcodecs \ Modules/expat \ - Modules/_zstd \ Objects \ Objects/mimalloc \ Objects/mimalloc/prim \ _______________________________________________ Python-checkins mailing list -- python-checkins@python.org To unsubscribe send an email to python-checkins-le...@python.org https://mail.python.org/mailman3/lists/python-checkins.python.org/ Member address: arch...@mail-archive.com