]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
winbuild: convert the instruction text to README.md
authorDaniel Stenberg <daniel@haxx.se>
Wed, 26 Aug 2020 10:59:05 +0000 (12:59 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 26 Aug 2020 13:49:21 +0000 (15:49 +0200)
Closes #5861

Makefile.am
scripts/copyright.pl
winbuild/BUILD.WINDOWS.txt [deleted file]
winbuild/README.md [new file with mode: 0644]

index f7e080284651628610487a7166b4e51fda7bb296..1a6d7f997f56893767c89e2292047b3ae584a65f 100644 (file)
@@ -167,7 +167,7 @@ VC_DIST = projects/README                           \
  projects/wolfssl_options.h                         \
  projects/wolfssl_override.props
 
-WINBUILD_DIST = winbuild/BUILD.WINDOWS.txt winbuild/gen_resp_file.bat \
+WINBUILD_DIST = winbuild/README.md winbuild/gen_resp_file.bat \
  winbuild/MakefileBuild.vc winbuild/Makefile.vc
 
 PLAN9_DIST = plan9/include/mkfile \
index 5649cad4ff58b94e7d1f034ee615e41f0184d6a6..32680b0ea7352683c0241cde0bebe4b764fab7a3 100755 (executable)
@@ -44,7 +44,6 @@ my @skiplist=(
     '^projects/Windows/.*.vcxproj.filters$', # generated MSVC file
     '^m4/ax_compile_check_sizeof.m4$', # imported, leave be
     '^.mailmap', # git control file
-    '^winbuild/BUILD.WINDOWS.txt$', # instructions
     '\/readme',
     '^.github/', # github instruction files
     '^.dcignore', # deepcode.ai instruction file
diff --git a/winbuild/BUILD.WINDOWS.txt b/winbuild/BUILD.WINDOWS.txt
deleted file mode 100644 (file)
index 5b63bdc..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-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://developer.microsoft.com/en-us/windows/downloads/sdk-archive\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 straight from git\r
-==========================\r
-\r
- When you check out code git and build it, as opposed from a released source\r
- code archive, you need to first run the "buildconf.bat" batch file (present\r
- in the source code root directory) to set things up.\r
-\r
-Building with Visual C++\r
-========================\r
-\r
-Open a Visual Studio Command prompt:\r
-\r
-     Using the 'Developer Command Prompt for VS <version>' menu entry:\r
-       where version is the Visual Studio version. The developer prompt at default\r
-       uses the x86 mode. It is required to call Vcvarsall.bat to setup the prompt\r
-       for the machine type you want, using Vcvarsall.bat.\r
-       This type of command prompt may not exist in all Visual Studio versions.\r
-\r
-       For more information, check:\r
-         https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs\r
-         https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line\r
-\r
-     Using the 'VS <version> <platform> <type> Command Prompt' menu entry:\r
-       where version is the Visual Studio version, platform is e.g. x64\r
-       and type Native of Cross platform build.  This type of command prompt\r
-       may not exist in all Visual Studio versions.\r
-\r
-       See also:\r
-         https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx\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,15>    - 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 https://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_NGHTTP2=<dll or static>   - Enable HTTP/2 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
-  WITH_PREFIX=<dir>              - Where to install the build\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\r
-  ENABLE_SCHANNEL=<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
-  CARES_PATH=<path to cares>     - Custom path for c-ares\r
-  MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS\r
-  NGHTTP2_PATH=<path to HTTP/2>  - Custom path for nghttp2\r
-  SSH2_PATH=<path to libSSH2>    - Custom path for libSSH2\r
-  SSL_PATH=<path to OpenSSL>     - Custom path for OpenSSL\r
-  ZLIB_PATH=<path to zlib>       - Custom path for zlib\r
-\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
-Building your own application with a static libcurl\r
-===================================================\r
-When building an application that uses the static libcurl library on Windows,\r
-you must define CURL_STATICLIB. Otherwise the linker will look for dynamic\r
-import symbols.\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 Schannel (Windows SSPI), the native SSL library that comes\r
-with the Windows OS. Schannel in Windows <= XP is not able to connect to\r
-servers that no longer support the legacy handshakes and algorithms used by\r
-those versions. If you will be using curl in one of those earlier versions of\r
-Windows you should choose another SSL backend like OpenSSL.\r
diff --git a/winbuild/README.md b/winbuild/README.md
new file mode 100644 (file)
index 0000000..a573038
--- /dev/null
@@ -0,0 +1,127 @@
+# Building curl with Visual C++\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 of\r
+ course have to first install VC++. The minimum required version of VC is 6\r
+ (part of Visual Studio 6). However using a more recent version is strongly\r
+ recommended.\r
+\r
+ VC++ is also part of the Windows Platform SDK. You do not have to install the\r
+ 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 [Windows SDK and\r
+ emulator\r
+ archive](https://developer.microsoft.com/en-us/windows/downloads/sdk-archive)\r
+\r
+## Prerequisites\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 places\r
+ and tell the Makefile its location using the WITH_DEVEL option.\r
+\r
+## Building straight from git\r
+\r
+ When you check out code git and build it, as opposed from a released source\r
+ code archive, you need to first run the `buildconf.bat` batch file (present\r
+ in the source code root directory) to set things up.\r
+\r
+## Open a command prompt\r
+\r
+Open a Visual Studio Command prompt:\r
+\r
+ Using the **'Developer Command Prompt for VS [version]'** menu entry: where\r
+ [version} is the Visual Studio version. The developer prompt at default uses\r
+ the x86 mode. It is required to call `Vcvarsall.bat` to setup the prompt for\r
+ the machine type you want. This type of command prompt may not exist in all\r
+ Visual Studio versions.\r
+\r
+ See also: [Developer Command Prompt for Visual\r
+ Studio](https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs)\r
+ and [How to: Enable a 64-Bit, x64 hosted MSVC toolset on the command\r
+ line](https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line)\r
+\r
+ Using the **'VS [version] [platform] [type] Command Prompt'** menu entry:\r
+ where [version] is the Visual Studio version, [platform] is e.g. x64 and\r
+ [type] Native of Cross platform build.  This type of command prompt may not\r
+ exist in all Visual Studio versions.\r
+\r
+ See also: [Set the Path and Environment Variables for Command-Line Builds](https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx)\r
+\r
+## Build in the console\r
+\r
+ Once you are in the console, go to the winbuild directory in the Curl\r
+ sources:\r
+\r
+    cd curl-src\winbuild\r
+\r
+ Then you can call `nmake /f Makefile.vc` with the desired options (see\r
+ below). 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
+\r
+ - `VC=<6,7,8,9,10,11,12,14,15>` - VC version\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 https://windows.php.net/downloads/php-sdk/deps/\r
+                                   Uncompress them into the deps folder.\r
+ - `WITH_SSL=<dll/static>`       - Enable OpenSSL support, DLL or static\r
+ - `WITH_NGHTTP2=<dll/static>`   - Enable HTTP/2 support, DLL or static\r
+ - `WITH_MBEDTLS=<dll/static>`   - Enable mbedTLS support, DLL or static\r
+ - `WITH_CARES=<dll/static>`     - Enable c-ares support, DLL or static\r
+ - `WITH_ZLIB=<dll/static>`      - Enable zlib support, DLL or static\r
+ - `WITH_SSH2=<dll/static>`      - Enable libSSH2 support, DLL or static\r
+ - `WITH_PREFIX=<dir>`           - Where to install the build\r
+ - `ENABLE_SSPI=<yes/no>`        - Enable SSPI support, defaults to yes\r
+ - `ENABLE_IPV6=<yes/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\r
+ - `ENABLE_SCHANNEL=<yes/no>`    - Enable native Windows SSL support, defaults to yes\r
+ - `GEN_PDB=<yes/no>`            - Generate Program Database (debug symbols for release build)\r
+ - `DEBUG=<yes/no>`              - Debug builds\r
+ - `MACHINE=<x86/x64>`           - Target architecture (default is x86)\r
+ - `CARES_PATH=<path>`           - Custom path for c-ares\r
+ - `MBEDTLS_PATH=<path>`         - Custom path for mbedTLS\r
+ - `NGHTTP2_PATH=<path>`         - Custom path for nghttp2\r
+ - `SSH2_PATH=<path>`            - Custom path for libSSH2\r
+ - `SSL_PATH=<path>`             - Custom path for OpenSSL\r
+ - `ZLIB_PATH=<path>`            - Custom path for zlib\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\r
+ of libcurl but *not* the static CRT. If you must you can force nmake to link\r
+ in the static CRT by passing RTLIBCFG=static. Typically you shouldn't use\r
+ that option, and nmake will default to the DLL CRT. RTLIBCFG is rarely used\r
+ and therefore rarely tested. When passing RTLIBCFG for a configuration that\r
+ was already built but not with that option, or if the option was specified\r
+ differently, you must destroy the build directory containing the\r
+ configuration so that nmake can build it from scratch.\r
+\r
+## Building your own application with a static libcurl\r
+\r
+ When building an application that uses the static libcurl library on Windows,\r
+ you must define CURL_STATICLIB. Otherwise the linker will look for dynamic\r
+ import symbols.\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 Schannel (Windows SSPI), the native SSL library that comes\r
+ with the Windows OS. Schannel in Windows <= XP is not able to connect to\r
+ servers that no longer support the legacy handshakes and algorithms used by\r
+ those versions. If you will be using curl in one of those earlier versions of\r
+ Windows you should choose another SSL backend like OpenSSL.\r