|
74 | 74 |
|
75 | 75 | no-asm Do not use assembler code.
|
76 | 76 |
|
77 |
| - 386 Use the 80386 instruction set only (the default x86 code is |
78 |
| - more efficient, but requires at least a 486). Note: Use |
79 |
| - compiler flags for any other CPU specific configuration, |
80 |
| - e.g. "-m32" to build x86 code on an x64 system. |
81 |
| - |
82 |
| - no-sse2 Exclude SSE2 code pathes. Normally SSE2 extention is |
83 |
| - detected at run-time, but the decision whether or not the |
84 |
| - machine code will be executed is taken solely on CPU |
85 |
| - capability vector. This means that if you happen to run OS |
86 |
| - kernel which does not support SSE2 extension on Intel P4 |
87 |
| - processor, then your application might be exposed to |
88 |
| - "illegal instruction" exception. There might be a way |
89 |
| - to enable support in kernel, e.g. FreeBSD kernel can be |
90 |
| - compiled with CPU_ENABLE_SSE, and there is a way to |
91 |
| - disengage SSE2 code pathes upon application start-up, |
92 |
| - but if you aim for wider "audience" running such kernel, |
93 |
| - consider no-sse2. Both 386 and no-asm options above imply |
94 |
| - no-sse2. |
| 77 | + 386 In 32-bit x86 builds, when generating assembly modules, |
| 78 | + use the 80386 instruction set only (the default x86 code |
| 79 | + is more efficient, but requires at least a 486). Note: |
| 80 | + This doesn't affect code generated by compiler, you're |
| 81 | + likely to complement configuration command line with |
| 82 | + suitable compiler-specific option. |
| 83 | + |
| 84 | + no-sse2 Exclude SSE2 code paths from 32-bit x86 assembly modules. |
| 85 | + Normally SSE2 extension is detected at run-time, but the |
| 86 | + decision whether or not the machine code will be executed |
| 87 | + is taken solely on CPU capability vector. This means that |
| 88 | + if you happen to run OS kernel which does not support SSE2 |
| 89 | + extension on Intel P4 processor, then your application |
| 90 | + might be exposed to "illegal instruction" exception. |
| 91 | + There might be a way to enable support in kernel, e.g. |
| 92 | + FreeBSD kernel can be compiled with CPU_ENABLE_SSE, and |
| 93 | + there is a way to disengage SSE2 code paths upon application |
| 94 | + start-up, but if you aim for wider "audience" running |
| 95 | + such kernel, consider no-sse2. Both the 386 and |
| 96 | + no-asm options imply no-sse2. |
95 | 97 |
|
96 | 98 | no-<cipher> Build without the specified cipher (bf, cast, des, dh, dsa,
|
97 | 99 | hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
|
|
101 | 103 | -Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will
|
102 | 104 | be passed through to the compiler to allow you to
|
103 | 105 | define preprocessor symbols, specify additional libraries,
|
104 |
| - library directories or other compiler options. |
| 106 | + library directories or other compiler options. It might be |
| 107 | + worth noting that some compilers generate code specifically |
| 108 | + for processor the compiler currently executes on. This is |
| 109 | + not necessarily what you might have in mind, since it might |
| 110 | + be unsuitable for execution on other, typically older, |
| 111 | + processor. Consult your compiler documentation. |
105 | 112 |
|
106 | 113 | -DHAVE_CRYPTODEV Enable the BSD cryptodev engine even if we are not using
|
107 | 114 | BSD. Useful if you are running ocf-linux or something
|
|
159 | 166 | OpenSSL binary ("openssl"). The libraries will be built in the top-level
|
160 | 167 | directory, and the binary will be in the "apps" directory.
|
161 | 168 |
|
162 |
| - If "make" fails, look at the output. There may be reasons for |
163 |
| - the failure that aren't problems in OpenSSL itself (like missing |
164 |
| - standard headers). If it is a problem with OpenSSL itself, please |
165 |
| - report the problem to <openssl- [email protected]> (note that your |
166 |
| - message will be recorded in the request tracker publicly readable |
167 |
| - at https://www.openssl.org/community/index.html#bugs and will be |
168 |
| - forwarded to a public mailing list). Include the output of "make |
169 |
| - report" in your message. Please check out the request tracker. Maybe |
170 |
| - the bug was already reported or has already been fixed. |
171 |
| - |
172 |
| - [If you encounter assembler error messages, try the "no-asm" |
173 |
| - configuration option as an immediate fix.] |
| 169 | + If the build fails, look at the output. There may be reasons |
| 170 | + for the failure that aren't problems in OpenSSL itself (like |
| 171 | + missing standard headers). If you are having problems you can |
| 172 | + get help by sending an email to the openssl-users email list (see |
| 173 | + https://www.openssl.org/community/mailinglists.html for details). If |
| 174 | + it is a bug with OpenSSL itself, please open an issue on GitHub, at |
| 175 | + https://github.com/openssl/openssl/issues. Please review the existing |
| 176 | + ones first; maybe the bug was already reported or has already been |
| 177 | + fixed. |
| 178 | + |
| 179 | + (If you encounter assembler error messages, try the "no-asm" |
| 180 | + configuration option as an immediate fix.) |
174 | 181 |
|
175 | 182 | Compiling parts of OpenSSL with gcc and others with the system
|
176 | 183 | compiler will result in unresolved symbols on some systems.
|
|
0 commit comments