Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/curl/projects/README @ 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 via IDE Project Files | |
| 2 ============================== | |
| 3 | |
| 4 This document describes how to compile, build and install curl and libcurl | |
| 5 from sources using an IDE based development tool such as Visual Studio. | |
| 6 | |
| 7 Project files are currently available for Visual C++ v6.0 to v15.0. The | |
| 8 following directory structure has been used to cater for this: | |
| 9 | |
| 10 somedirectory\ | |
| 11 |_curl | |
| 12 |_projects | |
| 13 |_<platform> | |
| 14 |_<ide> | |
| 15 |_lib | |
| 16 |_src | |
| 17 | |
| 18 This structure allows for side-by-side compilation of curl on the same | |
| 19 machine using different versions of a given compiler (for example VC8, VC9 | |
| 20 and VC10) and allows for your own application or product to be compiled | |
| 21 against those variants of libcurl for example. | |
| 22 | |
| 23 Note: Typically this side-by-side compilation is generally only required | |
| 24 when a library is being compiled against dynamic runtime libraries. | |
| 25 | |
| 26 Dependencies | |
| 27 ============ | |
| 28 | |
| 29 The projects files also support build configurations that require third | |
| 30 party dependencies such as OpenSSL, wolfSSL and SSH2. If you wish to support | |
| 31 these, you will also need to download and compile those libraries as well. | |
| 32 | |
| 33 To support compilation of these libraries using different versions of | |
| 34 compilers, the following directory structure has been used for both the | |
| 35 output of curl and libcurl as well as these dependencies. | |
| 36 | |
| 37 somedirectory\ | |
| 38 |_curl | |
| 39 | |_ build | |
| 40 | |_<architecture> | |
| 41 | |_<ide> | |
| 42 | |_<configuration> | |
| 43 | |_lib | |
| 44 | |_src | |
| 45 | | |
| 46 |_openssl | |
| 47 | |_ build | |
| 48 | |_<architecture> | |
| 49 | |_VC <version> | |
| 50 | |_<configuration> | |
| 51 | | |
| 52 |_libssh2 | |
| 53 |_ build | |
| 54 |_<architecture> | |
| 55 |_VC <version> | |
| 56 |_<configuration> | |
| 57 | |
| 58 As OpenSSL and wolfSSL don't support side-by-side compilation when using | |
| 59 different versions of Visual Studio, build helper batch files have been | |
| 60 provided to assist with this. Please run "build-openssl -help" and/or | |
| 61 "build-wolfssl -help" for usage details. | |
| 62 | |
| 63 Building with Visual C++ | |
| 64 ======================== | |
| 65 | |
| 66 To build with VC++, you will of course have to first install VC++ which is | |
| 67 part of Visual Studio. | |
| 68 | |
| 69 If you are building with VC6 then you will also need the February 2003 | |
| 70 Edition of the Windows Platform SDK which can be downloaded from: | |
| 71 | |
| 72 https://www.microsoft.com/en-us/download/details.aspx?id=12261 | |
| 73 | |
| 74 If you require support for Internationalized Domain Names via Windows IDN | |
| 75 then you will need either: | |
| 76 | |
| 77 * Microsoft Windows SDK Update for Windows Vista: | |
| 78 https://www.microsoft.com/en-us/download/details.aspx?id=23719 | |
| 79 | |
| 80 * Microsoft Visual Studio 2010 or above | |
| 81 | |
| 82 Once you have VC++ installed you should launch the application and open one | |
| 83 of the solution or workspace files. | |
| 84 | |
| 85 Whilst files are provided for both libcurl and the curl command line tool as | |
| 86 well as a configuration that includes both, it is recommend that you use the | |
| 87 all-in-one configuration. | |
| 88 | |
| 89 Running DLL based configurations | |
| 90 ================================ | |
| 91 | |
| 92 If you are a developer and plan to run the curl tool from Visual Studio (eg | |
| 93 you are debugging) with any third-party libraries (such as OpenSSL, wolfSSL | |
| 94 or LibSSH2) then you will need to add the search path of these DLLs to the | |
| 95 configuration's PATH environment. To do that: | |
| 96 | |
| 97 * Open the 'curl-all.sln' or 'curl.sln' solutions | |
| 98 | |
| 99 * Right-click on the 'curl' project and select Properties | |
| 100 | |
| 101 * Navigate to 'Configuration Properties > Debugging > Environment' | |
| 102 | |
| 103 * Add PATH='Path to DLL';C:\Windows\system32;C:\Windows; | |
| 104 C:\Windows\System32\Wbem | |
| 105 | |
| 106 ... where 'Path to DLL` is the configuration specific path. For example the | |
| 107 following configurations in Visual Studio 2010 might be: | |
| 108 | |
| 109 DLL Debug - DLL OpenSSL (Win32): | |
| 110 PATH=..\..\..\..\..\openssl\build\Win32\VC10\DLL Debug;C:\Windows\system32; | |
| 111 C:\Windows;C:\Windows\System32\Wbem | |
| 112 | |
| 113 DLL Debug - DLL OpenSSL (x64): | |
| 114 PATH=..\..\..\..\..\openssl\build\Win64\VC10\DLL Debug;C:\Windows\system32; | |
| 115 C:\Windows;C:\Windows\System32\Wbem | |
| 116 | |
| 117 DLL Debug - DLL wolfSSL (Win32): | |
| 118 PATH=..\..\..\..\..\wolfssl\build\Win32\VC10\DLL Debug;C:\Windows\system32; | |
| 119 C:\Windows;C:\Windows\System32\Wbem | |
| 120 | |
| 121 DLL Debug - DLL wolfSSL (x64): | |
| 122 PATH=..\..\..\..\..\wolfssl\build\Win64\VC10\DLL Debug;C:\Windows\system32; | |
| 123 C:\Windows;C:\Windows\System32\Wbem | |
| 124 | |
| 125 If you are using a configuration that uses multiple third-party library DLLs | |
| 126 (such as DLL Debug - DLL OpenSSL - DLL LibSSH2) then 'Path to DLL' will need | |
| 127 to contain the path to both of these. | |
| 128 | |
| 129 Notes | |
| 130 ===== | |
| 131 | |
| 132 The following keywords have been used in the directory hierarchy: | |
| 133 | |
| 134 <platform> - The platform (For example: Windows) | |
| 135 <ide> - The IDE (For example: VC6, VC10, BCC5) | |
| 136 <architecture> - The platform architecture (For example: Win32, Win64) | |
| 137 <configuration> - The target configuration (For example: DLL Debug, | |
| 138 LIB Release - LIB OpenSSL) | |
| 139 | |
| 140 If you are using the source code from the git repository, rather than a | |
| 141 release archive or nightly build, you will need to generate the project | |
| 142 files. Please run "generate -help" for usage details. | |
| 143 | |
| 144 Should you wish to help out with some of the items on the TODO list, or | |
| 145 find bugs in the project files that need correcting, and would like to | |
| 146 submit updated files back then please note that, whilst the solution files | |
| 147 can be edited directly, the templates for the project files (which are | |
| 148 stored in the git repositoty) will need to be modified rather than the | |
| 149 generated project files that Visual Studio uses. | |
| 150 | |
| 151 Legacy Windows and SSL | |
| 152 ====================== | |
| 153 | |
| 154 Some of the project configurations allow the use of Schannel, the native | |
| 155 SSL library in Windows which forms part of Windows SSPI. However, Schannel | |
| 156 in Windows <= XP is unable to connect to servers that no longer support the | |
| 157 legacy handshakes and algorithms used by those versions. If you will be | |
| 158 using curl in one of those earlier versions of Windows you should choose | |
| 159 another SSL backend such as OpenSSL. |
