diff options
Diffstat (limited to 'DOC/readme.txt')
-rw-r--r-- | DOC/readme.txt | 42 |
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 @@ | |||
1 | 7-Zip 24.07 Sources | 1 | 7-Zip 25.01 Sources |
2 | ------------------- | 2 | ------------------- |
3 | 3 | ||
4 | 7-Zip is a file archiver for Windows. | 4 | 7-Zip is a file archiver for Windows. |
5 | 5 | ||
6 | 7-Zip Copyright (C) 1999-2024 Igor Pavlov. | 6 | 7-Zip Copyright (C) 1999-2025 Igor Pavlov. |
7 | 7 | ||
8 | 8 | ||
9 | License Info | 9 | License Info |
@@ -73,8 +73,8 @@ All final 7-Zip binaries are compiled via makefiles, that provide best | |||
73 | optimization options. | 73 | optimization options. |
74 | 74 | ||
75 | 75 | ||
76 | How to compile with makefile | 76 | How to compile with makefile in Windows |
77 | ---------------------------- | 77 | --------------------------------------- |
78 | 78 | ||
79 | Some macronames can be defined for compiling with makefile: | 79 | Some 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 | ||
91 | To compile all 7-Zip files for x64 with Visual Studio 2022, | ||
92 | use 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 | |||
98 | You can use another "vcvars*.bat" files from "VS2022\VC\Auxiliary\Build" directory | ||
99 | to compile for other platforms: | ||
100 | vcvars64.bat | ||
101 | vcvarsamd64_arm64.bat | ||
102 | vcvarsamd64_x86.bat | ||
103 | |||
104 | Also you can compile single binary from directory with related project. | ||
105 | For example, to compile 7za.exe, use the following command sequence: | ||
106 | cd SRC\CPP\7zip\Bundles\Alone\ | ||
107 | nmake | ||
91 | 108 | ||
92 | 109 | ||
93 | Compiling 7-Zip for Unix/Linux | 110 | Compiling 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 | |||
100 | 7-Zip's assembler code uses the following syntax for different platforms: | 117 | 7-Zip's assembler code uses the following syntax for different platforms: |
101 | 118 | ||
102 | 1) x86 and x86-64 (AMD64): MASM syntax. | 119 | 1) 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 | ||
110 | 2) arm64: GNU assembler for ARM64 with preprocessor. | 129 | 2) 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 | ||
177 | If you want to use UASM for x86-64 compiling, you can change 7zip_gcc.mak, | ||
178 | or 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 | |||
158 | DISABLE_RAR=1 | 184 | DISABLE_RAR=1 |
159 | removes whole RAR related code from compilation. | 185 | removes whole RAR related code from compilation. |
160 | 186 | ||