# Usage
#
-!MESSAGE Usage: nmake /f Makefile.vc mode=<static or dll> <options>
-!MESSAGE where <options> is one or many of:
-!MESSAGE VC=<6,7,8,9,10,11,12,14,15> - VC versions
-!MESSAGE WITH_DEVEL=<path> - Paths for the development files (SSL, zlib, etc.)
-!MESSAGE Defaults to curl's sibling directory deps: ../deps
-!MESSAGE Libraries can be fetched at https://windows.php.net/downloads/php-sdk/deps/
-!MESSAGE Uncompress them into the deps folder.
-!MESSAGE WITH_PREFIX=<path> - Installation directory path
-!MESSAGE Defaults to a configuration dependent (SSL, zlib, etc.)
-!MESSAGE directory inside curl's subdirectory builds: ./builds
-!MESSAGE Use backslashes as path separator
-!MESSAGE WITH_SSL=<dll or static> - Enable OpenSSL support, DLL or static
-!MESSAGE WITH_NGHTTP2=<dll or static> - Enable HTTP/2 support, DLL or static
-!MESSAGE WITH_CARES=<dll or static> - Enable c-ares support, DLL or static
-!MESSAGE WITH_ZLIB=<dll or static> - Enable zlib support, DLL or static
-!MESSAGE WITH_SSH2=<dll or static> - Enable libSSH2 support, DLL or static
-!MESSAGE WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
-!MESSAGE ENABLE_IDN=<yes or no> - Enable use of Windows IDN APIs, defaults to yes
-!MESSAGE Requires Windows Vista or later
-!MESSAGE ENABLE_IPV6=<yes or no> - Enable IPv6, defaults to yes
-!MESSAGE ENABLE_SSPI=<yes or no> - Enable SSPI support, defaults to yes
-!MESSAGE ENABLE_SCHANNEL=<yes or no> - Enable native Windows SSL support, defaults to yes
-!MESSAGE ENABLE_OPENSSL_AUTO_LOAD_CONFIG=<yes or no>
-!MESSAGE - Whether the OpenSSL configuration will be loaded automatically, defaults to yes
-!MESSAGE ENABLE_UNICODE=<yes or no> - Enable UNICODE support, defaults to no
-!MESSAGE GEN_PDB=<yes or no> - Generate Program Database (debug symbols for release build)
-!MESSAGE DEBUG=<yes or no> - Debug builds
-!MESSAGE MACHINE=<x86 or x64> - Target architecture (default x64 on AMD64, x86 on others)
-!MESSAGE CARES_PATH=<path to cares> - Custom path for c-ares
-!MESSAGE MBEDTLS_PATH=<path to mbedTLS> - Custom path for mbedTLS
-!MESSAGE NGHTTP2_PATH=<path to HTTP/2> - Custom path for nghttp2
-!MESSAGE SSH2_PATH=<path to libSSH2> - Custom path for libSSH2
-!MESSAGE SSL_PATH=<path to OpenSSL> - Custom path for OpenSSL
-!MESSAGE ZLIB_PATH=<path to zlib> - Custom path for zlib
+!MESSAGE See winbuild/README.md for usage
!ERROR please choose a valid mode
!ENDIF
\r
###########################################################################\r
#\r
-# Makefile for building libcurl with MSVC 6 through to 15\r
+# Makefile for building libcurl with MSVC\r
#\r
-# Usage: see usage message below\r
-# Should be invoked from winbuild directory\r
-# Edit the paths and desired library name\r
-# SSL path is only required if you intend compiling\r
-# with SSL.\r
-#\r
-# This make file leaves the result either a .lib or .dll file\r
-# in the \lib directory. It should be called from the \lib\r
-# directory.\r
-#\r
-# An option would have been to allow the source directory to\r
-# be specified, but I saw no requirement.\r
-#\r
-# Another option would have been to leave the .lib and .dll\r
-# files in the "cfg" directory, but then the make file\r
-# in \src would need to be changed.\r
+# Usage: see README.md\r
#\r
##############################################################\r
\r
LNKDLL = link.exe /DLL\r
# Use lib.exe instead of link.exe as link.exe /lib has the following bad habits:\r
# - optimizing options like /opt:ref raises warnings (at least in Visual Studio 2015)\r
-# - all (including Windows) dependencies are aggregated (as static parts) \r
+# - all (including Windows) dependencies are aggregated (as static parts)\r
# - link.exe /lib is not documented (anymore) at MSDN\r
# Instead of id: just create an archive, that contains all objects\r
LNKLIB = lib.exe\r
ZLIB_LIB_DIR = $(DEVEL_LIB)\r
!ENDIF\r
\r
-# Depending on how zlib is built the libraries have different names, we \r
-# try to handle them all. \r
+# Depending on how zlib is built the libraries have different names, we\r
+# try to handle them all.\r
!IF "$(WITH_ZLIB)"=="dll"\r
!IF EXISTS("$(ZLIB_LIB_DIR)\zlibwapi.lib")\r
ZLIB_LIBS = zlibwapi.lib\r
$(CURL_DIROBJ)\curl_multibyte.obj \\r
$(CURL_DIROBJ)\version_win32.obj \\r
$(CURL_DIROBJ)\dynbuf.obj\r
- \r
+\r
$(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS)\r
$(CURL_LINK) $(CURL_LFLAGS) $(CURL_LIBCURL_LIBNAME) $(WIN_LIBS) $(CURL_FROM_LIBCURL) $(EXE_OBJS)\r
$(MANIFESTTOOL)\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
+ - `ENABLE_SCHANNEL=<yes/no>` - Enable native Windows SSL support, defaults\r
+ to yes if SSPI and no other SSL library\r
+ - `ENABLE_OPENSSL_AUTO_LOAD_CONFIG=<yes/no>`\r
+ - Enable loading OpenSSL configuration\r
+ automatically, defaults to yes\r
+ - `ENABLE_UNICODE=<yes/no>` - Enable UNICODE support, defaults to no\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