BUILD.WINDOWS.txt   [plain text]


Building with Visual C++, prerequises
=====================================
   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 like
   2008 (vc9) 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 Platform SDK can be fetched here, freely:

    http://msdn.microsoft.com/en-us/windows/bb980924

   If you wish to support zlib, openssl, 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 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 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>              - VC versions
  WITH_DEVEL=<path>            - Paths for the development files (SSL, zlib, etc.)
                                 Default to sibbling directory deps: ../deps
                                 Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
                                 Uncompress them into the deps folder.
  WITH_SSL=<dll or static>     - Enable OpenSSL 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
  USE_SSSPI=<yes or no>        - Enable SSPI support, default to yes
  USE_IPV6=<yes or no>         - Enable IPV6, default to yes
  DEBUG=<yes or no>            - Debug builds
  USE_IDN=<yes or no>          - Wheter or not to use IDN Windows APIs. Requires Windows Vista or later.
                                 or to install http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815
  GEN_PDB=<yes or no>          - Generate Program Database (debug symbols release build)