internals:windows:libs:openssl
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
internals:windows:libs:openssl [2008/06/01 17:45] – pajoye | internals:windows:libs:openssl [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== OpenSSL Windows, How to compile ====== | ====== OpenSSL Windows, How to compile ====== | ||
+ | For PHP suitable sources and up-to-date information see [[https:// | ||
===== Building OpenSSL 0.9.8 ===== | ===== Building OpenSSL 0.9.8 ===== | ||
- | |||
- | |||
Line 10: | Line 9: | ||
* Native Perl from ActiveState ([[http:// | * Native Perl from ActiveState ([[http:// | ||
* Common tools used to compile PHP | * Common tools used to compile PHP | ||
+ | |||
Line 16: | Line 16: | ||
Configure for Win32 | Configure for Win32 | ||
<code bash> | <code bash> | ||
- | cd C: | + | cd C: |
perl Configure --openssldir=C:/ | perl Configure --openssldir=C:/ | ||
</ | </ | ||
Line 23: | Line 23: | ||
Configure for Win64 | Configure for Win64 | ||
<code bash> | <code bash> | ||
- | cd C: | + | cd C: |
perl Configure --openssldir=C:/ | perl Configure --openssldir=C:/ | ||
</ | </ | ||
Line 29: | Line 29: | ||
The configure will prepare the sources to compile OpenSSL for windows 32bit and install it under c: | The configure will prepare the sources to compile OpenSSL for windows 32bit and install it under c: | ||
- | Modify the path using your configurations. Please | + | Modify the path using your configurations. Please |
+ | |||
+ | The following steps are only for 0.9.8k, later versions have been fixed. | ||
+ | |||
+ | The headers are not compatible with VC9 which seems to be more picky. The openssl/ | ||
+ | < | ||
+ | ocsp_response_st is defined in openssl/ | ||
+ | |||
+ | bufferoverflowu.lib is also not present anymore (not needed) in VC9. Comment out the reference in the util/ | ||
=== Assembly languages options === | === Assembly languages options === | ||
PHP build default in 5.2 don't use ASM. | PHP build default in 5.2 don't use ASM. | ||
- | PHP build default in 5.2 and later uses ASM. | + | PHP build default in 5.3 and later uses ASM. |
+ | |||
+ | For 0.9.8k you have to modify | ||
For Win64 builds, use only: | For Win64 builds, use only: | ||
Line 72: | Line 83: | ||
- | ==== Compiling ==== | + | ===== Compiling |
<code bash> | <code bash> | ||
nmake -f ms\ntdll.mak | nmake -f ms\ntdll.mak | ||
Line 83: | Line 94: | ||
</ | </ | ||
- | === Install === | + | If you get the following compilation error (with other letters): |
+ | <code bash> | ||
+ | .\crypto\cversion.c(105) : warning C4129: ' | ||
+ | .\crypto\cversion.c(105) : warning C4129: ' | ||
+ | </ | ||
+ | |||
+ | Go back to the configure phase and be sure to use only slashed and no backslashes for --openssldir (or --prefix) | ||
+ | |||
+ | ===== Testing ===== | ||
+ | |||
+ | The possible point of failures in the OpenSSL implementations are numerous. Thanks to their tests suite, it is possible to minimize the risk by running it after each update: | ||
+ | |||
+ | <code bash> | ||
+ | nmake -f ms\ntdll.mak test | ||
+ | </ | ||
+ | |||
+ | ===== Install | ||
<code bash> | <code bash> |
internals/windows/libs/openssl.1212342306.txt.gz · Last modified: 2017/09/22 13:28 (external edit)