aboutsummaryrefslogtreecommitdiff
path: root/DOC/readme.txt
diff options
context:
space:
mode:
Diffstat (limited to 'DOC/readme.txt')
-rw-r--r--DOC/readme.txt42
1 files changed, 34 insertions, 8 deletions
diff --git a/DOC/readme.txt b/DOC/readme.txt
index 6d04c5a..cc89a39 100644
--- a/DOC/readme.txt
+++ b/DOC/readme.txt
@@ -1,9 +1,9 @@
17-Zip 24.07 Sources 17-Zip 25.01 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-2024 Igor Pavlov. 67-Zip Copyright (C) 1999-2025 Igor Pavlov.
7 7
8 8
9License Info 9License Info
@@ -73,8 +73,8 @@ All final 7-Zip binaries are compiled via makefiles, that provide best
73optimization options. 73optimization options.
74 74
75 75
76How to compile with makefile 76How to compile with makefile in Windows
77---------------------------- 77---------------------------------------
78 78
79Some macronames can be defined for compiling with makefile: 79Some macronames can be defined for compiling with makefile:
80 80
@@ -88,6 +88,23 @@ MY_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,
92use the following command sequence:
93
94 cd SRC\CPP\7zip
95 %comspec% /k "C:\Program Files\VS2022\VC\Auxiliary\Build\vcvars64.bat"
96 nmake
97
98You can use another "vcvars*.bat" files from "VS2022\VC\Auxiliary\Build" directory
99to compile for other platforms:
100 vcvars64.bat
101 vcvarsamd64_arm64.bat
102 vcvarsamd64_x86.bat
103
104Also you can compile single binary from directory with related project.
105For example, to compile 7za.exe, use the following command sequence:
106 cd SRC\CPP\7zip\Bundles\Alone\
107 nmake
91 108
92 109
93Compiling 7-Zip for Unix/Linux 110Compiling 7-Zip for Unix/Linux
@@ -100,12 +117,14 @@ So if you compile the version with Assembeler code, you will get faster 7-Zip bi
1007-Zip's assembler code uses the following syntax for different platforms: 1177-Zip's assembler code uses the following syntax for different platforms:
101 118
1021) x86 and x86-64 (AMD64): MASM syntax. 1191) x86 and x86-64 (AMD64): MASM syntax.
103 There are 2 programs that supports MASM syntax in Linux. 120 Now there are 3 programs that supports MASM syntax in Linux.
104' 'Asmc Macro Assembler and JWasm. But JWasm now doesn't support some 121' 'Asmc Macro Assembler, JWasm, and UASM. Note that JWasm now doesn't support some
105 cpu instructions used in 7-Zip. 122 cpu instructions used in 7-Zip.
106 So you must install Asmc Macro Assembler in Linux, if you want to compile fastest version 123 So you must install Asmc Macro Assembler in Linux or UASM, if you want to compile
107 of 7-Zip x86 and x86-64: 124 fastest version of 7-Zip x86 and x86-64:
108 https://github.com/nidud/asmc 125 https://github.com/nidud/asmc
126 https://github.com/Terraspace/UASM
127
109 128
1102) arm64: GNU assembler for ARM64 with preprocessor. 1292) arm64: GNU assembler for ARM64 with preprocessor.
111 That systax is supported by GCC and CLANG for ARM64. 130 That systax is supported by GCC and CLANG for ARM64.
@@ -155,6 +174,13 @@ USE_JWASM=1
155 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
156 will be used instead of assembler code from AesOpt.asm. 175 will be used instead of assembler code from AesOpt.asm.
157 176
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:
179 UASM="$PWD/GccUnixR/uasm"
180 cd "7zip-src/CPP/7zip/Bundles/Alone2"
181 make -f makefile.gcc -j IS_X64=1 USE_ASM=1 MY_ASM="$UASM"
182
183
158DISABLE_RAR=1 184DISABLE_RAR=1
159 removes whole RAR related code from compilation. 185 removes whole RAR related code from compilation.
160 186