                                  _   _ ____  _     
                              ___| | | |  _ \| |    
                             / __| | | | |_) | |    
                            | (__| |_| |  _ <| |___ 
                             \___|\___/|_| \_\_____|

README.win32

  Read the README file first.

  Curl has been compiled, built and run on all sorts of Windows and win32
  systems. While not being the main develop target, a fair share of curl users
  are win32-based.

  Some documentation in this archive will be tricky to read for Windows
  people, as they come in unix-style man pages. You can either download a
  freely available nroff binary for win32 (*pointers appriciated*), convert
  the files into plain-text on your neighbor's unix machine or run over to the
  curl web site and view them as plain HTML.

  The main curl.1 man page is "built-in". Use a command line similar to this
  in order to extract a separate text file:

        curl -M >manual.txt

  Download all the libcurl man pages in HTML format using the link on the
  bottom of this page:

        http://curl.haxx.se/libcurl/c/
