From 2563adf1a1586154f34f0dae2c9dd00bf1afb6ec Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Sun, 4 May 2025 03:27:05 +0100 Subject: [PATCH 1/7] Sorting --- Modules/Setup | 2 +- configure | 2 +- configure.ac | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Setup b/Modules/Setup index f23f082d9eff5f..e1cb6079ec19bb 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/configure b/configure index 65a493af2a3168..9d6b8f889ceea7 100755 --- a/configure +++ b/configure @@ -29816,9 +29816,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 d53ba20579f658..1f6a9bf305e1b1 100644 --- a/configure.ac +++ b/configure.ac @@ -7148,9 +7148,9 @@ SRCDIRS="\ Modules/_testinternalcapi \ Modules/_testlimitedcapi \ Modules/_xxtestfuzz \ + Modules/_zstd \ Modules/cjkcodecs \ Modules/expat \ - Modules/_zstd \ Objects \ Objects/mimalloc \ Objects/mimalloc/prim \ From 93c78cc86f7e6af6d0045aa9e547dcb92b0fd13d Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Sun, 4 May 2025 03:48:51 +0100 Subject: [PATCH 2/7] Add Zstandard projects --- PCbuild/_zstd.vcxproj | 126 ++++++++++++++++++++++++ PCbuild/_zstd.vcxproj.filters | 41 ++++++++ PCbuild/zstd.vcxproj | 158 ++++++++++++++++++++++++++++++ PCbuild/zstd.vcxproj.filters | 174 ++++++++++++++++++++++++++++++++++ 4 files changed, 499 insertions(+) create mode 100644 PCbuild/_zstd.vcxproj create mode 100644 PCbuild/_zstd.vcxproj.filters create mode 100644 PCbuild/zstd.vcxproj create mode 100644 PCbuild/zstd.vcxproj.filters diff --git a/PCbuild/_zstd.vcxproj b/PCbuild/_zstd.vcxproj new file mode 100644 index 00000000000000..c4a218ffe7bea5 --- /dev/null +++ b/PCbuild/_zstd.vcxproj @@ -0,0 +1,126 @@ + + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + Debug + x64 + + + PGInstrument + ARM + + + PGInstrument + ARM64 + + + PGInstrument + Win32 + + + PGInstrument + x64 + + + PGUpdate + ARM + + + PGUpdate + ARM64 + + + PGUpdate + Win32 + + + PGUpdate + x64 + + + Release + ARM + + + Release + ARM64 + + + Release + Win32 + + + Release + x64 + + + + {07029b86-f3e9-443e-86fb-78aa6d47fed1} + zstd + Win32Proj + + + + + DynamicLibrary + NotSet + + + + + $(PyStdlibPydExt) + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + + + + $(zstdDir);%(AdditionalIncludeDirectories) + + + + + + + + + + + + + + + + + + {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} + false + + + {8d80e018-6a7d-4b46-a7be-d9e02a20d473} + false + + + + + + diff --git a/PCbuild/_zstd.vcxproj.filters b/PCbuild/_zstd.vcxproj.filters new file mode 100644 index 00000000000000..9c46be69723513 --- /dev/null +++ b/PCbuild/_zstd.vcxproj.filters @@ -0,0 +1,41 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + + + Resource Files + + + diff --git a/PCbuild/zstd.vcxproj b/PCbuild/zstd.vcxproj new file mode 100644 index 00000000000000..24a91814518641 --- /dev/null +++ b/PCbuild/zstd.vcxproj @@ -0,0 +1,158 @@ + + + + + Debug + ARM + + + Debug + ARM64 + + + Debug + Win32 + + + PGInstrument + ARM + + + PGUpdate + ARM + + + Release + ARM + + + PGInstrument + ARM64 + + + PGUpdate + ARM64 + + + Release + ARM64 + + + Release + Win32 + + + PGInstrument + Win32 + + + PGInstrument + x64 + + + PGUpdate + Win32 + + + PGUpdate + x64 + + + Debug + x64 + + + Release + x64 + + + + {8d80e018-6a7d-4b46-a7be-d9e02a20d473} + zstd + true + + + + + + + StaticLibrary + + + + + + + + + + + <_ProjectFileVersion>10.0.30319.1 + + + + WIN32;ZSTD_MULTITHREAD=1;%(PreprocessorDefinitions) + $(zstdDir);$(zstdDir)common;$(zstdDir)dictBuilder;%(AdditionalIncludeDirectories) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PCbuild/zstd.vcxproj.filters b/PCbuild/zstd.vcxproj.filters new file mode 100644 index 00000000000000..4f78d174d9f7c4 --- /dev/null +++ b/PCbuild/zstd.vcxproj.filters @@ -0,0 +1,174 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + From a0cfc5d4a853d63b0aff6e1febab4a5ee3d2bbb6 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Sun, 4 May 2025 03:27:17 +0100 Subject: [PATCH 3/7] Zstandard scaffold --- Misc/externals.spdx.json | 21 ++++++ PCbuild/get_externals.bat | 1 + PCbuild/pcbuild.proj | 2 +- PCbuild/pcbuild.sln | 68 +++++++++++++++++++ PCbuild/python.props | 1 + PCbuild/readme.txt | 4 ++ PCbuild/regen.targets | 3 +- Tools/msi/freethreaded/freethreaded_files.wxs | 2 +- Tools/msi/lib/lib_files.wxs | 2 +- 9 files changed, 100 insertions(+), 4 deletions(-) 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/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 eec213d7bac612..7bdb674aa16d77 100644 --- a/PCbuild/pcbuild.proj +++ b/PCbuild/pcbuild.proj @@ -69,7 +69,7 @@ - + diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln index 0699f8f05d0b8c..3fc06b2fc69d26 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -165,6 +165,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlib-ng", "zlib-ng.vcxproj" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_remotedebugging", "_remotedebugging.vcxproj", "{4D7C112F-3083-4D9E-9754-9341C14D9B39}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_zstd", "_zstd.vcxproj", "{07029B86-F3E9-443E-86FB-78AA6D47FED1}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "zstd.vcxproj", "{8D80E018-6A7D-4B46-A7BE-D9E02A20D473}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -1750,6 +1754,70 @@ 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 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM.ActiveCfg = Debug|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM.Build.0 = Debug|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM64.ActiveCfg = Debug|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM64.Build.0 = Debug|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|Win32.ActiveCfg = Debug|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|Win32.Build.0 = Debug|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|x64.ActiveCfg = Debug|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|x64.Build.0 = Debug|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM.ActiveCfg = PGInstrument|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM.Build.0 = PGInstrument|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM64.ActiveCfg = PGInstrument|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM64.Build.0 = PGInstrument|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|Win32.Build.0 = PGInstrument|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|x64.ActiveCfg = PGInstrument|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|x64.Build.0 = PGInstrument|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM.ActiveCfg = PGUpdate|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM.Build.0 = PGUpdate|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM64.ActiveCfg = PGUpdate|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM64.Build.0 = PGUpdate|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|Win32.Build.0 = PGUpdate|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|x64.ActiveCfg = PGUpdate|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|x64.Build.0 = PGUpdate|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM.ActiveCfg = Release|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM.Build.0 = Release|ARM + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM64.ActiveCfg = Release|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM64.Build.0 = Release|ARM64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|Win32.ActiveCfg = Release|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|Win32.Build.0 = Release|Win32 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|x64.ActiveCfg = Release|x64 + {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PCbuild/python.props b/PCbuild/python.props index 7cb9ad8e65b56e..bf7512bc928f80 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -87,6 +87,7 @@ $(ExternalsDir)\nasm-2.11.06\ $(ExternalsDir)\zlib-1.3.1\ $(ExternalsDir)\zlib-ng-2.2.4\ + $(ExternalsDir)\zstd-1.5.7\lib\ 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..aa495a8a0d8619 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 @@ - + 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 @@  - + From b9208b60b429c35482a398a61f973e3dfbd8dc57 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Mon, 5 May 2025 22:59:06 +0100 Subject: [PATCH 4/7] Add dependency of _zstd to python --- PCbuild/pcbuild.sln | 1 + 1 file changed, 1 insertion(+) diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln index 3fc06b2fc69d26..1af7ea39cb4511 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} From 755919f1872f0882fc351f7f39924e2383f0ba8e Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Mon, 5 May 2025 23:07:17 +0100 Subject: [PATCH 5/7] Combine zstd.vcxproj into _zstd.vcxproj --- PCbuild/_zstd.vcxproj | 62 ++++++++++-- PCbuild/_zstd.vcxproj.filters | 165 ++++++++++++++++++++++++++++++++ PCbuild/pcbuild.sln | 34 ------- PCbuild/zstd.vcxproj | 158 ------------------------------ PCbuild/zstd.vcxproj.filters | 174 ---------------------------------- 5 files changed, 221 insertions(+), 372 deletions(-) delete mode 100644 PCbuild/zstd.vcxproj delete mode 100644 PCbuild/zstd.vcxproj.filters diff --git a/PCbuild/_zstd.vcxproj b/PCbuild/_zstd.vcxproj index c4a218ffe7bea5..df5c205d7815b5 100644 --- a/PCbuild/_zstd.vcxproj +++ b/PCbuild/_zstd.vcxproj @@ -68,7 +68,7 @@ {07029b86-f3e9-443e-86fb-78aa6d47fed1} - zstd + _zstd Win32Proj @@ -94,7 +94,8 @@ - $(zstdDir);%(AdditionalIncludeDirectories) + WIN32;ZSTD_MULTITHREAD=1;%(PreprocessorDefinitions) + $(zstdDir);$(zstdDir)common;$(zstdDir)compress;$(zstdDir)decompress;$(zstdDir)dictBuilder;%(AdditionalIncludeDirectories) @@ -102,10 +103,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -115,10 +169,6 @@ {cf7ac3d1-e2df-41d2-bea6-1e2556cdea26} false - - {8d80e018-6a7d-4b46-a7be-d9e02a20d473} - false - diff --git a/PCbuild/_zstd.vcxproj.filters b/PCbuild/_zstd.vcxproj.filters index 9c46be69723513..5cf855f50f3cc6 100644 --- a/PCbuild/_zstd.vcxproj.filters +++ b/PCbuild/_zstd.vcxproj.filters @@ -10,6 +10,12 @@ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + + {971714e1-ff37-4240-87bf-a36f6afe764f} + + + {deb43fb6-fa77-4c93-a333-85785fe5f68d} + @@ -24,6 +30,96 @@ Source Files + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + + + Source Files\zstd + @@ -32,6 +128,75 @@ Header Files + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + + + Header Files\zstd + diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln index 1af7ea39cb4511..9268e9d2b39f0a 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -168,8 +168,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_remotedebugging", "_remote EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "_zstd", "_zstd.vcxproj", "{07029B86-F3E9-443E-86FB-78AA6D47FED1}" EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zstd", "zstd.vcxproj", "{8D80E018-6A7D-4B46-A7BE-D9E02A20D473}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|ARM = Debug|ARM @@ -1787,38 +1785,6 @@ Global {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 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM.ActiveCfg = Debug|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM.Build.0 = Debug|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM64.ActiveCfg = Debug|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|ARM64.Build.0 = Debug|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|Win32.ActiveCfg = Debug|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|Win32.Build.0 = Debug|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|x64.ActiveCfg = Debug|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Debug|x64.Build.0 = Debug|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM.ActiveCfg = PGInstrument|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM.Build.0 = PGInstrument|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM64.ActiveCfg = PGInstrument|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|ARM64.Build.0 = PGInstrument|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|Win32.ActiveCfg = PGInstrument|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|Win32.Build.0 = PGInstrument|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|x64.ActiveCfg = PGInstrument|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGInstrument|x64.Build.0 = PGInstrument|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM.ActiveCfg = PGUpdate|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM.Build.0 = PGUpdate|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM64.ActiveCfg = PGUpdate|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|ARM64.Build.0 = PGUpdate|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|Win32.ActiveCfg = PGUpdate|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|Win32.Build.0 = PGUpdate|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|x64.ActiveCfg = PGUpdate|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.PGUpdate|x64.Build.0 = PGUpdate|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM.ActiveCfg = Release|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM.Build.0 = Release|ARM - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM64.ActiveCfg = Release|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|ARM64.Build.0 = Release|ARM64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|Win32.ActiveCfg = Release|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|Win32.Build.0 = Release|Win32 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|x64.ActiveCfg = Release|x64 - {8D80E018-6A7D-4B46-A7BE-D9E02A20D473}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/PCbuild/zstd.vcxproj b/PCbuild/zstd.vcxproj deleted file mode 100644 index 24a91814518641..00000000000000 --- a/PCbuild/zstd.vcxproj +++ /dev/null @@ -1,158 +0,0 @@ - - - - - Debug - ARM - - - Debug - ARM64 - - - Debug - Win32 - - - PGInstrument - ARM - - - PGUpdate - ARM - - - Release - ARM - - - PGInstrument - ARM64 - - - PGUpdate - ARM64 - - - Release - ARM64 - - - Release - Win32 - - - PGInstrument - Win32 - - - PGInstrument - x64 - - - PGUpdate - Win32 - - - PGUpdate - x64 - - - Debug - x64 - - - Release - x64 - - - - {8d80e018-6a7d-4b46-a7be-d9e02a20d473} - zstd - true - - - - - - - StaticLibrary - - - - - - - - - - - <_ProjectFileVersion>10.0.30319.1 - - - - WIN32;ZSTD_MULTITHREAD=1;%(PreprocessorDefinitions) - $(zstdDir);$(zstdDir)common;$(zstdDir)dictBuilder;%(AdditionalIncludeDirectories) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/PCbuild/zstd.vcxproj.filters b/PCbuild/zstd.vcxproj.filters deleted file mode 100644 index 4f78d174d9f7c4..00000000000000 --- a/PCbuild/zstd.vcxproj.filters +++ /dev/null @@ -1,174 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - From 17149dfff7d72480e0089ed9f8dd7375c963edb7 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Mon, 5 May 2025 23:29:57 +0100 Subject: [PATCH 6/7] Rename `Modules\zdict.c` to `zstddict.c` MSB8027: Two or more files with the name of zdict.c will produce outputs to the same location. This can lead to an incorrect build result. The files involved are ..\Modules\_zstd\zdict.c, \externals\zstd-1.5.7\lib\dictBuilder\zdict.c. --- Modules/Setup.stdlib.in | 2 +- Modules/_zstd/clinic/{zdict.c.h => zstddict.c.h} | 0 Modules/_zstd/{zdict.c => zstddict.c} | 2 +- PCbuild/_zstd.vcxproj | 2 +- PCbuild/_zstd.vcxproj.filters | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename Modules/_zstd/clinic/{zdict.c.h => zstddict.c.h} (100%) rename Modules/_zstd/{zdict.c => zstddict.c} (99%) diff --git a/Modules/Setup.stdlib.in b/Modules/Setup.stdlib.in index 1512187bb097bd..5d38064da225af 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 index df5c205d7815b5..d7b36fed28a48a 100644 --- a/PCbuild/_zstd.vcxproj +++ b/PCbuild/_zstd.vcxproj @@ -102,7 +102,7 @@ - + diff --git a/PCbuild/_zstd.vcxproj.filters b/PCbuild/_zstd.vcxproj.filters index 5cf855f50f3cc6..8ef3ab63f175b8 100644 --- a/PCbuild/_zstd.vcxproj.filters +++ b/PCbuild/_zstd.vcxproj.filters @@ -27,7 +27,7 @@ Source Files - + Source Files From 1ae3a76e4827f2c8c005f92697683ca87d97fe5e Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+aa-turner@users.noreply.github.com> Date: Mon, 5 May 2025 23:31:26 +0100 Subject: [PATCH 7/7] Point $(zstdDir) to the root --- PCbuild/_zstd.vcxproj | 108 +++++++++++++++++----------------- PCbuild/_zstd.vcxproj.filters | 106 ++++++++++++++++----------------- PCbuild/python.props | 2 +- PCbuild/regen.targets | 2 +- 4 files changed, 109 insertions(+), 109 deletions(-) diff --git a/PCbuild/_zstd.vcxproj b/PCbuild/_zstd.vcxproj index d7b36fed28a48a..b53f93a6af8d11 100644 --- a/PCbuild/_zstd.vcxproj +++ b/PCbuild/_zstd.vcxproj @@ -95,7 +95,7 @@ WIN32;ZSTD_MULTITHREAD=1;%(PreprocessorDefinitions) - $(zstdDir);$(zstdDir)common;$(zstdDir)compress;$(zstdDir)decompress;$(zstdDir)dictBuilder;%(AdditionalIncludeDirectories) + $(zstdDir)lib\;$(zstdDir)lib\common;$(zstdDir)lib\compress;$(zstdDir)lib\decompress;$(zstdDir)lib\dictBuilder;%(AdditionalIncludeDirectories) @@ -103,63 +103,63 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/PCbuild/_zstd.vcxproj.filters b/PCbuild/_zstd.vcxproj.filters index 8ef3ab63f175b8..d4d36063c85d09 100644 --- a/PCbuild/_zstd.vcxproj.filters +++ b/PCbuild/_zstd.vcxproj.filters @@ -30,94 +30,94 @@ Source Files - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd - + Source Files\zstd @@ -128,73 +128,73 @@ Header Files - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd - + Header Files\zstd diff --git a/PCbuild/python.props b/PCbuild/python.props index bf7512bc928f80..ddc7696d2762fe 100644 --- a/PCbuild/python.props +++ b/PCbuild/python.props @@ -87,7 +87,7 @@ $(ExternalsDir)\nasm-2.11.06\ $(ExternalsDir)\zlib-1.3.1\ $(ExternalsDir)\zlib-ng-2.2.4\ - $(ExternalsDir)\zstd-1.5.7\lib\ + $(ExternalsDir)\zstd-1.5.7\ diff --git a/PCbuild/regen.targets b/PCbuild/regen.targets index aa495a8a0d8619..3ad17737807235 100644 --- a/PCbuild/regen.targets +++ b/PCbuild/regen.targets @@ -158,7 +158,7 @@ $(PySourcePath)PC\crtlicense.txt; $(bz2Dir)LICENSE; $(libffiDir)LICENSE; - $(zstdDir)..\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;