Skip to content

Commit

Permalink
Make NanaZip Self Extracting Executable stubs use 7-Zip mainline Zsta…
Browse files Browse the repository at this point in the history
…ndard decoder instead of Zstandard official's for reducing the size for binaries.
  • Loading branch information
MouriNaruto committed May 16, 2024
1 parent 4d21f72 commit f235dc8
Show file tree
Hide file tree
Showing 8 changed files with 47 additions and 248 deletions.
26 changes: 0 additions & 26 deletions NanaZip.Codecs/NanaZip.Codecs.SfxStubs.props

This file was deleted.

63 changes: 0 additions & 63 deletions NanaZip.Codecs/NanaZip.Codecs.SfxStubs.vcxproj

This file was deleted.

126 changes: 0 additions & 126 deletions NanaZip.Codecs/NanaZip.Codecs.SfxStubs.vcxproj.filters

This file was deleted.

5 changes: 2 additions & 3 deletions NanaZip.Core/NanaZip.Core.Sfx.Shared.props
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="..\NanaZip.Codecs\NanaZip.Codecs.SfxStubs.props" />
<PropertyGroup>
<IncludePath>$(MSBuildThisFileDirectory);$(IncludePath)</IncludePath>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<PreprocessorDefinitions>Z7_EXTRACT_ONLY;Z7_NO_READ_FROM_CODER;Z7_SFX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions>Z7_EXTRACT_ONLY;Z7_NO_READ_FROM_CODER;Z7_SFX;Z7_NO_LONG_PATH;Z7_NO_LARGE_PAGES;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PreprocessorDefinitions Condition="'$(Platform)'=='x64'">Z7_LZMA_DEC_OPT;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
<Link>
Expand All @@ -15,7 +14,7 @@
</ItemDefinitionGroup>
<Target Name="NanaZipCoreSfxSharedBuildCSource" BeforeTargets="BeforeClCompile">
<ItemGroup>
<ClCompile Include="$(MSBuildThisFileDirectory)Extensions\ZSCodecs\ZstdRegister.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)NanaZip.Core.Sfx.ZstandardRegister.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)SevenZip\CPP\7zip\Archive\7z\7zRegister.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)SevenZip\CPP\7zip\Archive\SplitHandler.cpp" />
<ClCompile Include="$(MSBuildThisFileDirectory)SevenZip\CPP\7zip\Compress\Bcj2Register.cpp" />
Expand Down
11 changes: 7 additions & 4 deletions NanaZip.Core/NanaZip.Core.Sfx.Shared.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
<Import Project="..\Mile.Project.Windows\Mile.Project.Cpp.Default.props" />
<Import Project="..\Mile.Project.Windows\Mile.Project.Cpp.props" />
<Import Condition="('$(Platform)'=='Win32') Or ('$(Platform)'=='x64')" Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
<Import Project="..\NanaZip.Codecs\NanaZip.Codecs.SfxStubs.props" />
<ItemDefinitionGroup>
<ClCompile>
<EnableEnhancedInstructionSet Condition="'$(Platform)'=='Win32'">NoExtensions</EnableEnhancedInstructionSet>
Expand All @@ -34,8 +33,7 @@
<None Include="SevenZip\C\Sha256Opt.c" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="Extensions\ZSCodecs\ZstdDecoder.cpp" />
<ClCompile Include="Extensions\ZSCodecs\ZstdRegister.cpp" />
<ClCompile Include="NanaZip.Core.Sfx.ZstandardRegister.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Archive\7z\7zDecode.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Archive\7z\7zExtract.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Archive\7z\7zHandler.cpp" />
Expand Down Expand Up @@ -73,6 +71,7 @@
<ClCompile Include="SevenZip\CPP\7zip\Compress\LzmaRegister.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Compress\PpmdDecoder.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Compress\PpmdRegister.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Compress\ZstdDecoder.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Crypto\7zAes.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Crypto\7zAesRegister.cpp" />
<ClCompile Include="SevenZip\CPP\7zip\Crypto\MyAes.cpp" />
Expand Down Expand Up @@ -112,9 +111,10 @@
<ClCompile Include="SevenZip\C\Ppmd7Dec.c" />
<ClCompile Include="SevenZip\C\Sha256.c" />
<ClCompile Include="SevenZip\C\Threads.c" />
<ClCompile Include="SevenZip\C\Xxh64.c" />
<ClCompile Include="SevenZip\C\ZstdDec.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Extensions\ZSCodecs\ZstdDecoder.h" />
<ClInclude Include="SevenZip\CPP\7zip\Archive\7z\7zCompressionMode.h" />
<ClInclude Include="SevenZip\CPP\7zip\Archive\7z\7zDecode.h" />
<ClInclude Include="SevenZip\CPP\7zip\Archive\7z\7zHandler.h" />
Expand Down Expand Up @@ -155,6 +155,7 @@
<ClInclude Include="SevenZip\CPP\7zip\Compress\LzmaDecoder.h" />
<ClInclude Include="SevenZip\CPP\7zip\Compress\PpmdDecoder.h" />
<ClInclude Include="SevenZip\CPP\7zip\Compress\StdAfx.h" />
<ClInclude Include="SevenZip\CPP\7zip\Compress\ZstdDecoder.h" />
<ClInclude Include="SevenZip\CPP\7zip\Crypto\7zAes.h" />
<ClInclude Include="SevenZip\CPP\7zip\Crypto\MyAes.h" />
<ClInclude Include="SevenZip\CPP\7zip\Crypto\RandGen.h" />
Expand Down Expand Up @@ -218,6 +219,8 @@
<ClInclude Include="SevenZip\C\RotateDefs.h" />
<ClInclude Include="SevenZip\C\Sha256.h" />
<ClInclude Include="SevenZip\C\Threads.h" />
<ClInclude Include="SevenZip\C\Xxh64.h" />
<ClInclude Include="SevenZip\C\ZstdDec.h" />
</ItemGroup>
<ItemGroup>
<Text Include="SevenZip\CPP\7zip\Guid.txt" />
Expand Down
34 changes: 19 additions & 15 deletions NanaZip.Core/NanaZip.Core.Sfx.Shared.vcxproj.filters
Original file line number Diff line number Diff line change
@@ -1,12 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Extensions">
<UniqueIdentifier>{603f3b98-10fa-4703-a074-78a3a0575141}</UniqueIdentifier>
</Filter>
<Filter Include="Extensions\ZSCodecs">
<UniqueIdentifier>{de1196d7-993c-4105-b0c0-be4dabfcad93}</UniqueIdentifier>
</Filter>
<Filter Include="SevenZip">
<UniqueIdentifier>{831b4812-8fbb-43f7-b499-2c0a9de0247f}</UniqueIdentifier>
</Filter>
Expand Down Expand Up @@ -78,12 +72,6 @@
</None>
</ItemGroup>
<ItemGroup>
<ClCompile Include="Extensions\ZSCodecs\ZstdDecoder.cpp">
<Filter>Extensions\ZSCodecs</Filter>
</ClCompile>
<ClCompile Include="Extensions\ZSCodecs\ZstdRegister.cpp">
<Filter>Extensions\ZSCodecs</Filter>
</ClCompile>
<ClCompile Include="SevenZip\C\Aes.c">
<Filter>SevenZip\C</Filter>
</ClCompile>
Expand Down Expand Up @@ -312,11 +300,18 @@
<ClCompile Include="SevenZip\CPP\Windows\TimeUtils.cpp">
<Filter>SevenZip\CPP\Windows</Filter>
</ClCompile>
<ClCompile Include="SevenZip\C\ZstdDec.c">
<Filter>SevenZip\C</Filter>
</ClCompile>
<ClCompile Include="SevenZip\C\Xxh64.c">
<Filter>SevenZip\C</Filter>
</ClCompile>
<ClCompile Include="SevenZip\CPP\7zip\Compress\ZstdDecoder.cpp">
<Filter>SevenZip\CPP\7zip\Compress</Filter>
</ClCompile>
<ClCompile Include="NanaZip.Core.Sfx.ZstandardRegister.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="Extensions\ZSCodecs\ZstdDecoder.h">
<Filter>Extensions\ZSCodecs</Filter>
</ClInclude>
<ClInclude Include="SevenZip\C\Aes.h">
<Filter>SevenZip\C</Filter>
</ClInclude>
Expand Down Expand Up @@ -626,6 +621,15 @@
<ClInclude Include="SevenZip\CPP\Common\Common0.h">
<Filter>SevenZip\CPP\Common</Filter>
</ClInclude>
<ClInclude Include="SevenZip\C\ZstdDec.h">
<Filter>SevenZip\C</Filter>
</ClInclude>
<ClInclude Include="SevenZip\C\Xxh64.h">
<Filter>SevenZip\C</Filter>
</ClInclude>
<ClInclude Include="SevenZip\CPP\7zip\Compress\ZstdDecoder.h">
<Filter>SevenZip\CPP\7zip\Compress</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<Text Include="SevenZip\CPP\7zip\Guid.txt">
Expand Down
19 changes: 19 additions & 0 deletions NanaZip.Core/NanaZip.Core.Sfx.ZstandardRegister.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/*
* PROJECT: NanaZip
* FILE: NanaZip.Core.Sfx.ZstandardRegister.cpp
* PURPOSE: Implementation for Zstandard decoder register
*
* LICENSE: The MIT License
*
* MAINTAINER: MouriNaruto ([email protected])
*/

#include "SevenZip/CPP/7zip/Common/RegisterCodec.h"
#include "SevenZip/CPP/7zip/Compress/ZstdDecoder.h"

REGISTER_CODEC_E(
Zstd,
NCompress::NZstd::CDecoder(),
nullptr,
0x4F71101,
"Zstd")
Loading

0 comments on commit f235dc8

Please sign in to comment.