Imported Upstream version 7.50.2
[platform/upstream/curl.git] / winbuild / Makefile.vc
index 5653232..bd5c8e0 100644 (file)
-!IF "$(MODE)"=="static"\r
-TARGET = $(LIB_NAME_STATIC)\r
-AS_DLL = false\r
-CFGSET=true\r
-!ELSEIF "$(MODE)"=="dll"\r
-TARGET = $(LIB_NAME_DLL)\r
-AS_DLL = true\r
-CFGSET=true\r
-!ELSE\r
-!MESSAGE Invalid mode: $(MODE)\r
-\r
-#######################\r
-# Usage\r
-#\r
-\r
-!MESSAGE Usage: nmake /f Makefile.vc mode=<static or dll> <options>\r
-!MESSAGE where <options> is one or many of:\r
-!MESSAGE   VC=<6,7,8,9,10,11,12,14>     - VC versions\r
-!MESSAGE   WITH_DEVEL=<path>            - Paths for the development files (SSL, zlib, etc.)\r
-!MESSAGE                                  Defaults to sibbling directory deps: ../deps\r
-!MESSAGE                                  Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/\r
-!MESSAGE                                  Uncompress them into the deps folder.\r
-!MESSAGE   WITH_SSL=<dll or static>     - Enable OpenSSL support, DLL or static\r
-!MESSAGE   WITH_CARES=<dll or static>   - Enable c-ares support, DLL or static\r
-!MESSAGE   WITH_ZLIB=<dll or static>    - Enable zlib support, DLL or static\r
-!MESSAGE   WITH_SSH2=<dll or static>    - Enable libSSH2 support, DLL or static\r
-!MESSAGE   ENABLE_IDN=<yes or no>       - Enable use of Windows IDN APIs, defaults to yes\r
-!MESSAGE                                  Requires Windows Vista or later, or installation from:\r
-!MESSAGE                                  http://www.microsoft.com/downloads/details.aspx?FamilyID=AD6158D7-DDBA-416A-9109-07607425A815\r
-!MESSAGE   ENABLE_IPV6=<yes or no>      - Enable IPv6, defaults to yes\r
-!MESSAGE   ENABLE_SSPI=<yes or no>      - Enable SSPI support, defaults to yes\r
-!MESSAGE   ENABLE_WINSSL=<yes or no>    - Enable native Windows SSL support, defaults to yes\r
-!MESSAGE   GEN_PDB=<yes or no>          - Generate Program Database (debug symbols for release build)\r
-!MESSAGE   DEBUG=<yes or no>            - Debug builds\r
-!MESSAGE   MACHINE=<x86 or x64>         - Target architecture (default x64 on AMD64, x86 on others)\r
-!ERROR please choose a valid mode\r
-\r
-!ENDIF\r
-\r
-!INCLUDE "../lib/Makefile.inc"\r
-LIBCURL_OBJS=$(CSOURCES:.c=.obj)\r
-\r
-!INCLUDE "../src/Makefile.inc"\r
-\r
-# tool_hugehelp has a special rule\r
-CURL_OBJS=$(CURL_CFILES:tool_hugehelp.c=)\r
-\r
-CURL_OBJS=$(CURL_OBJS:.c=.obj)\r
-\r
-\r
-# backwards compatible check for USE_SSPI\r
-!IFDEF USE_SSPI\r
-ENABLE_SSPI = $(USE_SSPI)\r
-!ENDIF\r
-\r
-# default options\r
-!IFNDEF MACHINE\r
-!IF "$(PROCESSOR_ARCHITECTURE)"=="AMD64"\r
-MACHINE = x64\r
-!ELSE\r
-MACHINE = x86\r
-!ENDIF\r
-!ENDIF\r
-\r
-!IFNDEF ENABLE_IDN\r
-USE_IDN = true\r
-!ELSEIF "$(ENABLE_IDN)"=="yes"\r
-USE_IDN = true\r
-!ELSEIF "$(ENABLE_IDN)"=="no"\r
-USE_IDN = false\r
-!ENDIF\r
-\r
-!IFNDEF ENABLE_IPV6\r
-USE_IPV6 = true\r
-!ELSEIF "$(ENABLE_IPV6)"=="yes"\r
-USE_IPV6 = true\r
-!ELSEIF "$(ENABLE_IPV6)"=="no"\r
-USE_IPV6 = false\r
-!ENDIF\r
-\r
-!IFNDEF ENABLE_SSPI\r
-USE_SSPI = true\r
-!ELSEIF "$(ENABLE_SSPI)"=="yes"\r
-USE_SSPI = true\r
-!ELSEIF "$(ENABLE_SSPI)"=="no"\r
-USE_SSPI = false\r
-!ENDIF\r
-\r
-!IFNDEF ENABLE_WINSSL\r
-!IFDEF WITH_SSL\r
-USE_WINSSL = false\r
-!ELSE\r
-USE_WINSSL = $(USE_SSPI)\r
-!ENDIF\r
-!ELSEIF "$(ENABLE_WINSSL)"=="yes"\r
-USE_WINSSL = true\r
-!ELSEIF "$(ENABLE_WINSSL)"=="no"\r
-USE_WINSSL = false\r
-!ENDIF\r
-\r
-CONFIG_NAME_LIB = libcurl\r
-\r
-!IF "$(WITH_SSL)"=="dll"\r
-USE_SSL = true\r
-SSL     = dll\r
-!ELSEIF "$(WITH_SSL)"=="static"\r
-USE_SSL = true\r
-SSL     = static\r
-!ENDIF\r
-\r
-!IF "$(WITH_CARES)"=="dll"\r
-USE_CARES = true\r
-CARES     = dll\r
-!ELSEIF "$(WITH_CARES)"=="static"\r
-USE_CARES = true\r
-CARES     = static\r
-!ENDIF\r
-\r
-!IF "$(WITH_ZLIB)"=="dll"\r
-USE_ZLIB = true\r
-ZLIB     = dll\r
-!ELSEIF "$(WITH_ZLIB)"=="static"\r
-USE_ZLIB = true\r
-ZLIB     = static\r
-!ENDIF\r
-\r
-!IF "$(WITH_SSH2)"=="dll"\r
-USE_SSH2 = true\r
-SSH2     = dll\r
-!ELSEIF "$(WITH_SSH2)"=="static"\r
-USE_SSH2 = true\r
-SSH2     = static\r
-!ENDIF\r
-\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-vc$(VC)-$(MACHINE)\r
-\r
-!IF "$(DEBUG)"=="yes"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug\r
-!ELSE\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release\r
-!ENDIF\r
-\r
-!IF "$(AS_DLL)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll\r
-!ELSE\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static\r
-!ENDIF\r
-\r
-!IF "$(USE_SSL)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)\r
-!ENDIF\r
-\r
-!IF "$(USE_CARES)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-cares-$(CARES)\r
-!ENDIF\r
-\r
-!IF "$(USE_ZLIB)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)\r
-!ENDIF\r
-\r
-!IF "$(USE_SSH2)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)\r
-!ENDIF\r
-\r
-!IF "$(USE_IPV6)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6\r
-!ENDIF\r
-\r
-!IF "$(USE_SSPI)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi\r
-!ENDIF\r
-\r
-!IF "$(USE_WINSSL)"=="true"\r
-CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl\r
-!ENDIF\r
-\r
-!MESSAGE configuration name: $(CONFIG_NAME_LIB)\r
-\r
-BUILD_DIR=../builds/$(CONFIG_NAME_LIB)\r
-LIBCURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib\r
-CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl\r
-DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\\r
-\r
-$(MODE):\r
-       @IF NOT EXIST ..\include\curl\curlbuild.h ( \\r
-          CALL ..\buildconf.bat \\r
-       )\r
-       @SET DIROBJ=$(LIBCURL_DIROBJ)\r
-       @SET MACRO_NAME=LIBCURL_OBJS\r
-       @SET OUTFILE=LIBCURL_OBJS.inc\r
-       @gen_resp_file.bat $(LIBCURL_OBJS)\r
-\r
-       @SET DIROBJ=$(CURL_DIROBJ)\r
-       @SET MACRO_NAME=CURL_OBJS\r
-       @SET OUTFILE=CURL_OBJS.inc\r
-       @gen_resp_file.bat $(CURL_OBJS)\r
-\r
-       @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)\r
-       @SET MACHINE=$(MACHINE)\r
-       @SET USE_IDN=$(USE_IDN)\r
-       @SET USE_IPV6=$(USE_IPV6)\r
-       @SET USE_SSPI=$(USE_SSPI)\r
-       @SET USE_WINSSL=$(USE_WINSSL)\r
-       @$(MAKE) /NOLOGO /F MakefileBuild.vc\r
-\r
-copy_from_lib:\r
-       echo copying .c...\r
-       FOR %%i IN ($(CURLX_CFILES:/=\)) DO copy %%i ..\src\\r
+!IF "$(MODE)"=="static"
+TARGET = $(LIB_NAME_STATIC)
+AS_DLL = false
+CFGSET=true
+!ELSEIF "$(MODE)"=="dll"
+TARGET = $(LIB_NAME_DLL)
+AS_DLL = true
+CFGSET=true
+!ELSE
+!MESSAGE Invalid mode: $(MODE)
+
+#######################
+# 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>     - VC versions
+!MESSAGE   WITH_DEVEL=<path>            - Paths for the development files (SSL, zlib, etc.)
+!MESSAGE                                  Defaults to sibbling directory deps: ../deps
+!MESSAGE                                  Libraries can be fetched at http://pecl2.php.net/downloads/php-windows-builds/
+!MESSAGE                                  Uncompress them into the deps folder.
+!MESSAGE   WITH_SSL=<dll or static>     - Enable OpenSSL 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, or installation from:
+!MESSAGE                                  https://www.microsoft.com/en-us/download/details.aspx?id=734
+!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_WINSSL=<yes or no>    - Enable native Windows SSL support, defaults to yes
+!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)
+!ERROR please choose a valid mode
+
+!ENDIF
+
+!INCLUDE "../lib/Makefile.inc"
+LIBCURL_OBJS=$(CSOURCES:.c=.obj)
+
+!INCLUDE "../src/Makefile.inc"
+
+# tool_hugehelp has a special rule
+CURL_OBJS=$(CURL_CFILES:tool_hugehelp.c=)
+
+CURL_OBJS=$(CURL_OBJS:.c=.obj)
+
+
+# backwards compatible check for USE_SSPI
+!IFDEF USE_SSPI
+ENABLE_SSPI = $(USE_SSPI)
+!ENDIF
+
+# default options
+!IFNDEF MACHINE
+!IF "$(PROCESSOR_ARCHITECTURE)"=="AMD64"
+MACHINE = x64
+!ELSE
+MACHINE = x86
+!ENDIF
+!ENDIF
+
+!IFNDEF ENABLE_IDN
+USE_IDN = true
+!ELSEIF "$(ENABLE_IDN)"=="yes"
+USE_IDN = true
+!ELSEIF "$(ENABLE_IDN)"=="no"
+USE_IDN = false
+!ENDIF
+
+!IFNDEF ENABLE_IPV6
+USE_IPV6 = true
+!ELSEIF "$(ENABLE_IPV6)"=="yes"
+USE_IPV6 = true
+!ELSEIF "$(ENABLE_IPV6)"=="no"
+USE_IPV6 = false
+!ENDIF
+
+!IFNDEF ENABLE_SSPI
+USE_SSPI = true
+!ELSEIF "$(ENABLE_SSPI)"=="yes"
+USE_SSPI = true
+!ELSEIF "$(ENABLE_SSPI)"=="no"
+USE_SSPI = false
+!ENDIF
+
+!IFNDEF ENABLE_WINSSL
+!IF DEFINED(WITH_SSL) || DEFINED(WITH_MBEDTLS)
+USE_WINSSL = false
+!ELSE
+USE_WINSSL = $(USE_SSPI)
+!ENDIF
+!ELSEIF "$(ENABLE_WINSSL)"=="yes"
+USE_WINSSL = true
+!ELSEIF "$(ENABLE_WINSSL)"=="no"
+USE_WINSSL = false
+!ENDIF
+
+CONFIG_NAME_LIB = libcurl
+
+!IF "$(WITH_SSL)"=="dll"
+USE_SSL = true
+SSL     = dll
+!ELSEIF "$(WITH_SSL)"=="static"
+USE_SSL = true
+SSL     = static
+!ENDIF
+
+!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static"
+USE_MBEDTLS = true
+MBEDTLS     = $(WITH_MBEDTLS)
+!ENDIF
+
+!IF ( "$(USE_SSL)"=="true" && "$(USE_WINSSL)"=="true" ) \
+ || ( "$(USE_SSL)"=="true" && "$(USE_MBEDTLS)"=="true" ) \
+ || ( "$(USE_MBEDTLS)"=="true" && "$(USE_WINSSL)"=="true" )
+!ERROR SSL, MBEDTLS and WINSSL are mutual exclusive options.
+!ENDIF
+
+!IF "$(WITH_CARES)"=="dll"
+USE_CARES = true
+CARES     = dll
+!ELSEIF "$(WITH_CARES)"=="static"
+USE_CARES = true
+CARES     = static
+!ENDIF
+
+!IF "$(WITH_ZLIB)"=="dll"
+USE_ZLIB = true
+ZLIB     = dll
+!ELSEIF "$(WITH_ZLIB)"=="static"
+USE_ZLIB = true
+ZLIB     = static
+!ENDIF
+
+!IF "$(WITH_SSH2)"=="dll"
+USE_SSH2 = true
+SSH2     = dll
+!ELSEIF "$(WITH_SSH2)"=="static"
+USE_SSH2 = true
+SSH2     = static
+!ENDIF
+
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-vc$(VC)-$(MACHINE)
+
+!IF "$(DEBUG)"=="yes"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-debug
+!ELSE
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-release
+!ENDIF
+
+!IF "$(AS_DLL)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-dll
+!ELSE
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
+!ENDIF
+
+!IF "$(USE_SSL)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
+!ENDIF
+
+!IF "$(USE_MBEDTLS)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-mbedtls-$(MBEDTLS)
+!ENDIF
+
+!IF "$(USE_CARES)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-cares-$(CARES)
+!ENDIF
+
+!IF "$(USE_ZLIB)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-zlib-$(ZLIB)
+!ENDIF
+
+!IF "$(USE_SSH2)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssh2-$(SSH2)
+!ENDIF
+
+!IF "$(USE_IPV6)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ipv6
+!ENDIF
+
+!IF "$(USE_SSPI)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-sspi
+!ENDIF
+
+!IF "$(USE_WINSSL)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-winssl
+!ENDIF
+
+!MESSAGE configuration name: $(CONFIG_NAME_LIB)
+
+BUILD_DIR=../builds/$(CONFIG_NAME_LIB)
+LIBCURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-lib
+CURL_DIROBJ = ..\builds\$(CONFIG_NAME_LIB)-obj-curl
+DIRDIST = ..\builds\$(CONFIG_NAME_LIB)\
+
+$(MODE):
+       @IF NOT EXIST ..\include\curl\curlbuild.h ( \
+          CALL ..\buildconf.bat \
+       )
+       @SET DIROBJ=$(LIBCURL_DIROBJ)
+       @SET MACRO_NAME=LIBCURL_OBJS
+       @SET OUTFILE=LIBCURL_OBJS.inc
+       @gen_resp_file.bat $(LIBCURL_OBJS)
+
+       @SET DIROBJ=$(CURL_DIROBJ)
+       @SET MACRO_NAME=CURL_OBJS
+       @SET OUTFILE=CURL_OBJS.inc
+       @gen_resp_file.bat $(CURL_OBJS)
+
+       @SET CONFIG_NAME_LIB=$(CONFIG_NAME_LIB)
+       @SET MACHINE=$(MACHINE)
+       @SET USE_IDN=$(USE_IDN)
+       @SET USE_IPV6=$(USE_IPV6)
+       @SET USE_SSPI=$(USE_SSPI)
+       @SET USE_WINSSL=$(USE_WINSSL)
+       @$(MAKE) /NOLOGO /F MakefileBuild.vc
+
+copy_from_lib:
+       echo copying .c...
+       FOR %%i IN ($(CURLX_CFILES:/=\)) DO copy %%i ..\src\