-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
- of course have to first install VC++. The minimum required version of\r
- VC is 6 (part of Visual Studio 6). However using a more recent version is\r
- strongly recommended.\r
-\r
- VC++ is also part of the Windows Platform SDK. You do not have to install\r
- the full Visual Studio or Visual C++ if all you want is to build curl.\r
-\r
- The latest Platform SDK can be downloaded freely from:\r
-\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
- https://www.microsoft.com/en-us/download/details.aspx?id=12261\r
-\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
- |_curl-src\r
- | |_winbuild\r
- |\r
- |_deps\r
- |_ lib\r
- |_ include\r
- |_ bin\r
-\r
- It is also possible to create the deps directory in some other random\r
- places and tell the Makefile its location using the WITH_DEVEL option.\r
-\r
-Building with Visual C++\r
-========================\r
-\r
-Open a Visual Studio Command prompt or the SDK CMD shell.\r
-\r
- Using the CMD Shell:\r
- choose the right environment via the setenv command (see setenv /?)\r
- for the full list of options. setenv /xp /x86 /release for example.\r
-\r
- Using the Visual Studio command prompt Shell:\r
- Everything is already pre-configured by calling one of the command\r
- prompt.\r
-\r
-Once you are in the console, go to the winbuild directory in the Curl \r
-sources:\r
- cd curl-src\winbuild\r
-\r
-Then you can call nmake /f Makefile.vc with the desired options (see below).\r
-The builds will be in the top src directory, builds\ directory, in \r
-a directory named using the options given to the nmake call.\r
-\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,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
- 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
+Building with Visual C++, prerequisites
+=======================================
+
+ This document describes how to compile, build and install curl and libcurl
+ from sources using the Visual C++ build tool. To build with VC++, you will
+ of course have to first install VC++. The minimum required version of
+ VC is 6 (part of Visual Studio 6). However using a more recent version is
+ strongly recommended.
+
+ VC++ is also part of the Windows Platform SDK. You do not have to install
+ the full Visual Studio or Visual C++ if all you want is to build curl.
+
+ The latest Platform SDK can be downloaded freely from:
+
+ https://msdn.microsoft.com/en-us/windows/bb980924
+
+ If you are building with VC6 then you will also need the February 2003
+ Edition of the Platform SDK which can be downloaded from:
+
+ https://www.microsoft.com/en-us/download/details.aspx?id=12261
+
+ If you wish to support zlib, openssl, c-ares, ssh2, you will have to download
+ them separately and copy them to the deps directory as shown below:
+
+ somedirectory\
+ |_curl-src
+ | |_winbuild
+ |
+ |_deps
+ |_ lib
+ |_ include
+ |_ bin
+
+ It is also possible to create the deps directory in some other random
+ places and tell the Makefile its location using the WITH_DEVEL option.
+
+Building straight from git
+==========================
+
+ When you check out code git and build it, as opposed from a released source
+ code archive, you need to first run the "buildconf.bat" batch file (present
+ in the source code root directory) to set things up.
+
+Building with Visual C++
+========================
+
+Open a Visual Studio Command prompt or the SDK CMD shell.
+
+ Using the CMD Shell:
+ choose the right environment via the setenv command (see setenv /?)
+ for the full list of options. setenv /xp /x86 /release for example.
+
+ Using the Visual Studio command prompt Shell:
+ Everything is already pre-configured by calling one of the command
+ prompt.
+
+Once you are in the console, go to the winbuild directory in the Curl
+sources:
+ cd curl-src\winbuild
+
+Then you can call nmake /f Makefile.vc with the desired options (see below).
+The builds will be in the top src directory, builds\ directory, in
+a directory named using the options given to the nmake call.
+
+nmake /f Makefile.vc mode=<static or dll> <options>
+
+where <options> is one or many of:
+ VC=<6,7,8,9,10,11,12,14,15> - VC versions
+ WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
+ Defaults to sibbling directory deps: ../deps
+ Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/
+ Uncompress them into the deps folder.
+ WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
+ WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
+ WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
+ WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
+ WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
+ WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
+ ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes
+ ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes
+ ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes
+ Requires Windows Vista or later, or installation from:
+ https://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
+ ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes
+ GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
+ DEBUG=<yes or no> - Debug builds
+ MACHINE=<x86 or x64> - Target architecture (default is x86)
+
+Static linking of Microsoft's C RunTime (CRT):
+==============================================
+If you are using mode=static nmake will create and link to the static build of
+libcurl but *not* the static CRT. If you must you can force nmake to link in
+the static CRT by passing RTLIBCFG=static. Typically you shouldn't use that
+option, and nmake will default to the DLL CRT. RTLIBCFG is rarely used and
+therefore rarely tested. When passing RTLIBCFG for a configuration that was
+already built but not with that option, or if the option was specified
+differently, you must destroy the build directory containing the configuration
+so that nmake can build it from scratch.
+
+Legacy Windows and SSL
+======================
+When you build curl using the build files in this directory the default SSL
+backend will be WinSSL (Windows SSPI, more specifically Schannel), the native
+SSL library that comes with the Windows OS. WinSSL in Windows <= XP is not able
+to connect to servers that no longer support the legacy handshakes and
+algorithms used by those versions. If you will be using curl in one of those
+earlier versions of Windows you should choose another SSL backend like OpenSSL.