Imported Upstream version 7.53.1
[platform/upstream/curl.git] / winbuild / MakefileBuild.vc
index b9e150c..96ab37e 100644 (file)
@@ -5,11 +5,11 @@
 #                            | (__| |_| |  _ <| |___\r
 #                             \___|\___/|_| \_\_____|\r
 #\r
-# Copyright (C) 1999 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.\r
+# Copyright (C) 1999 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.\r
 #\r
 # This software is licensed as described in the file COPYING, which\r
 # you should have received as part of this distribution. The terms\r
-# are also available at http://curl.haxx.se/docs/copyright.html.\r
+# are also available at https://curl.haxx.se/docs/copyright.html.\r
 #\r
 # You may opt to use, copy, modify, merge, publish, distribute and/or sell\r
 # copies of the Software, and permit persons to whom the Software is\r
@@ -22,7 +22,7 @@
 \r
 ###########################################################################\r
 #\r
-# Makefile for building libcurl with MSVC 6, 7, 8, 9, 10, 11 and 12\r
+# Makefile for building libcurl with MSVC 6, 7, 8, 9, 10, 11, 12 and 14\r
 #\r
 # Usage: see usage message below\r
 #        Should be invoked from winbuild directory\r
@@ -47,13 +47,19 @@ CFGSET=FALSE
 WINBUILD_DIR=`cd`\r
 ZIP        = zip.exe\r
 \r
+# Allow changing C compiler via environment variable CC (default cl.exe)\r
+# This command macro is not set by default: https://msdn.microsoft.com/en-us/library/ms933742.aspx\r
+!If "$(CC)" == ""\r
+CC = cl.exe\r
+!Endif\r
+\r
 !IF "$(VC)"=="6"\r
-CC_NODEBUG  = cl.exe /O2 /DNDEBUG\r
-CC_DEBUG    = cl.exe /Od /Gm /Zi /D_DEBUG /GZ\r
+CC_NODEBUG  = $(CC) /O2 /DNDEBUG\r
+CC_DEBUG    = $(CC) /Od /Gm /Zi /D_DEBUG /GZ\r
 CFLAGS     = /I. /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL\r
 !ELSE\r
-CC_NODEBUG  = cl.exe /O2 /DNDEBUG\r
-CC_DEBUG    = cl.exe /Od /D_DEBUG /RTC1 /Z7 /LDd /W3\r
+CC_NODEBUG  = $(CC) /O2 /DNDEBUG\r
+CC_DEBUG    = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd /W3\r
 CFLAGS      = /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL\r
 !ENDIF\r
 \r
@@ -117,10 +123,53 @@ USE_SSL      = true
 SSL          = static\r
 !ENDIF\r
 \r
+!IFNDEF USE_NGHTTP2\r
+USE_NGHTTP2  = false\r
+!ENDIF\r
+\r
 !IFDEF USE_SSL\r
-SSL_CFLAGS   = /DUSE_SSLEAY /I"$(DEVEL_INCLUDE)/openssl"\r
+SSL_CFLAGS   = /DUSE_OPENSSL /I"$(DEVEL_INCLUDE)/openssl"\r
+\r
+!IF "$(USE_NGHTTP2)"=="yes"\r
+USE_NGHTTP2  = true\r
+!ENDIF\r
+\r
+!IF "$(USE_NGHTTP2)"=="true"\r
+SSL_CFLAGS   = $(SSL_CFLAGS) /DUSE_NGHTTP2\r
+SSL_LIBS     = $(SSL_LIBS) nghttp2.lib\r
+!ENDIF\r
+\r
+!ENDIF\r
+\r
+!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static"\r
+USE_MBEDTLS    = true\r
+MBEDTLS        = $(WITH_MBEDTLS)\r
+MBEDTLS_CFLAGS = /DUSE_MBEDTLS\r
+MBEDTLS_LIBS   = mbedtls.lib mbedcrypto.lib mbedx509.lib\r
+!ENDIF\r
+\r
+\r
+!IF "$(WITH_CARES)"=="dll"\r
+!IF "$(DEBUG)"=="yes"\r
+CARES_LIBS     = caresd.lib\r
+!ELSE\r
+CARES_LIBS     = cares.lib\r
+!ENDIF\r
+USE_CARES      = true\r
+CARES          = dll\r
+!ELSEIF "$(WITH_CARES)"=="static"\r
+!IF "$(DEBUG)"=="yes"\r
+CARES_LIBS     = libcaresd.lib\r
+!ELSE\r
+CARES_LIBS     = libcares.lib\r
+!ENDIF\r
+USE_CARES      = true\r
+CARES          = static\r
 !ENDIF\r
 \r
+!IFDEF USE_CARES\r
+CARES_CFLAGS   = /DUSE_ARES /I"$(DEVEL_INCLUDE)/cares"\r
+!ENDIF\r
 \r
 !IF "$(WITH_ZLIB)"=="dll"\r
 ZLIB_LIBS   = zlib.lib\r
@@ -203,6 +252,7 @@ USE_WINSSL  = true
 !ERROR cannot build with WinSSL without SSPI\r
 !ENDIF\r
 SSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_SCHANNEL\r
+WIN_LIBS    = $(WIN_LIBS) Crypt32.lib\r
 !ENDIF\r
 \r
 \r
@@ -211,7 +261,7 @@ GEN_PDB = true
 !ENDIF\r
 \r
 \r
-!IFDEF EMBEND_MANIFEST\r
+!IFDEF EMBED_MANIFEST\r
 MANIFESTTOOL = mt -manifest $(DIRDIST)\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\$(PROGRAM_NAME);1\r
 !ENDIF\r
 \r
@@ -246,20 +296,14 @@ CFGSET = true
 \r
 !IF "$(DEBUG)"=="yes"\r
 RC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc\r
-CC              = $(CC_DEBUG) $(RTLIB_DEBUG)\r
-\r
-CURL_CC         = $(CC)\r
+CURL_CC       = $(CC_DEBUG) $(RTLIB_DEBUG)\r
 CURL_RC_FLAGS = /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc\r
 !ELSE\r
 RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc\r
-CC              = $(CC_NODEBUG) $(RTLIB)\r
-\r
-CURL_CC         = $(CC)\r
+CURL_CC       = $(CC_NODEBUG) $(RTLIB)\r
 CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc\r
 !ENDIF\r
 \r
-CURL_CC = $(CURL_CC) $(CURL_CFLAGS)\r
-\r
 !IF "$(AS_DLL)" == "true"\r
 \r
 LNK       = $(LNKDLL) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
@@ -287,7 +331,7 @@ TARGET   = $(LIB_NAME_STATIC)
 PDB      = $(PDB_NAME_STATIC)\r
 !ENDIF\r
 LNK      = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
-CC       = $(CC) $(CFLAGS_LIBCURL_STATIC)\r
+CURL_CC  = $(CURL_CC) $(CFLAGS_LIBCURL_STATIC)\r
 \r
 # AS_DLL\r
 !ENDIF\r
@@ -297,6 +341,16 @@ CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
 LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(SSL_LIBS)\r
 !ENDIF\r
 \r
+!IF "$(USE_MBEDTLS)"=="true"\r
+CFLAGS = $(CFLAGS) $(MBEDTLS_CFLAGS)\r
+LFLAGS = $(LFLAGS) $(MBEDTLS_LFLAGS) $(MBEDTLS_LIBS)\r
+!ENDIF\r
+\r
+!IF "$(USE_CARES)"=="true"\r
+CFLAGS = $(CFLAGS) $(CARES_CFLAGS)\r
+LFLAGS = $(LFLAGS) $(CARES_LFLAGS) $(CARES_LIBS)\r
+!ENDIF\r
+\r
 !IF "$(USE_ZLIB)"=="true"\r
 CFLAGS = $(CFLAGS) $(ZLIB_CFLAGS)\r
 LFLAGS = $(LFLAGS) $(ZLIB_LFLAGS) $(ZLIB_LIBS)\r
@@ -376,6 +430,8 @@ package: $(TARGET)
 \r
 $(TARGET): $(LIB_OBJS) $(LIB_DIROBJ) $(DISTDIR)\r
        @echo Using SSL: $(USE_SSL)\r
+       @echo Using NGHTTP2: $(USE_NGHTTP2)\r
+       @echo Using c-ares: $(USE_CARES)\r
        @echo Using SSH2: $(USE_SSH2)\r
        @echo Using ZLIB: $(USE_ZLIB)\r
        @echo Using IDN:  $(USE_IDN)\r
@@ -409,6 +465,7 @@ $(DIRDIST):
 \r
 $(LIB_DIROBJ):\r
        @if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ)\r
+       @if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth\r
        @if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls\r
 \r
 $(CURL_DIROBJ):\r
@@ -420,10 +477,13 @@ $(CURL_DIROBJ):
 .SUFFIXES: .c .obj .res\r
 \r
 {$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj:\r
-       $(CC) $(CFLAGS) /Fo"$@"  $<\r
+       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+\r
+{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj:\r
+       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
 \r
 {$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:\r
-       $(CC) $(CFLAGS) /Fo"$@"  $<\r
+       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
 \r
 $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc\r
        rc $(RC_FLAGS)\r
@@ -449,7 +509,6 @@ CURL_LIBCURL_LIBNAME=$(LIB_NAME_IMP)
 \r
 CURL_FROM_LIBCURL=$(CURL_DIROBJ)\tool_hugehelp.obj \\r
  $(CURL_DIROBJ)\nonblock.obj \\r
- $(CURL_DIROBJ)\rawstr.obj \\r
  $(CURL_DIROBJ)\strtoofft.obj \\r
  $(CURL_DIROBJ)\warnless.obj\r
  \r
@@ -458,14 +517,12 @@ $(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS)
        $(MANIFESTTOOL)\r
 \r
 {$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj:\r
-       $(CC) $(CURL_CFLAGS) /Fo"$@"  $<\r
+       $(CURL_CC) $(CURL_CFLAGS) /Fo"$@"  $<\r
 \r
 $(CURL_DIROBJ)\tool_hugehelp.obj: $(CURL_SRC_DIR)\tool_hugehelp.c\r
        $(CURL_CC) $(CURL_CFLAGS) /Zm200 /Fo"$@" $(CURL_SRC_DIR)\tool_hugehelp.c\r
 $(CURL_DIROBJ)\nonblock.obj: ../lib/nonblock.c\r
        $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/nonblock.c\r
-$(CURL_DIROBJ)\rawstr.obj: ../lib/rawstr.c\r
-       $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/rawstr.c\r
 $(CURL_DIROBJ)\strtoofft.obj: ../lib/strtoofft.c\r
        $(CURL_CC) $(CURL_CFLAGS) /Fo"$@" ../lib/strtoofft.c\r
 $(CURL_DIROBJ)\warnless.obj: ../lib/warnless.c\r