Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/winbuild/BUILD.WINDOWS.txt @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 Building with Visual C++, prerequisites | |
| 2 ======================================= | |
| 3 | |
| 4 This document describes how to compile, build and install curl and libcurl | |
| 5 from sources using the Visual C++ build tool. To build with VC++, you will | |
| 6 of course have to first install VC++. The minimum required version of | |
| 7 VC is 6 (part of Visual Studio 6). However using a more recent version is | |
| 8 strongly recommended. | |
| 9 | |
| 10 VC++ is also part of the Windows Platform SDK. You do not have to install | |
| 11 the full Visual Studio or Visual C++ if all you want is to build curl. | |
| 12 | |
| 13 The latest Platform SDK can be downloaded freely from: | |
| 14 | |
| 15 https://developer.microsoft.com/en-us/windows/downloads/sdk-archive | |
| 16 | |
| 17 If you are building with VC6 then you will also need the February 2003 | |
| 18 Edition of the Platform SDK which can be downloaded from: | |
| 19 | |
| 20 https://www.microsoft.com/en-us/download/details.aspx?id=12261 | |
| 21 | |
| 22 If you wish to support zlib, openssl, c-ares, ssh2, you will have to download | |
| 23 them separately and copy them to the deps directory as shown below: | |
| 24 | |
| 25 somedirectory\ | |
| 26 |_curl-src | |
| 27 | |_winbuild | |
| 28 | | |
| 29 |_deps | |
| 30 |_ lib | |
| 31 |_ include | |
| 32 |_ bin | |
| 33 | |
| 34 It is also possible to create the deps directory in some other random | |
| 35 places and tell the Makefile its location using the WITH_DEVEL option. | |
| 36 | |
| 37 Building straight from git | |
| 38 ========================== | |
| 39 | |
| 40 When you check out code git and build it, as opposed from a released source | |
| 41 code archive, you need to first run the "buildconf.bat" batch file (present | |
| 42 in the source code root directory) to set things up. | |
| 43 | |
| 44 Building with Visual C++ | |
| 45 ======================== | |
| 46 | |
| 47 Open a Visual Studio Command prompt: | |
| 48 | |
| 49 Using the 'Developer Command Prompt for VS <version>' menu entry: | |
| 50 where version is the Visual Studio version. The developer prompt at default | |
| 51 uses the x86 mode. It is required to call Vcvarsall.bat to setup the prompt | |
| 52 for the machine type you want, using Vcvarsall.bat. | |
| 53 This type of command prompt may not exist in all Visual Studio versions. | |
| 54 | |
| 55 For more information, check: | |
| 56 https://docs.microsoft.com/en-us/dotnet/framework/tools/developer-command-prompt-for-vs | |
| 57 https://docs.microsoft.com/en-us/cpp/build/how-to-enable-a-64-bit-visual-cpp-toolset-on-the-command-line | |
| 58 | |
| 59 Using the 'VS <version> <platform> <type> Command Prompt' menu entry: | |
| 60 where version is the Visual Studio version, platform is e.g. x64 | |
| 61 and type Native of Cross platform build. This type of command prompt | |
| 62 may not exist in all Visual Studio versions. | |
| 63 | |
| 64 See also: | |
| 65 https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx | |
| 66 | |
| 67 Once you are in the console, go to the winbuild directory in the Curl | |
| 68 sources: | |
| 69 cd curl-src\winbuild | |
| 70 | |
| 71 Then you can call nmake /f Makefile.vc with the desired options (see below). | |
| 72 The builds will be in the top src directory, builds\ directory, in | |
| 73 a directory named using the options given to the nmake call. | |
| 74 | |
| 75 nmake /f Makefile.vc mode=<static or dll> <options> | |
| 76 | |
| 77 where <options> is one or many of: | |
| 78 VC=<6,7,8,9,10,11,12,14,15> - VC versions | |
| 79 WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.) | |
| 80 Defaults to sibbling directory deps: ../deps | |
| 81 Libraries can be fetched at https://windows.php.net/downloads/php-sdk/deps/ | |
| 82 Uncompress them into the deps folder. | |
| 83 WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static | |
| 84 WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static | |
| 85 WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static | |
| 86 WITH_CARES=<dll or static> - Enable c-ares support, DLL or static | |
| 87 WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static | |
| 88 WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static | |
| 89 WITH_PREFIX=<dir> - Where to install the build | |
| 90 ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes | |
| 91 ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes | |
| 92 ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes | |
| 93 Requires Windows Vista or later | |
| 94 ENABLE_WINSSL=<yes or no> - Enable native Windows SSL support, defaults to yes | |
| 95 GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build) | |
| 96 DEBUG=<yes or no> - Debug builds | |
| 97 MACHINE=<x86 or x64> - Target architecture (default is x86) | |
| 98 CARES_PATH=<path to cares> - Custom path for c-ares | |
| 99 MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS | |
| 100 NGHTTP2_PATH=<path to HTTP/2> - Custom path for nghttp2 | |
| 101 SSH2_PATH=<path to libSSH2> - Custom path for libSSH2 | |
| 102 SSL_PATH=<path to OpenSSL> - Custom path for OpenSSL | |
| 103 ZLIB_PATH=<path to zlib> - Custom path for zlib | |
| 104 | |
| 105 | |
| 106 Static linking of Microsoft's C RunTime (CRT): | |
| 107 ============================================== | |
| 108 If you are using mode=static nmake will create and link to the static build of | |
| 109 libcurl but *not* the static CRT. If you must you can force nmake to link in | |
| 110 the static CRT by passing RTLIBCFG=static. Typically you shouldn't use that | |
| 111 option, and nmake will default to the DLL CRT. RTLIBCFG is rarely used and | |
| 112 therefore rarely tested. When passing RTLIBCFG for a configuration that was | |
| 113 already built but not with that option, or if the option was specified | |
| 114 differently, you must destroy the build directory containing the configuration | |
| 115 so that nmake can build it from scratch. | |
| 116 | |
| 117 Legacy Windows and SSL | |
| 118 ====================== | |
| 119 When you build curl using the build files in this directory the default SSL | |
| 120 backend will be WinSSL (Windows SSPI, more specifically Schannel), the native | |
| 121 SSL library that comes with the Windows OS. WinSSL in Windows <= XP is not able | |
| 122 to connect to servers that no longer support the legacy handshakes and | |
| 123 algorithms used by those versions. If you will be using curl in one of those | |
| 124 earlier versions of Windows you should choose another SSL backend like OpenSSL. |
