-Building with Visual C++, prerequises\r
-=====================================\r
+Building with Visual C++, prerequisites\r
+=======================================\r
\r
This document describes how to compile, build and install curl and libcurl\r
from sources using the Visual C++ build tool. To build with VC++, you will\r
\r
The latest Platform SDK can be downloaded freely from:\r
\r
- http://msdn.microsoft.com/en-us/windows/bb980924\r
+ https://msdn.microsoft.com/en-us/windows/bb980924\r
\r
If you are building with VC6 then you will also need the February 2003\r
Edition of the Platform SDK which can be downloaded from:\r
\r
- http://www.microsoft.com/en-us/download/details.aspx?id=12261\r
+ https://www.microsoft.com/en-us/download/details.aspx?id=12261\r
\r
- If you wish to support zlib, openssl, ssh2, you will have to download\r
+ If you wish to support zlib, openssl, c-ares, ssh2, you will have to download\r
them separately and copy them to the deps directory as shown below:\r
\r
somedirectory\\r
nmake /f Makefile.vc mode=<static or dll> <options>\r
\r
where <options> is one or many of:\r
- VC=<6,7,8,9,10,11,12> - VC versions\r
+ VC=<6,7,8,9,10,11,12,14> - VC versions\r
WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)\r
Defaults to sibbling directory deps: ../deps\r
Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/\r
Uncompress them into the deps folder.\r
WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static\r
+ WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static\r
+ WITH_CARES=<dll or static> - Enable c-ares support, DLL or static\r
WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static\r
WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static\r
ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes\r
ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes\r
ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes\r
Requires Windows Vista or later, or installation from:\r
- http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815\r
+ https://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815\r
ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes\r
GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)\r
DEBUG=<yes or no> - Debug builds\r
MACHINE=<x86 or x64> - Target architecture (default is x86)\r
+\r
+Static linking of Microsoft's C RunTime (CRT):\r
+==============================================\r
+If you are using mode=static nmake will create and link to the static build of\r
+libcurl but *not* the static CRT. If you must you can force nmake to link in\r
+the static CRT by passing RTLIBCFG=static. Typically you shouldn't use that\r
+option, and nmake will default to the DLL CRT. RTLIBCFG is rarely used and\r
+therefore rarely tested. When passing RTLIBCFG for a configuration that was\r
+already built but not with that option, or if the option was specified\r
+differently, you must destroy the build directory containing the configuration\r
+so that nmake can build it from scratch.\r
+\r
+Legacy Windows and SSL\r
+======================\r
+When you build curl using the build files in this directory the default SSL\r
+backend will be WinSSL (Windows SSPI, more specifically Schannel), the native\r
+SSL library that comes with the Windows OS. WinSSL in Windows <= XP is not able\r
+to connect to servers that no longer support the legacy handshakes and\r
+algorithms used by those versions. If you will be using curl in one of those\r
+earlier versions of Windows you should choose another SSL backend like OpenSSL.\r