• Home
  • Raw
  • Download

Lines Matching +full:gcc +full:- +full:mips +full:- +full:linux +full:- +full:gnu

2 --------------
17 7z is a main file format for 7-Zip compression program (www.7-zip.org).
19 7z also supports AES-256 based encryption.
28 -------
34 2) SHA-256: Wei Dai (Crypto++ library)
38 any purpose, commercial or non-commercial, and by any means.
41 include it to GNU GPL or GNU LGPL code.
45 -----------------
49 - C / C++ / C# / Java - LZMA compression and decompression
50 - C / C++ - LZMA2 compression and decompression
51 - C / C++ - XZ compression and decompression
52 - C - 7z decompression
53 - C++ - 7z compression and decompression
54 - C - small SFXs for installers (7z decompression)
55 - C++ - SFXs and SFXs for installers (7z decompression)
59 - console programs for lzma / 7z / xz compression and decompression
60 - SFX modules for installers.
63 UNIX/Linux version
64 ------------------
65 There are several otpions to compile 7-Zip with different compilers: gcc and clang.
66 Also 7-Zip code contains two versions for some critical parts of code: in C and in Assembeler.
67 So if you compile the version with Assembeler code, you will get faster 7-Zip binary.
69 7-Zip's assembler code uses the following syntax for different platforms:
71 1) x86 and x86-64 (AMD64): MASM syntax.
72 There are 2 programs that supports MASM syntax in Linux.
74 cpu instructions used in 7-Zip.
75 So you must install Asmc Macro Assembler in Linux, if you want to compile fastest version
76 of 7-Zip x86 and x86-64:
79 2) arm64: GNU assembler for ARM64 with preprocessor.
80 That systax of that arm64 assembler code in 7-Zip is supported by GCC and CLANG for ARM64.
82 There are different binaries that can be compiled from 7-Zip source.
84 makefile - that can be used for compiling Windows version of 7-Zip with nmake command
85 makefile.gcc - that can be used for compiling Linux/macOS versions of 7-Zip with make command
87 At first you must change the current folder to folder that contains `makefile.gcc`:
91 Then you can compile `makefile.gcc` with the command:
93 make -j -f makefile.gcc
96 7-Zip binaries with optimized code and optimzing options.
98 To compile with GCC without assembler:
100 make -j -f ../../cmpl_gcc.mak
103 make -j -f ../../cmpl_clang.mak
105 To compile 7-Zip for x86-64 with asmc assembler:
106 make -j -f ../../cmpl_gcc_x64.mak
108 To compile 7-Zip for arm64 with assembler:
109 make -j -f ../../cmpl_gcc_arm64.mak
111 To compile 7-Zip for arm64 for macOS:
112 make -j -f ../../cmpl_mac_arm64.mak
121 Also you can use p7zip (port of 7-Zip for POSIX systems like Unix or Linux):
127 -----
129 DOC/7zC.txt - 7z ANSI-C Decoder description
130 DOC/7zFormat.txt - 7z Format description
131 DOC/installer.txt - information about 7-Zip for installers
132 DOC/lzma.txt - LZMA compression description
133 DOC/lzma-sdk.txt - LZMA SDK description (this file)
134 DOC/lzma-history.txt - history of LZMA SDK
135 DOC/lzma-specification.txt - Specification of LZMA
136 DOC/Methods.txt - Compression method IDs for .7z
138 bin/installer/ - example script to create installer that uses SFX module,
140 bin/7zdec.exe - simplified 7z archive decoder
141 bin/7zr.exe - 7-Zip console program (reduced version)
142 bin/x64/7zr.exe - 7-Zip console program (reduced version) (x64 version)
143 bin/lzma.exe - file->file LZMA encoder/decoder for Windows
144 bin/7zS2.sfx - small SFX module for installers (GUI version)
145 bin/7zS2con.sfx - small SFX module for installers (Console version)
146 bin/7zSD.sfx - SFX module for installers.
150 ---------
160 ---------------------
163 Asm/ - asm files (optimized code for CRC calculation and Intel-AES encryption)
165 C/ - C files (compression / decompression and other)
167 7z - 7z decoder program (decoding 7z files)
168 Lzma - LZMA program (file->file LZMA encoder/decoder).
169 LzmaLib - LZMA library (.DLL for Windows)
170 SfxSetup - small SFX module for installers
172 CPP/ -- CPP files
174 Common - common files for C++ projects
175 Windows - common files for Windows related code
177 7zip - files related to 7-Zip
179 Archive - files related to archiving
181 Common - common files for archive handling
182 7z - 7z C++ Encoder/Decoder
184 Bundles - Modules that are bundles of other modules (files)
186 Alone7z - 7zr.exe: Standalone 7-Zip console program (reduced version)
187 Format7zExtractR - 7zxr.dll: Reduced version of 7z DLL: extracting from 7z/LZMA/BCJ/BCJ2.
188 …Format7zR - 7zr.dll: Reduced version of 7z DLL: extracting/compressing to 7z/LZMA/BCJ/BCJ2
189 LzmaCon - lzma.exe: LZMA compression/decompression
190 LzmaSpec - example code for LZMA Specification
191 SFXCon - 7zCon.sfx: Console 7z SFX module
192 SFXSetup - 7zS.sfx: 7z SFX module for installers
193 SFXWin - 7z.sfx: GUI 7z SFX module
195 Common - common files for 7-Zip
197 Compress - files for compression/decompression
199 Crypto - files for encryption / decompression
201 UI - User Interface files
203 Client7z - Test application for 7za.dll, 7zr.dll, 7zxr.dll
204 Common - Common UI files
205 Console - Code for console program (7z.exe)
206 Explorer - Some code from 7-Zip Shell extension
207 FileManager - Some GUI code from 7-Zip File Manager
208 GUI - Some GUI code from 7-Zip
211 CS/ - C# files
213 Common - some common files for 7-Zip
214 Compress - files related to compression/decompression
215 LZ - files related to LZ (Lempel-Ziv) compression algorithm
216 LZMA - LZMA compression/decompression
217 LzmaAlone - file->file LZMA compression/decompression
218 RangeCoder - Range Coder (special code of compression/decompression)
220 Java/ - Java files
222 Compression - files related to compression/decompression
223 LZ - files related to LZ (Lempel-Ziv) compression algorithm
224 LZMA - LZMA compression/decompression
225 RangeCoder - Range Coder (special code of compression/decompression)
229 Asm / C / C++ source code of LZMA SDK is part of 7-Zip's source code.
230 7-Zip's source code can be downloaded from 7-Zip's SourceForge page:
237 -------------
238 - Variable dictionary size (up to 1 GB)
239 - Estimated compressing speed: about 2 MB/s on 2 GHz CPU
240 - Estimated decompressing speed:
241 - 20-30 MB/s on modern 2 GHz cpu
242 - 1-2 MB/s on 200 MHz simple RISC cpu: (ARM, MIPS, PowerPC)
243 - Small memory requirements for decompressing (16 KB + DictionarySize)
244 - Small code size for decompressing: 5-8 KB
247 implemented in any modern 32-bit CPU (or on 16-bit CPU with some conditions).
252 3) 32-bit shift and arithmetic operations
260 ----------
263 --------------------------------------
272 with LZMA method. Benchmark shows rating in MIPS (million
277 (-a1, -d21, -fb32, -mfbt4). You can change only -d parameter.
285 -a{N}: set compression mode 0 = fast, 1 = normal
288 d{N}: Sets Dictionary size - [0, 30], default: 23 (8MB)
294 -fb{N}: set number of fast bytes - [5, 273], default: 128
298 -lc{N}: set number of literal context bits - [0, 8], default: 3
301 -lp{N}: set number of literal pos bits - [0, 4], default: 0
303 equal 2^N. For example, for 32-bit (4 bytes)
307 -pb{N}: set number of pos bits - [0, 4], default: 2
311 -mf{MF_ID}: set Match Finder. Default: bt4.
314 fast mode (-a0).
326 -eos: write End Of Stream marker. By default LZMA doesn't write
330 -si: Read data from stdin (it will write End Of Stream marker).
331 -so: Write data to stdout
336 1) LZMA e file.bin file.lzma -d16 -lc0
339 and 0 literal context bits. -lc0 allows to reduce memory requirements
343 2) LZMA e file.bin file.lzma -lc0 -lp2
346 for 32-bit periodical data (for example, ARM or MIPS code).
354 -----------------------
357 ---------------
367 -------
370 increase the compression ratio on 5-10% for code for those CPU ISAs:
371 x86, IA-64, ARM, ARM-Thumb, PowerPC, SPARC.
376 7-Zip commands (example for ARM code):
378 7z a a1.7z a.bin -m0=lzma
380 With filter for little-endian ARM code:
381 7z a a2.7z a.bin -m0=arm -m1=lzma
396 For some ISAs (for example, for MIPS) it's impossible to get gain from such filter.
400 ---
402 http://www.7-zip.org
403 http://www.7-zip.org/sdk.html
404 http://www.7-zip.org/support.html