Annotation of embedaddon/curl/projects/README, revision 1.1.1.1
1.1 misho 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.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>