mirror of https://github.com/moparisthebest/curl
re-arranged the win32 section and added a pointer to the INSTALL.devcpp
document
This commit is contained in:
parent
80f481a5f7
commit
b259c9c535
265
docs/INSTALL
265
docs/INSTALL
|
@ -132,172 +132,151 @@ UNIX
|
||||||
Win32
|
Win32
|
||||||
=====
|
=====
|
||||||
|
|
||||||
Without SSL:
|
MingW32
|
||||||
|
-------
|
||||||
|
|
||||||
MingW32 (GCC-2.95) style
|
Run the 'mingw32.bat' file to get the proper environment variables set,
|
||||||
------------------------
|
then run 'make mingw32' in the root dir. Use 'make mingw32-ssl' to build
|
||||||
Run the 'mingw32.bat' file to get the proper environment variables
|
curl SSL enabled.
|
||||||
set, then run 'make mingw32' in the root dir.
|
|
||||||
|
|
||||||
If you have any problems linking libraries or finding header files, be
|
If you have any problems linking libraries or finding header files, be sure
|
||||||
sure to verify that the provided "Makefile.m32" files use the proper
|
to verify that the provided "Makefile.m32" files use the proper paths, and
|
||||||
paths, and adjust as necessary.
|
adjust as necessary.
|
||||||
|
|
||||||
Cygwin style
|
Cygwin
|
||||||
------------
|
------
|
||||||
Almost identical to the unix installation. Run the configure script in
|
|
||||||
the curl root with 'sh configure'. Make sure you have the sh
|
|
||||||
executable in /bin/ or you'll see the configure fail towards the end.
|
|
||||||
|
|
||||||
Run 'make'
|
Almost identical to the unix installation. Run the configure script in the
|
||||||
|
curl root with 'sh configure'. Make sure you have the sh executable in
|
||||||
|
/bin/ or you'll see the configure fail towards the end.
|
||||||
|
|
||||||
Microsoft command line style
|
Run 'make'
|
||||||
----------------------------
|
|
||||||
Run the 'vcvars32.bat' file to get the proper environment variables
|
|
||||||
set, then run 'nmake vc' in the root dir.
|
|
||||||
|
|
||||||
The vcvars32.bat file is part of the Microsoft development
|
Dev-Cpp
|
||||||
environment.
|
-------
|
||||||
|
|
||||||
IDE-style
|
See the separate INSTALL.devcpp file for details.
|
||||||
-------------------------
|
|
||||||
If you use VC++, Borland or similar compilers. Include all lib source
|
|
||||||
files in a static lib "project" (all .c and .h files that is).
|
|
||||||
(you should name it libcurl or similar)
|
|
||||||
|
|
||||||
Make the sources in the src/ drawer be a "win32 console application"
|
MSVC from command line
|
||||||
project. Name it curl.
|
----------------------
|
||||||
|
|
||||||
For VC++ 6, there's an included Makefile.vc6 that should be possible
|
Run the 'vcvars32.bat' file to get a proper environment. The
|
||||||
to use out-of-the-box.
|
vcvars32.bat file is part of the Microsoft development environment and
|
||||||
|
you may find it in 'C:\Program Files\Microsoft Visual Studio\vc98\bin'
|
||||||
|
provided that you installed Visual C/C++ 6 in the default directory.
|
||||||
|
|
||||||
|
Then run 'nmake vc' in curl's root directory.
|
||||||
|
|
||||||
|
If you want to compile with zlib support, you will need to build
|
||||||
|
zlib (http://www.gzip.org/zlib/) as well. Please read the zlib
|
||||||
|
documentation on how to compile zlib. Define the ZLIB_PATH environment
|
||||||
|
variable to the location of zlib.h and zlib.lib, for example:
|
||||||
|
|
||||||
|
set ZLIB_PATH=c:\zlib-1.2.1
|
||||||
|
|
||||||
|
Then run 'nmake vc-zlib' in curl's root directory.
|
||||||
|
|
||||||
|
If you want to compile with SSL support you need the OpenSSL package.
|
||||||
|
Please read the OpenSSL documentation on how to compile and install
|
||||||
|
the OpenSSL libraries. The build process of OpenSSL generates the
|
||||||
|
libeay32.dll and ssleay32.dll files in the out32dll subdirectory in
|
||||||
|
the OpenSSL home directory. OpenSSL static libraries (libeay32.lib,
|
||||||
|
ssleay32.lib, RSAglue.lib) are created in the out32 subdirectory.
|
||||||
|
|
||||||
|
Before running nmake define the OPENSSL_PATH environment variable with
|
||||||
|
the root/base directory of OpenSSL, for example:
|
||||||
|
|
||||||
|
set OPENSSL_PATH=c:\openssl-0.9.7d
|
||||||
|
|
||||||
|
Then run 'nmake vc-ssl' or 'nmake vc-ssl-dll' in curl's root
|
||||||
|
directory. 'nmake vc-ssl' will create a libcurl static and dynamic
|
||||||
|
libraries in the lib subdirectory, as well as a statically linked
|
||||||
|
version of curl.exe in the src subdirectory. This statically linked
|
||||||
|
version is a standalone executable not requiring any DLL at
|
||||||
|
runtime. This make method requires that you have the static OpenSSL
|
||||||
|
libraries available in OpenSSL's out32 subdirectory.
|
||||||
|
'nmake vc-ssl-dll' creates the libcurl dynamic library and
|
||||||
|
links curl.exe against libcurl and OpenSSL dynamically.
|
||||||
|
This executable requires libcurl.dll and the OpenSSL DLLs
|
||||||
|
at runtime.
|
||||||
|
Run 'nmake vc-ssl-zlib' to build with both ssl and zlib support.
|
||||||
|
|
||||||
|
Borland C++ compiler
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
compile openssl
|
||||||
|
|
||||||
|
Make sure you include the paths to curl/include and openssl/inc32 in
|
||||||
|
your bcc32.cnf file
|
||||||
|
|
||||||
|
eg : -I"c:\Bcc55\include;c:\path_curl\include;c:\path_openssl\inc32"
|
||||||
|
|
||||||
|
Check to make sure that all of the sources listed in lib/Makefile.b32
|
||||||
|
are present in the /path_to_curl/lib directory. (Check the src
|
||||||
|
directory for missing ones.)
|
||||||
|
|
||||||
|
Make sure the environment variable "BCCDIR" is set to the install
|
||||||
|
location for the compiler eg : c:\Borland\BCC55
|
||||||
|
|
||||||
|
command line:
|
||||||
|
make -f /path_to_curl/lib/Makefile-ssl.b32
|
||||||
|
|
||||||
|
compile simplessl.c with appropriate links
|
||||||
|
|
||||||
|
c:\curl\docs\examples\> bcc32 -L c:\path_to_curl\lib\libcurl.lib
|
||||||
|
-L c:\borland\bcc55\lib\psdk\ws2_32.lib
|
||||||
|
-L c:\openssl\out32\libeay32.lib
|
||||||
|
-L c:\openssl\out32\ssleay32.lib
|
||||||
|
simplessl.c
|
||||||
|
|
||||||
|
|
||||||
With SSL:
|
MSVC IDE
|
||||||
|
--------
|
||||||
|
|
||||||
MingW32 (GCC-2.95) style
|
If you use VC++, Borland or similar compilers. Include all lib source
|
||||||
------------------------
|
files in a static lib "project" (all .c and .h files that is).
|
||||||
Run the 'mingw32.bat' file to get the proper environment variables
|
(you should name it libcurl or similar)
|
||||||
set, then run 'make mingw32-ssl' in the root dir.
|
|
||||||
|
|
||||||
If you have any problems linking libraries or finding header files, be
|
Make the sources in the src/ drawer be a "win32 console application"
|
||||||
sure to look at the provided "Makefile.m32" files for the proper
|
project. Name it curl.
|
||||||
paths, and adjust as necessary.
|
|
||||||
|
|
||||||
Cygwin style
|
For VC++ 6, there's an included Makefile.vc6 that should be possible
|
||||||
------------
|
to use out-of-the-box.
|
||||||
Haven't done, nor got any reports on how to do. It should although be
|
|
||||||
identical to the unix setup for the same purpose. See above.
|
|
||||||
|
|
||||||
Microsoft command line style
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
Run the 'vcvars32.bat' file to get a proper environment. The
|
|
||||||
vcvars32.bat file is part of the Microsoft development environment and
|
|
||||||
you may find it in 'C:\Program Files\Microsoft Visual Studio\vc98\bin'
|
|
||||||
provided that you installed Visual C/C++ 6 in the default directory.
|
|
||||||
|
|
||||||
Then run 'nmake vc' in curl's root directory.
|
|
||||||
|
|
||||||
If you want to compile with zlib support, you will need to build
|
|
||||||
zlib (http://www.gzip.org/zlib/) as well. Please read the zlib
|
|
||||||
documentation on how to compile zlib. Define the ZLIB_PATH environment
|
|
||||||
variable to the location of zlib.h and zlib.lib, for example:
|
|
||||||
|
|
||||||
set ZLIB_PATH=c:\zlib-1.2.1
|
|
||||||
|
|
||||||
Then run 'nmake vc-zlib' in curl's root directory.
|
|
||||||
|
|
||||||
If you want to compile with SSL support you need the OpenSSL package.
|
|
||||||
Please read the OpenSSL documentation on how to compile and install
|
|
||||||
the OpenSSL libraries. The build process of OpenSSL generates the
|
|
||||||
libeay32.dll and ssleay32.dll files in the out32dll subdirectory in
|
|
||||||
the OpenSSL home directory. OpenSSL static libraries (libeay32.lib,
|
|
||||||
ssleay32.lib, RSAglue.lib) are created in the out32 subdirectory.
|
|
||||||
|
|
||||||
Before running nmake define the OPENSSL_PATH environment variable with
|
|
||||||
the root/base directory of OpenSSL, for example:
|
|
||||||
|
|
||||||
set OPENSSL_PATH=c:\openssl-0.9.7d
|
|
||||||
|
|
||||||
Then run 'nmake vc-ssl' or 'nmake vc-ssl-dll' in curl's root
|
|
||||||
directory. 'nmake vc-ssl' will create a libcurl static and dynamic
|
|
||||||
libraries in the lib subdirectory, as well as a statically linked
|
|
||||||
version of curl.exe in the src subdirectory. This statically linked
|
|
||||||
version is a standalone executable not requiring any DLL at
|
|
||||||
runtime. This make method requires that you have the static OpenSSL
|
|
||||||
libraries available in OpenSSL's out32 subdirectory.
|
|
||||||
'nmake vc-ssl-dll' creates the libcurl dynamic library and
|
|
||||||
links curl.exe against libcurl and OpenSSL dynamically.
|
|
||||||
This executable requires libcurl.dll and the OpenSSL DLLs
|
|
||||||
at runtime.
|
|
||||||
Run 'nmake vc-ssl-zlib' to build with both ssl and zlib support.
|
|
||||||
|
|
||||||
Microsoft / Borland style
|
|
||||||
-------------------------
|
|
||||||
If you have OpenSSL, and want curl to take advantage of it, edit your
|
|
||||||
project properties to use the SSL include path, link with the SSL libs
|
|
||||||
and define the USE_SSLEAY symbol.
|
|
||||||
|
|
||||||
Using Borland C++ compiler version 5.5.1 (available as free download
|
|
||||||
from Borland's site)
|
|
||||||
---------------------------------------------------------------------
|
|
||||||
|
|
||||||
compile openssl
|
|
||||||
|
|
||||||
Make sure you include the paths to curl/include and openssl/inc32 in
|
|
||||||
your bcc32.cnf file
|
|
||||||
|
|
||||||
|
|
||||||
eg : -I"c:\Bcc55\include;c:\path_curl\include;c:\path_openssl\inc32"
|
Disabling Specific Protocols in Win32 builds
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
Check to make sure that all of the sources listed in lib/Makefile.b32
|
The configure utility, unfortunately, is not available for the Windows
|
||||||
are present in the /path_to_curl/lib directory. (Check the src
|
environment, therefore, you cannot use the various disable-protocol
|
||||||
directory for missing ones.)
|
options of the configure utility on this platform.
|
||||||
|
|
||||||
Make sure the environment variable "BCCDIR" is set to the install
|
However, you can use the following defines to disable specific
|
||||||
location for the compiler eg : c:\Borland\BCC55
|
protocols:
|
||||||
|
|
||||||
command line:
|
HTTP_ONLY disables all protocols except HTTP
|
||||||
make -f /path_to_curl/lib/Makefile-ssl.b32
|
CURL_DISABLE_FTP disables FTP
|
||||||
|
CURL_DISABLE_LDAP disables LDAP
|
||||||
|
CURL_DISABLE_TELNET disables TELNET
|
||||||
|
CURL_DISABLE_DICT disables DICT
|
||||||
|
CURL_DISABLE_FILE disables FILE
|
||||||
|
CURL_DISABLE_GOPHER disables GOPHER
|
||||||
|
|
||||||
compile simplessl.c with appropriate links
|
If you want to set any of these defines you have the following
|
||||||
|
possibilities:
|
||||||
|
|
||||||
c:\curl\docs\examples\> bcc32 -L c:\path_to_curl\lib\libcurl.lib
|
- Modify lib/setup.h
|
||||||
-L c:\borland\bcc55\lib\psdk\ws2_32.lib
|
- Modify lib/Makefile.vc6
|
||||||
-L c:\openssl\out32\libeay32.lib
|
- Add defines to Project/Settings/C/C++/General/Preprocessor Definitions
|
||||||
-L c:\openssl\out32\ssleay32.lib
|
in the curllib.dsw/curllib.dsp Visual C++ 6 IDE project.
|
||||||
simplessl.c
|
|
||||||
|
|
||||||
Disabling Specific Protocols:
|
|
||||||
|
|
||||||
The configure utility, unfortunately, is not available for the Windows
|
|
||||||
environment, therefore, you cannot use the various disable-protocol
|
|
||||||
options of the configure utility on this platform.
|
|
||||||
|
|
||||||
However, you can use the following defines to disable specific
|
|
||||||
protocols:
|
|
||||||
|
|
||||||
HTTP_ONLY disables all protocols except HTTP
|
|
||||||
CURL_DISABLE_FTP disables FTP
|
|
||||||
CURL_DISABLE_LDAP disables LDAP
|
|
||||||
CURL_DISABLE_TELNET disables TELNET
|
|
||||||
CURL_DISABLE_DICT disables DICT
|
|
||||||
CURL_DISABLE_FILE disables FILE
|
|
||||||
CURL_DISABLE_GOPHER disables GOPHER
|
|
||||||
|
|
||||||
If you want to set any of these defines you have the following
|
|
||||||
possibilities:
|
|
||||||
|
|
||||||
- Modify lib/setup.h
|
|
||||||
- Modify lib/Makefile.vc6
|
|
||||||
- Add defines to Project/Settings/C/C++/General/Preprocessor Definitions
|
|
||||||
in the curllib.dsw/curllib.dsp Visual C++ 6 IDE project.
|
|
||||||
|
|
||||||
|
|
||||||
Important (with SSL or not):
|
Important static libcurl usage note
|
||||||
When building an application that uses the static libcurl library, you
|
-----------------------------------
|
||||||
must add '-DCURL_STATICLIB' to your CFLAGS. Otherwise the linker will
|
|
||||||
look for dynamic import symbols.
|
When building an application that uses the static libcurl library, you must
|
||||||
|
add '-DCURL_STATICLIB' to your CFLAGS. Otherwise the linker will look for
|
||||||
|
dynamic import symbols.
|
||||||
|
|
||||||
|
|
||||||
IBM OS/2
|
IBM OS/2
|
||||||
|
|
Loading…
Reference in New Issue