aboutsummaryrefslogtreecommitdiff
path: root/DOC/readme.txt
diff options
context:
space:
mode:
authorIgor Pavlov <87184205+ip7z@users.noreply.github.com>2026-02-12 00:00:00 +0000
committerIgor Pavlov <87184205+ip7z@users.noreply.github.com>2026-02-12 17:38:49 +0500
commit839151eaaad24771892afaae6bac690e31e58384 (patch)
treee292449d621f7a1d503b975984a2aca240dd2d8f /DOC/readme.txt
parent5e96a8279489832924056b1fa82f29d5837c9469 (diff)
download7zip-26.00.tar.gz
7zip-26.00.tar.bz2
7zip-26.00.zip
Diffstat (limited to 'DOC/readme.txt')
-rw-r--r--DOC/readme.txt50
1 files changed, 25 insertions, 25 deletions
diff --git a/DOC/readme.txt b/DOC/readme.txt
index cc89a39..26d0f5a 100644
--- a/DOC/readme.txt
+++ b/DOC/readme.txt
@@ -1,15 +1,15 @@
17-Zip 25.01 Sources 17-Zip 26.00 Sources
2------------------- 2-------------------
3 3
47-Zip is a file archiver for Windows. 47-Zip is a file archiver for Windows.
5 5
67-Zip Copyright (C) 1999-2025 Igor Pavlov. 67-Zip Copyright (C) 1999-2026 Igor Pavlov.
7 7
8 8
9License Info 9License Info
10------------ 10------------
11 11
127-Zip is free software distributed under the GNU LGPL 127-Zip is free software distributed under the GNU LGPL
13(except for unRar code). Also some code 13(except for unRar code). Also some code
14is licensed under the "BSD 3-clause License". 14is licensed under the "BSD 3-clause License".
15Read "License.txt" for more infomation about license. 15Read "License.txt" for more infomation about license.
@@ -27,7 +27,7 @@ Please check main restriction from unRar license:
27 not be used to develop a RAR (WinRAR) compatible archiver. 27 not be used to develop a RAR (WinRAR) compatible archiver.
28 28
29In brief it means: 29In brief it means:
301) You can compile and use compiled files under GNU LGPL rules, since 301) You can compile and use compiled files under GNU LGPL rules, since
31 unRAR license almost has no restrictions for compiled files. 31 unRAR license almost has no restrictions for compiled files.
32 You can link these compiled files to LGPL programs. 32 You can link these compiled files to LGPL programs.
332) You can fix bugs in source code and use compiled fixed version. 332) You can fix bugs in source code and use compiled fixed version.
@@ -60,7 +60,7 @@ Tools / Options / Directories
60 - Library files 60 - Library files
61 61
62Also you need Microsoft Macro Assembler: 62Also you need Microsoft Macro Assembler:
63 - ml.exe for x86 63 - ml.exe for x86
64 - ml64.exe for x64 64 - ml64.exe for x64
65You can use ml.exe from Windows SDK for Windows Vista or some later versions. 65You can use ml.exe from Windows SDK for Windows Vista or some later versions.
66 66
@@ -85,7 +85,7 @@ OLD_COMPILER
85 for old VC compiler, like MSCV 6.0. 85 for old VC compiler, like MSCV 6.0.
86 86
87MY_DYNAMIC_LINK 87MY_DYNAMIC_LINK
88 for dynamic linking to the run-time library (msvcrt.dll). 88 for dynamic linking to the run-time library (msvcrt.dll).
89 The default makefile option is static linking to the run-time library. 89 The default makefile option is static linking to the run-time library.
90 90
91To compile all 7-Zip files for x64 with Visual Studio 2022, 91To compile all 7-Zip files for x64 with Visual Studio 2022,
@@ -116,23 +116,23 @@ So if you compile the version with Assembeler code, you will get faster 7-Zip bi
116 116
1177-Zip's assembler code uses the following syntax for different platforms: 1177-Zip's assembler code uses the following syntax for different platforms:
118 118
1191) x86 and x86-64 (AMD64): MASM syntax. 1191) x86 and x86-64 (AMD64): MASM syntax.
120 Now there are 3 programs that supports MASM syntax in Linux. 120 Now there are 3 programs that supports MASM syntax in Linux.
121' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some 121' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some
122 cpu instructions used in 7-Zip. 122 cpu instructions used in 7-Zip.
123 So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile 123 So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile
124 fastest version of 7-Zip x86 and x86-64: 124 fastest version of 7-Zip x86 and x86-64:
125 https://github.com/nidud/asmc 125 https://github.com/nidud/asmc
126 https://github.com/Terraspace/UASM 126 https://github.com/Terraspace/UASM
127 127
128 128
1292) arm64: GNU assembler for ARM64 with preprocessor. 1292) arm64: GNU assembler for ARM64 with preprocessor.
130 That systax is supported by GCC and CLANG for ARM64. 130 That systax is supported by GCC and CLANG for ARM64.
131 131
132There are different binaries that can be compiled from 7-Zip source. 132There are different binaries that can be compiled from 7-Zip source.
133There are 2 main files in folder for compiling: 133There are 2 main files in folder for compiling:
134 makefile - that can be used for compiling Windows version of 7-Zip with nmake command 134 makefile - that can be used for compiling Windows version of 7-Zip with nmake command
135 makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip or Windows version 135 makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip or Windows version
136 with MINGW (GCC) with make command. 136 with MINGW (GCC) with make command.
137 137
138At first you must change the current folder to folder that contains `makefile.gcc`: 138At first you must change the current folder to folder that contains `makefile.gcc`:
@@ -143,7 +143,7 @@ Then you can compile `makefile.gcc` with the command:
143 143
144 make -j -f makefile.gcc 144 make -j -f makefile.gcc
145 145
146Also there are additional "*.mak" files in folder "CPP/7zip/" that can be used to compile 146Also there are additional "*.mak" files in folder "CPP/7zip/" that can be used to compile
1477-Zip binaries with optimized code and optimzing options. 1477-Zip binaries with optimized code and optimzing options.
148 148
149To compile with GCC without assembler: 149To compile with GCC without assembler:
@@ -171,10 +171,10 @@ makefile.gcc supports some variables that can change compile options
171 171
172USE_JWASM=1 172USE_JWASM=1
173 use JWasm assembler instead of Asmc. 173 use JWasm assembler instead of Asmc.
174 Note that JWasm doesn't support AES instructions. So AES code from C version AesOpt.c 174 Note that JWasm doesn't support AES instructions. So AES code from C version AesOpt.c
175 will be used instead of assembler code from AesOpt.asm. 175 will be used instead of assembler code from AesOpt.asm.
176 176
177If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak, 177If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak,
178or send IS_X64=1 USE_ASM=1 MY_ASM="$UASM" to make command calling: 178or send IS_X64=1 USE_ASM=1 MY_ASM="$UASM" to make command calling:
179 UASM="$PWD/GccUnixR/uasm" 179 UASM="$PWD/GccUnixR/uasm"
180 cd "7zip-src/CPP/7zip/Bundles/Alone2" 180 cd "7zip-src/CPP/7zip/Bundles/Alone2"
@@ -187,11 +187,11 @@ DISABLE_RAR=1
187DISABLE_RAR_COMPRESS=1 187DISABLE_RAR_COMPRESS=1
188 removes "not fully free" code of RAR decompression codecs from compilation. 188 removes "not fully free" code of RAR decompression codecs from compilation.
189 189
190RAR decompression codecs in 7-Zip code has some additional license restrictions, 190RAR decompression codecs in 7-Zip code has some additional license restrictions,
191that can be treated as not fully compatible with free-software licenses. 191that can be treated as not fully compatible with free-software licenses.
192DISABLE_RAR_COMPRESS=1 allows to exclude such "not-fully-free" RAR code from compilation. 192DISABLE_RAR_COMPRESS=1 allows to exclude such "not-fully-free" RAR code from compilation.
193if DISABLE_RAR_COMPRESS=1 is specified, 7-zip will not be able to decompress files 193if DISABLE_RAR_COMPRESS=1 is specified, 7-zip will not be able to decompress files
194from rar archives, but 7-zip still will be able to open rar archives to get list of 194from rar archives, but 7-zip still will be able to open rar archives to get list of
195files or to extract files that are stored without compression. 195files or to extract files that are stored without compression.
196if DISABLE_RAR=1 is specified, 7-zip will not be able to work with RAR archives. 196if DISABLE_RAR=1 is specified, 7-zip will not be able to work with RAR archives.
197 197
@@ -203,11 +203,11 @@ Now there are two different ports of 7-Zip for Linux/macOS:
203 203
2041) p7zip - another port of 7-Zip for Linux, made by an independent developer. 2041) p7zip - another port of 7-Zip for Linux, made by an independent developer.
205 The latest version of p7zip now is 16.02, and that p7zip 16.02 is outdated now. 205 The latest version of p7zip now is 16.02, and that p7zip 16.02 is outdated now.
206 http://sourceforge.net/projects/p7zip/ 206 http://sourceforge.net/projects/p7zip/
207 207
2082) 7-Zip for Linux/macOS - this package - it's new code with all changes from latest 7-Zip for Windows. 2082) 7-Zip for Linux/macOS - this package - it's new code with all changes from latest 7-Zip for Windows.
209 209
210These two ports are not identical. 210These two ports are not identical.
211Note also that some Linux specific things can be implemented better in p7zip than in new 7-Zip for Linux. 211Note also that some Linux specific things can be implemented better in p7zip than in new 7-Zip for Linux.
212 212
213 213
@@ -218,13 +218,13 @@ Notes:
2187-Zip consists of COM modules (DLL files). 2187-Zip consists of COM modules (DLL files).
219But 7-Zip doesn't use standard COM interfaces for creating objects. 219But 7-Zip doesn't use standard COM interfaces for creating objects.
220Look at 220Look at
2217zip\UI\Client7z folder for example of using DLL files of 7-Zip. 2217zip\UI\Client7z folder for example of using DLL files of 7-Zip.
222Some DLL files can use other DLL files from 7-Zip. 222Some DLL files can use other DLL files from 7-Zip.
223If you don't like it, you must use standalone version of DLL. 223If you don't like it, you must use standalone version of DLL.
224To compile standalone version of DLL you must include all used parts 224To compile standalone version of DLL you must include all used parts
225to project and define some defs. 225to project and define some defs.
226For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll 226For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll
227that works with 7z format. So you can use such DLL in your project 227that works with 7z format. So you can use such DLL in your project
228without additional DLL files. 228without additional DLL files.
229 229
230 230
@@ -284,7 +284,7 @@ Windows common files for Windows related code
284 UI 284 UI
285 285
286 Agent Intermediary modules for FAR plugin and Explorer plugin 286 Agent Intermediary modules for FAR plugin and Explorer plugin
287 Client7z Test application for 7za.dll 287 Client7z Test application for 7za.dll
288 Common Common UI files 288 Common Common UI files
289 Console 7z.exe : Console version 289 Console 7z.exe : Console version
290 Explorer 7-zip.dll: 7-Zip Shell extension 290 Explorer 7-zip.dll: 7-Zip Shell extension